初次接触PVE虚拟机和黑群晖

0、J4105/J4125 PVE Hdmi直通核显

0.1、主机型号

支持 J4105、J4125,核显型号为 UHD600
hdmi、vga(未尝试、一般可行)
需支持 vt-d
gk55、j4105 工控机测试可用

0.2、软件版本

pve 7.0-6 版本(截止 22-09-16 最新版本),其他版本未测试,原理相同,可自行尝试
windows ltsc 最新即可
intel 核显驱动需要26.20.100.7262,需特别注意此版本,高于这个版本会报 Code 43 错误

0.3、配置直通

编辑 GRUB 配置文件

nano /etc/default/grub

开启 IOMMU 支持

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"

如果是 AMD 的 CPU

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off"

更新 GRUB:

update-grub

添加所需的系统模块(驱动)

echo "vfio" >> /etc/modules
echo "vfio_iommu_type1" >> /etc/modules
echo "vfio_pci" >> /etc/modules
echo "vfio_virqfd" >> /etc/modules

接着添加模块(驱动)黑名单,即让 GPU 设备在下次系统启动之后不使用这些驱动,把设备腾出来给 vfio 驱动用:
Intel 核显:

echo "blacklist snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/pve-blacklist.conf

绑定核显到 vfio 模块
查看核显以及声卡的供应商和设备 ID:

lspci -n | grep -E "0300|0403"

回显如下:

00:02.0 0300: 8086:3185 (rev 03)
00:0e.0 0403: 8086:3198 (rev 03)

其中“8086:3185”和“8086:3198”分别就是核显和声卡的供应商 ID 和设备 ID,把它们绑定到 vifo 模块:

echo "options vfio-pci ids=8086:3185,8086:3198" > /etc/modprobe.d/vfio.conf

更新内核:

update-initramfs -u

重启机器:

reboot

重启上来之后检查模块是否正常加载:

lsmod | grep vfio

有类似回显说明正常:

vfio_pci               45056  1
vfio_virqfd            16384  1 vfio_pci
irqbypass              16384  13 vfio_pci,kvm
vfio_iommu_type1       24576  1
vfio                   28672  5 vfio_iommu_type1,vfio_pci

1、配置虚拟机

  • 创建虚拟机,安装成功之前不要选择开机自启动,防止直通冲突,和 pve 抢占硬件

  • 开机启动
  • 系统选择时,保持默认

  • 硬盘随意

  • cpu 类别选择 host

1.1、安装 windows

  • 初次安装不要直接直通,先安装好系统后关机再直通
  • 安装完成后不要连接 hdmi 接口

1.2、配置 pve 直通核显

  • pve 虚拟机硬件设置

  • 直通硬件
  • 由于不显示设备名称,所以需要安装上方 lspci 显示的设备 ID 添加

  • 00:02.0 是核显,00:0e.0 是声卡,均需直通给虚拟机

  • WIN10配置

1.3、安装驱动

  • 设置直通之后启动虚拟机,用远程桌面连接,安装过程中有几率蓝屏重启
  • 下载26.20.100.7262驱动https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=11xkd
  • 安装后重启、可在设备管理器中看到 UHD600 驱动可用
  • 26.20.100.7262之后的驱动均会报 Code 43 错误,已尝试过 26.20.100.7262+、27.20.x,均无效

1.4、驱动优化

1.4.1、驱动43解决

获取 RomFile
修改参数

hostpci0: 00:02.0,legacy-igd=1,romfile=HD600.bin

1.4.2、禁用驱动更新

  • Win+R 打开 gpedit.msc
  • 计算机配置 - 管理模板 - Windows 组件 - Windows 更新 - Windows 更新不包括驱动程序 - 启用

1.4.3、安装驱动后配置虚拟机

修改配置文件

nano /etc/pve/qemu-server/虚拟机id.conf

添加参数

args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=1 -set device.hostpci0.x-igd-opregion=on

vga: none

args 中 hostpci0 参数需要存在

hostpci0: 00:02.0

保存启动,连接 hdmi 接口
完成

1.4.4、优化设置

启用 QEMU Guest Agent

  • 虚拟机选项启用 QEMU
  • 下载驱动https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
  • 挂载 iso,安装 virtio-win-gt-x64
  • 安装 virtio-win-guest-tools
  • 如果挂载启动失败,先注释掉上方配置文件中的 args 和 vga 参数,安装后再启用

2、PVE虚拟机的一些技巧

2.1、PVE虚拟机的存储路径

Proxmox VE安装之后,有2个储存点。

其中vm储存的地方叫:local-lvm。
储存镜像。位置在/dev/pve

储存iso镜像的地方叫:local 。
直接点击local——内容——点击上传就可以上传ISO。 位置在/var/lib/vz/template/iso

2.2、使用命令将镜像转换为磁盘

