ProxmoxVE操作指南(已更新至pve9)
pve 使用笔记
安装教程太多而且傻瓜式,直接略过
PVE 第三方手机客户端:点此下载 ProxMon (墙裂建议安装 比官方的强太多)
pve 初始设置
设置默认 GUI 语言
1 | nano /etc/pve/datacenter.cfg |
添加
1 | language: zh_CN |
换源
更换 debian 源
1 | echo -e '\n\nTypes: deb |
检查
1 | nano /etc/apt/sources.list.d/debian.sources |
更换 pve 源
1 | echo -e '\n\nTypes: deb |
添加完成后在 webui 将 pve 默认的企业源禁用 (一定要禁用否则会有 401 报错)
更新软件包
1 | apt update |
CT 模板换源
在 pve 控制台执行
1 | sed -i.bak 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm |
重启服务
1 | systemctl restart pvedaemon.service |
去除无效订阅弹窗
进入 shell 粘贴并回车
1 | wget https://github.com/Jamesits/pve-fake-subscription/releases/download/v0.0.11/pve-fake-subscription_0.0.11+git-1_all.deb |
1 | chmod +x pve-fake-subscription_0.0.11+git-1_all.deb |
1 | dpkg -i pve-fake-subscription_0.0.11+git-1_all.deb |
卸载
1 | apt purge pve-fake-subscription |
网卡 mac 绑定网卡名称
固定网卡 mac 和名称是为了防止 pci 设备变动导致网卡名称变动从而引发的 pve 失联问题
ip addr 查找类似于enp3s0
的网卡名称,一般为enp
开头,不一定是enp3s0
,有可能是enp4s0
把网卡后边的 mac 地址复制下来
创建
1 | nano /etc/systemd/network/10-persistent-net.link |
粘贴进去11:22:33:44:55:66
为上一步复制的 mac 地址,根据自身情况修改
1 | [Match] |
修改网卡名称
1 | nano /etc/network/interfaces |
保存
1 | ctrl + s |
硬件直通
开启 iommu 直通
前提 bios 开启 vt-d
1 | nano /etc/default/grub |
注释
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet" |
换行粘贴
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" |
保存
更新 grub
1 | update-grub |
如未生效请重启
加载 vifo 模块
1 | nano /etc/modules |
1 | vfio |
常用存储路径
备份路径
1 | /var/lib/vz/dump |
镜像路径
1 | /var/lib/vz/template/iso |
Lxc 容器设置
修改 lxc 容器配置
在 pve 控制台编辑容器配置文件
1 | nano /etc/pve/lxc/[CT_ID].conf |
粘贴
1 | lxc.apparmor.profile: unconfined |
启用核显
在 pve 控制台执行
1 | nano /etc/pve/lxc/[CT_ID].conf |
填入参数
1 | lxc.cgroup2.devices.allow: c 226:0 rwm |
进入容器
检查是否直通成功
1 | cd /dev/dri |
换 Debian 源
1 | nano /etc/apt/sources.list |
注释原地址,粘贴下方源地址
1 | deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware |
保存
1 | ctrl + x |
更新
1 | apt update |
虚拟机设置
修改虚拟机配置
1 | nano /etc/pve/qemu-server/[VM_ID].conf |
硬盘直通
直通硬盘
查询硬盘识别码
1 | ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part |
1 | qm set [VM_ID] --scsi[x] /dev/disk/by-id/[硬盘_ID] |
删除直通的硬盘
1 | qm set [VM_ID] -delete scsi[x] |
虚拟机其他意外情况
以下命令均在 pve shell 执行
虚拟机或容器假死无法关机
查询虚拟机进程
1 | ps -ef|grep "/usr/bin/kvm -id [VM_ID]" |grep -v grep |
1 | kill [进程_ID] |
虚拟机被锁定
1 | qm unlock [VM_ID] |
挂载 NAS 存储目录
(建议使用 NFS 挂载)(SMB 也可以,二选一) (虚拟机和 lxc 容器通用)
挂载 NFS 共享目录
安装 NFS 组件,并创建共享目录
1 | apt-get install nfs-common |
设置开机自动挂载 NFS
1 | nano /etc/fstab |
[SERVER_IP]
=NFS 存储服务器 ip[SHARE_DIR]
=NFS 共享目录[MOUNT_POINT]
=本地挂载点
参考示例(不包含中括号)
1 | [SERVER_IP]:/[SHARE_DIR] /[MOUNT_POINT] nfs defaults 0 0 |
示例
1 | 10.0.0.220:/mnt/pool01/download /mnt/download nfs defaults 0 0 |
保存并关闭Ctrl + X
,然后输入 Y
并按 Enter
键确认保存
重启并重新验证是否开机自动挂载成功
1 | df -h |
挂载 SMB 共享目录
安装 SMB 组件,并创建共享目录
1 | apt install cifs-utils -y |
创建密码文件
1 | nano ~/.smbcredentials |
设置 SMB 账号密码,自行替换[username]
[password]
不包含中括号
1 | username=[username] |
修改自动挂载文件
1 | nano /etc/fstab |
[SERVER_IP]
=SMB 存储服务器 ip[SHARE_DIR]
=SMB 共享目录[MOUNT_POINT]
=本地挂载目录
参照示例(不包含中括号)
1 | //[SERVER_IP]/[SHARE_DIR] /[MOUNT_POINT] cifs credentials=/root/.smbcredentials,iocharset=utf8 0 0 |
示例
1 | //10.0.0.220/nas /mnt/nas cifs credentials=/root/.smbcredentials,iocharset=utf8 0 0 |
保存并关闭Ctrl + X
,然后输入 Y
并按 Enter
键确认保存
重启并重新验证是否开机自动挂载成功
1 | df -h |
docker 安装
不同网络安装时间不同,多等一会就好
1 | apt install curl -y |
dockge 安装
创建存储你的堆栈和 Dockge 堆栈的目录
1 | mkdir -p /opt/stacks /opt/dockge |
下载 compose.yaml
gitee 镜像
1 | curl https://gitee.com/ifwwww/dockge/raw/master/compose.yaml --output compose.yaml |
github
1 | curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml |
启动服务器
1 | docker compose up -d |