假期赶在回家之前,搞了个魔方M600小主机。

配置还不够错1,并且还是双网口。等以后有机会了,把NAS上的服务尽量都迁移过来。

在这里,简单记录一下安装和使用Proxmox过程中的问题。

安装

安装中遇到的第一个问题,就是Proxmox 无法顺利安装。无论是7.3,7.2,还是6.x系列,开机后能进入准备界面,但是无法顺利进入安装流程。

后来才发现是Proxmox默认的GPU识别和驱动加载的问题,修改之后就能顺利安装了2

chmod 1777 /tmp   
apt update
apt upgrade
Xorg -configure   
mv /xorg.conf.new /etc/X11/xorg.conf
vim /etc/X11/xorg.conf 
# update Driver "amdgpu"-> "fbdev" <-be sure to get all instances in the case of a multi-head card which tripped me up initially. 
startx

使用

去掉烦人的订阅提醒

修改/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js文件,将其中的Ext.Msg.show修改为Ext.Msg.noshow即可。

注意保存备份。

VIM / VI系列软件里,可以用/进行搜索跳转。

安装 Ubuntu 虚拟机

如果配置Docker环境,还是选用虚拟机吧。之前尝试过LXC容器,但是被特权配置搞得一团糟。考虑到现在的电脑配置都不在乎这点性能差异了,索性直接上个虚拟机吧。

同时备注一下LXC 容器 安装的几个注意事项

  1. 选择创建CT按钮,设定ID主机名和root密码。注意,为了后续挂载SMB文件夹,建议去掉无特权的容器后面的单选框。
  2. 磁盘标签页里,将根存储设定为主硬盘。
  3. 网络标签页里,设定固定的IPV4地址,以及网关。
  4. 容器建好之后,先去选项-功能中,勾选上SMB/CIFS功能。另外,也可以打开开机自启动

安装的时候,注意一下设定固定的IPV4地址,其他的内容基本上默认就可以了。

进去系统安装界面时,可以设定一下代理地址、导入GiHub的用户key,这样方便后续安装和升级。

Ubuntu 系统

QEMU代理

在Proxmox VE中,qemu代理主要用于两件事:

1、正确关闭虚拟机,而不是依赖ACPI命令或Windows策略

2、在进行备份时冻结来宾文件系统(在Windows上,使用卷影复制服务VSS)。

如果想用,不仅需要在pve里开启这个选项,还需要手动安装。

apt-get install qemu-guest-agent -y

修改更新源地

由于默认模板使用ubuntu官方更新源,在境内进行系统更新非常费劲。因此可以换成常见的国内源。这里以中科大源为例。一般将/etc/apt/sources.list文件中Ubuntu默认的源地址http://archive.ubuntu.com/替换为http://mirrors.ustc.edu.cn/ 即可。

# 备份原文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list
# 建议运行一次更新
apt update
apt upgrade

如果在安装的过程中,修改过更新源,这里应该已经是修改之后的地址了。

挂载SMB

前面提到需要打开特权模式,并增加SMB/CIFS支持,就是为了能顺利挂载SMB文件夹。

为了方便开机自动挂载,选择将相关信息加入/etc/fstab文件中。

//{网络文件夹} /{挂载点} smb3 username={username},password={password},rw,users,dir_mode=0777,file_mode=0777 0 0

这里考虑到Proxmox中的Ubuntu LXC模版中缺少好用的编辑器,建议使用nano软件进行修改编辑(其实是因为我用的Safari处理ESC键有问题,VI/VIM用起来极其不方便而已)。

Docker

安装Docker

安装流程可以参考官方教程

# 安装依赖
sudo apt install ca-certificates curl gnupg lsb-release -y 
# 增加Docker官方仓库的key
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 增加官方仓
sudo echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


# 安装Docker
sudo apt update
# 这里,可设置apt代理进行安装
# apt -o Acquire::http::proxy="http://192.168.2.122:1080/" install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y 
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y 

安装Docker管理软件 Portainer

注意,如果坚持使用LXC容器,那么在特权模式下运行docker命令,需要加上--privileged选项。如:

docker run --privileged  hello-world

为方便管理容易,建议安装portainer。

docker run -d -p 8000:8000 -p 9000:9000 --name=Portainer --restart=always --pull=always -v /var/run/docker.sock:/var/run/docker.sock -v ~/portainer/data:/data portainer/portainer-ee:latest

注意,上面的portainer/portainer-ee为商业版,需要许可证.

考虑到Docker仓库在境外,为方便拉取镜像,可以考虑为docker pull添加代理。因为docker pull是运行在dockerd的环境中。而这个环境,受systemd管控,因此实际是systemd的配置。

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf

在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

然后重载systemd并重启dockerd生效。

sudo systemctl daemon-reload
sudo systemctl restart docker

更具体的代理设置,可参考《Docker的三种网络代理配置》

参考

This Cute World

BUBU 知識庫 & 秉迅資訊.Studio


  1. CPU:AMD R7-6800H。自己加了64G内存和2T硬盘。 ↩︎

  2. 感谢 Raspberry Pi at Home和好友的帮助。 ↩︎