把镜像转成虚拟磁盘并导入到虚拟机:选择“pve”节点 > shell > 输入以下命令并回车:

qm importdisk 103 /var/lib/vz/template/iso/syboboot.img local-lvm

shell会显示vm-103-disk-0虚拟磁盘创建的进度,最后显示‘Successfully imported disk as 'unused0:local-lvm:vm-103-disk-0'就是添加成功了。

2.3、PVE_7.1版本源更新

因PVE7.0更换了Debian11作为内核,软件源管理方式也发生了变更,故原软件源配置方法已失效。

默认是企业订阅版,如果不做修改,在使用 pveceph init 进行 ceph 初始化安装的时候会将整个环境破坏,切记!

登陆各节点Shell控制台
【重要】将/etc/apt/sources.list.d/pve-enterprise.list 文件内的唯一一条记录注释掉:

echo "#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list

Proxmox软件源更换
中科大源(二选一):

wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list     #中科大源
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-pacific bullseye main" > /etc/apt/sources.list.d/ceph.list     #中科大源
sed -i.bak "s#http://download.proxmox.com/debian#https://mirrors.ustc.edu.cn/proxmox/debian#g" /usr/share/perl5/PVE/CLI/pveceph.pm     #中科大源
apt update && apt dist-upgrade     #更新软件,可不执行

Proxmox中文社区源(二选一):

wget http://download.proxmox.wiki/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
echo "deb http://download.proxmox.wiki/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list     #Proxmox中文社区源
echo "deb https://download.proxmox.wiki/debian/ceph-pacific bullseye main" > /etc/apt/sources.list.d/ceph.list     #Proxmox中文社区源
sed -i.bak "s#http://download.proxmox.com/debian#https://download.proxmox.wiki/debian#g" /usr/share/perl5/PVE/CLI/pveceph.pm     #Proxmox中文社区源
apt update && apt dist-upgrade     #更新软件,可不执行
Debian系统源更换

阿里Debian源(二选一):

sed -i.bak "s#ftp.debian.org/debian#mirrors.aliyun.com/debian#g" /etc/apt/sources.list     #阿里Debian源
sed -i "s#security.debian.org#mirrors.aliyun.com/debian-security#g" /etc/apt/sources.list     #阿里Debian源
apt update && apt dist-upgrade     #更新软件,可不执行

163-Debian源(二选一):

sed -i.bak "s#ftp.debian.org/debian#mirrors.163.com/debian#g" /etc/apt/sources.list     #163Debian源
sed -i "s#security.debian.org#mirrors.163.com/debian-security#g" /etc/apt/sources.list     #163Debian源
apt update && apt dist-upgrade     #更新软件,可不执行

删除订阅弹窗

sed -Ezi.bak "s/(Ext.Msg.show({\s+title: gettext('No valid sub)/void({ //\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
执行完成后,浏览器Ctrl+F5强制刷新缓存

3、MAC系统下的一些技巧

3.1、Mac OS系统下制作启动U盘

在Mac OS系统下不需要安装任何第三方软件,可以很方便地用自带的dd命令将iso镜像写入u盘。

找出U盘挂载的路径

diskutil list

将U盘unmount(将N替换为挂载路径)

diskutil unmount Disk /dev/disk[N]

写入U盘

sudo dd if=iso路径 of=/dev/rdisk[N] bs=1m

rdisk 中加入r可以让写入速度加快

将u盘备份到iso镜像

sudo dd if=/dev/rdisk[N] of= iso路径 bs=1m

销毁磁盘数据

dd if=/dev/urandom of=/dev/hda1
注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。

测试硬盘的读写速度

dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。

3.2、格式化U盘

1.查看盘符列表,找到需要格式化的U盘

$ diskutil list

2.卸载分区disk2

$ diskutil unmountDisk /dev/disk2

3.格式化disk2为JHFS+格式同时命名为Upan

$ diskutil eraseDisk JHFS+ Upan disk2

4、PVE虚拟机平台密码忘记,找回!

4.1、千万不要太相信自己的大脑

随着时间的推移,照片和书籍都会慢慢变色、褪色,人的记忆亦是如此,尤其对于没有备份或者找回的东西,一定要做好保存。当然你也可以像现在一样,先了解找回方式~

4.2、准备PVE启动U盘

U盘启动

使用DeBug模式进入系统。

4.3、Ctrl+D确认启动DeBug模式

手动进入DeBug模式

4.4、验证LVM、激活并挂载

验证LVM
#查看VG,输出应该是有VG PVE
vgs
#查看LV,查看 data root 
lvs
#激活VG
vgchange -a y 
激活VG
#挂载lvm
mount /dev/mapper/pve-root /mnt
#换根目录chroot
chroot /mnt
挂载、更换根目录
#修改root密码,更改完成密码重启服务器
passwd root

你可能感兴趣的:(初次接触PVE虚拟机和黑群晖)