huikai

生于忧患,死于安乐


导入固件到虚拟机磁盘

命令: qm importdisk <vm_id> <固件文件> <存储池>

示例:

  1. root@pve:~# qm importdisk 106 /var/lib/vz/template/iso/lede.img local-lvm
  2. importing disk '/var/lib/vz/template/iso/lede.img' to VM 106 ...
  3. Rounding up size to full physical extent 180.00 MiB
  4. WARNING: You have not turned on protection against thin pools running out of space.
  5. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  6. Logical volume "vm-106-disk-0" created.
  7. WARNING: Sum of all thin volume sizes (124.35 GiB) exceeds the size of thin pool pve/data and the size of whole volume group (<118.74 GiB).
  8. transferred 0.0 B of 176.3 MiB (0.00%)
  9. transferred 2.0 MiB of 176.3 MiB (1.13%)
  10. ...
  11. transferred 176.3 MiB of 176.3 MiB (100.00%)
  12. Successfully imported disk as 'unused0:local-lvm:vm-106-disk-0'

硬盘直通

方式一: 直通硬盘控制器

1.进入pve网页后台,选择要直通的虚拟机

2.选择右侧硬件菜单

3.在右侧上方点击添加下拉框,选择PCI设备,弹出添加: PCI设备对话框

4.在对话框中,点击设备右边下拉框,选择要直通硬盘对应的控制器。

5.确认无误后,点击添加按钮

6.重启直通的虚拟机,在虚拟机查看硬盘是否直通成功

方式二: 直通单个硬盘

1.进入pve命令行

2.查看硬盘id

命令: ls -l /dev/disk/by-id/

硬盘id格式: <type>-$brand-$model_$serial_number

注意: 要找整个硬盘的id,不是分区。如sdasdb,不是sda1sdb1

示例:

  1. root@pve:~# ls -l /dev/disk/by-id/
  2. total 0
  3. lrwxrwxrwx 1 root root 9 May 1 01:07 ata-TOSHIBA_THNSNF128GMCS_334S10POTC5Y -> ../../sda
  4. lrwxrwxrwx 1 root root 10 May 1 01:07 ata-TOSHIBA_THNSNF128GMCS_334S10POTC5Y-part1 -> ../../sda1
  5. lrwxrwxrwx 1 root root 10 May 1 01:07 ata-TOSHIBA_THNSNF128GMCS_334S10POTC5Y-part2 -> ../../sda2
  6. lrwxrwxrwx 1 root root 10 May 1 09:29 ata-TOSHIBA_THNSNF128GMCS_334S10POTC5Y-part3 -> ../../sda3
  7. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-name-pve-root -> ../../dm-1
  8. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-name-pve-swap -> ../../dm-0
  9. lrwxrwxrwx 1 root root 10 May 3 16:17 dm-name-pve-vm--100--disk--0 -> ../../dm-6
  10. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-name-pve-vm--101--disk--0 -> ../../dm-7
  11. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-name-pve-vm--102--disk--0 -> ../../dm-9
  12. lrwxrwxrwx 1 root root 11 May 1 01:07 dm-name-pve-vm--103--disk--0 -> ../../dm-11
  13. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-name-pve-vm--104--disk--0 -> ../../dm-8
  14. lrwxrwxrwx 1 root root 11 May 1 01:07 dm-name-pve-vm--105--disk--0 -> ../../dm-10
  15. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMb2cIodc4uq2AtlwzZPZNpe0OZfTFCnQwC -> ../../dm-0
  16. lrwxrwxrwx 1 root root 11 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMbC8Va8Skg710Zs2MDeQhZ0Wc0iWpO5Qql -> ../../dm-11
  17. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMbevuNF1YRFnp4Nai7W0cXUv3iirvrSPgx -> ../../dm-8
  18. lrwxrwxrwx 1 root root 10 May 3 16:17 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMbF2QIe0IdcyF1HBQenUUveO3zY388xAkc -> ../../dm-6
  19. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMbGeHlaIr2idVsP0ETRe2RHvyqSc6rgeUe -> ../../dm-1
  20. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMbKkJc7Ip6Xq29csCzTGO54d3d3Zt1ZzVE -> ../../dm-7
  21. lrwxrwxrwx 1 root root 10 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMblIVIO0I2rCFhmU1LXaaczvf49qBMyXyc -> ../../dm-9
  22. lrwxrwxrwx 1 root root 11 May 1 01:07 dm-uuid-LVM-RUmFbjkdQYKMgc7qKNJmUxkZXcEE4hMbZncH4Wat5Z4B1vUlEpDWyJsrZDnbKqAy -> ../../dm-10
  23. lrwxrwxrwx 1 root root 10 May 1 09:29 lvm-pv-uuid-uuNqIl-dAgC-XLyd-SrkH-toRq-VXmY-xhm0ib -> ../../sda3
  24. lrwxrwxrwx 1 root root 9 May 1 01:07 usb-NORELSYS_106X_0123456789ABCDE-0:0 -> ../../sdb
  25. lrwxrwxrwx 1 root root 10 May 1 01:07 usb-NORELSYS_106X_0123456789ABCDE-0:0-part1 -> ../../sdb1
  26. lrwxrwxrwx 1 root root 10 May 1 01:07 usb-NORELSYS_106X_0123456789ABCDE-0:0-part2 -> ../../sdb2
  27. lrwxrwxrwx 1 root root 10 May 1 01:07 usb-NORELSYS_106X_0123456789ABCDE-0:0-part3 -> ../../sdb3
  28. lrwxrwxrwx 1 root root 10 May 1 01:07 usb-NORELSYS_106X_0123456789ABCDE-0:0-part4 -> ../../sdb4
  29. lrwxrwxrwx 1 root root 10 May 1 01:07 usb-NORELSYS_106X_0123456789ABCDE-0:0-part5 -> ../../sdb5

3.将硬盘直通给虚拟机

命令: qm set <vm_id> –<disk_type>{序号} /dev/disk/by-id/<硬盘id>

示例:

  1. root@pve:~# qm set 101 -sata0 /dev/disk/by-id/usb-NORELSYS_106X_0123456789ABCDE-0:0
  2. update VM 101: -sata0 /dev/disk/by-id/usb-NORELSYS_106X_0123456789ABCDE-0:0

4.进入登陆pve网页后台,选择对应虚拟机 -> 右侧硬件菜单 -> 查看右侧是否有对应的硬盘设备

5.重启直通的虚拟机,在虚拟机查看硬盘是否直通成功

LXC显卡直通

1.关闭要直通的CT容器

2.查看显卡设备

命令: ls -l /dev/dri/ls -l /dev/fb0

  1. root@pve:~# ls -l /dev/dri/
  2. total 0
  3. drwxr-xr-x 2 root root 80 May 1 01:07 by-path
  4. crw-rw---- 1 root video 226, 0 May 1 01:42 card0
  5. crw-rw---- 1 root render 226, 128 May 1 01:07 renderD128
  6. root@pve:~# ls -l /dev/fb0
  7. crw-rw---- 1 root video 29, 0 May 1 01:07 /dev/fb0

3.编辑CT虚拟机配置文件

命令: vim /etc/pve/lxc/<CT_ID>.conf

在文件最后加入如下内容:

  1. lxc.cgroup2.devices.allow: c 226:0 rwm
  2. lxc.cgroup2.devices.allow: c 226:128 rwm
  3. lxc.cgroup2.devices.allow: c 29:0 rwm
  4. lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
  5. lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file

4.重启CT容器

5.如果无法使用显卡

进入CT容器,检查显卡信息

  1. root@Debian:~# ls -l /dev/dri/
  2. total 0
  3. drwxr-xr-x 2 root root 80 Jan 15 13:56 by-path
  4. crw-rw---- 1 root video 226, 0 Jan 15 13:56 card0
  5. crw-rw---- 1 root input 226, 128 Jan 15 13:56 renderD128

如果其他用户对显卡没有读写权限

  1. root@Debian:~# cd /dev/dri/
  2. root@Debian:/dev/dri# chmod o-rwx card0 renderD128
  3. root@Debian:/dev/dri# ls -l /dev/dri/
  4. total 0
  5. drwxr-xr-x 2 root root 80 Jan 15 13:56 by-path
  6. crw-rw-rw- 1 root video 226, 0 Jan 15 13:56 card0
  7. crw-rw-rw- 1 root input 226, 128 Jan 15 13:56 renderD128

给pve服务器增加新的硬盘,在新的硬盘里安装新的pve,导致vg重命名无法进入原pve

1.恢复vg

  1. 查看vg列表

    1. root@Debian:~# vgscan
    2. Found volume group "pve" using metadata type lvm2
    3. Found volume group "pve-old" using metadata type lvm2
  2. 将当前vg重命名

    1. root@Debian:~# vgrename pve pve-new
    2. Volume group "pve" successfully renamed to "pve-new"
  3. 将原vg重命名pve

    1. root@Debian:~# vgrename pve-old pve
    2. Volume group "pve-lod" successfully renamed to "pve"

2.设置BOIS

将启动项设置为原pve



 Spring Boot笔记 CentOS安装Zerotier