Proxmox VE(PVE) 学习笔记(一)

一,基础设置及开启硬件直通

偷懒的方法使用pvetools工具

执行命令

进入Proxmox VE系统的SSH,或直接进入PVE管理网页Shell,以下命令操作都是通过Shell执行

rm /etc/apt/sources.list.d/pve-enterprise.list

export LC_ALL=en_US.UTF-8

wget https://gitee.com/ivanhao1984/pvetools/raw/master/pvetools.sh

chmod +x ./pvetools.sh

./pvetools.sh

pvetools工具下载地址

手动方式

Intel CPU

修改grub 

编辑文件/etc/default/grub 

修改行“GRUB_CMDLINE_LINUX_DEFAULT=“quiet” 

使其为“GRUB_CMDLINE_LINUX_DEFAULT=“quiet intel_iommu=on” 

使用update-grub更新

 验证其有效性,从命令行运行“dmesg | grep -e DMAR -e IOMMU”。如果没有输出,则出现问题。极有可能是bios设置的问题,需要启动cpu的vt-x支持。


vi /etc/default/grub

找到  GRUB_CMDLINE_LINUX_DEFAULT="quiet"

修改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

update-grub

dmesg | grep -e DMAR -e IOMMU


AMD CPU

修改grub

编辑文件/etc/default/grub

修改行“GRUB_CMDLINE_LINUX_DEFAULT=“quiet”

使其为“GRUB_CMDLINE_LINUX_DEFAULT=“quiet amd_iommu=on”

使用update-grub更新

验证其有效性,从命令行运行“dmesg | grep -e DMAR -e IOMMU”。如果没有输出,则出现问题。极有可能是bios设置的问题,需要启动cpu的vt-x支持。

新增所需模块

修改文件/etc/modules,加入如下的行

vi /etc/modules

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

执行命令来更新initramfs

update-initramfs -u -k all.

命令模式添加网卡

查询网卡信息

lspci | grep -i ethernet

使用命令找到网卡PCI的地址,地址应采用以下形式:01:00.0

打开文件进行手工添加

集群:/etc/pve/nodes/你的集群名称/qemu-server/虚拟机id.conf

PCI:/etc/pve/qemu-server/vmid.conf

PCIE: /etc/pve/qemu-server/.conf


查找网卡ID

lspci | grep net

或者

lspci

添加PCI

vi /etc/pve/qemu-server/vmid.conf

添加一个pci地址: 

hostpci0: 01:00.0

添加多个pci地址方式1: 

hostpci0: 01:00.0;01:00.1

添加多个pci地址方式2: 

hostpci0: 01:00.0

hostpci1: 01:00.1

添加统称所有pci地址,自动传递所有功能: 

hostpci0: 01:00

添加PCIE

vi /etc/pve/qemu-server/111.conf

machine: q35

hostpci0: 01:00.0,pcie=1


web页面模式添加 

硬件->添加,选择PCI设备->选择,完成 

如需更改为PCIE,可设置机器为q35 

 如果添加了PCI设备开启虚拟机正常使用那后面的就不需要看了

 如果添加了PCI设备无法开启虚拟机的话需要允许不安全的中断 

 先验证IOMMU是否有效 

再查看IOMMU是否可以中断重映射 

后启用中断重映射,允许不安全的中断

验证IOMMU有效

要让pci passthrough正常工作,您需要为您的pci设备提供专用的iommu组

find / sys / kernel / iommu_groups / -type l

输入命令后有相关东西输出,则表示正常

如果没有则需要进行IOMMU中断重映射,只有每个IOMMU都支持中断重映射,才会启用中断重映射。

IOMMU中断重映射

没有中断重映射就不可能使用PCI passthrough。

对于KVM用户,设备分配将失败,出现’Failed to assign device "[device name]"的错误,即“无法分配设备”[设备名称]“:操作不允许”错误,并且’未找到中断重映射硬件,将设备传递到非特权域是不安全的。

不支持中断重映射的系统:

所有使用AMD处理器和芯片组的系统都支持AMD I / O虚拟化(AMD-Vi)。这种硬件具有中断重映射支持; 但是,上游尚未提供软件支持。

所有使用英特尔处理器和芯片组的系统都支持英特尔定向I / O虚拟化技术(VT-d),但不支持中断重映射。新的处理器和芯片组提供了中断重映射支持。要确定您的系统是否支持中断重映射:

查看中断重映射

运行“dmesg | grep ecap”命令。

在IOMMU行上,“ecap”之后的十六进制值表示是否支持中断重映射。如果该值的最后一个字符是8,9,a,b,c,d,e或f,则支持中断重映射。例如,“ecap 1000”表示没有中断重映射支持。“ecap 10207f”表示中断重映射支持,因为最后一个字符是“f”。

启用中断重映射

官方文档是这个

If your system doesn’t support interrupt remapping,

you can allow unsafe interrupts with:

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf

或者添加驱动黑名单

vi /etc/modprobe.d/pve-blacklist.conf

文件里面添加一行

options vfio_iommu_type1 allow_unsafe_interrupts=1

来启用不安全的中断

之后就可以通过图形化界面执行PCIE设备的直通操作了

Proxmox VE 直通硬盘有两种方式

方法一:通过命令映射直通单块硬盘;

方法二:添加 PCI设备,直通 SATA Controller(SATA 控制器)。

方法一:通过命令映射直通单块硬盘

查看磁盘ID

ls -l /dev/disk/by-id/

注:ata、mmc等…表示接口方式,通常有ATA、SATA、SCS、NVME、eMMC和SASI等类型。IDE和SATA接口一般为“ata”,SCSI及SAS接口一般为”scsi“

导入虚拟机 

 qm set <vm_id> –<disk_type>[n] /dev/disk/by-id/<type>-$brand-$model_$serial_number 

 <vm_id> : 为创建虚拟机时指定的VM ID。 

 <disk_type>[n]: 导入后的磁盘的总线类型及其编号,总线类型可以选择IDE、SATA、VirtIO Block和SCSI类型,编号从0开始,最大值根据总线接口类型有所不同,IDE为3,SATA为5,VirTIO Block为15,SCSI为13。 /dev/disk/by-id/-brand-brand−model_$serial_number : 为磁盘ID的具体路径和名称。

 按照我硬盘的参数举例: 如上方的硬盘数据 ata-ST4000VX000-2AG166_ZGY163KG 为例,将此硬盘直通给VM ID编号为102的虚拟机下,总线类型接口为sata2(请根据PVE虚拟机下的总线编号设置)

 qm set 102 -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG

显示返回信息 

 update VM 102: -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG 

 为直通成功

方法二:添加 PCI设备,直通 SATA Controller(SATA 控制器)

PVE系统直通SATA Controller(SATA 控制器),会把整个sata总线全部直通过去,就是直接将南桥或者直接把北桥连接的sata总线直通,那么有些主板sata接口就会全部被直通。

注意:如果您的PVE系统是安装在SATA的硬盘中,会导致PVE系统无法启动,所以在直通 SATA Controller(SATA 控制器),之前请先确认自己的PVE系统安装位置,或者直接将系统安装在 NVMe 硬盘中。

在开始之前请先开启IOMMU硬件直通功能后,执行下一步添加 SATA Controller(SATA 控制器)操作。

1.确认自己的主板CPU是否支持Vt-d功能

不支持就搞不了直通。intel要b75以上芯片组才支持。也就是说intel4代酷睿处理器以上,都支持。amd不明。VT-D是io虚拟化。不是VT-X。

有很多新手,以为主板开启虚拟化功能,就能直通,非也。要开启vt-d才能io虚拟化。AMD平台是iommu,某些OEM主板上叫SRIOV。请注意。

2.开启iommu

#编辑grub,请不要盲目改。根据自己的环境,选择设置

vi /etc/default/grub

#在里面找到:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

#如果是intel cpu修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

#如果是amd cpu请改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

#如果是需要显卡直通,建议在cmdline再加一句video=vesafb:off video=efifb:off video=simplefb:off,加了之后,pve重启进内核后停留在一个画面,这是正常情况

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafb:off video=efifb:off video=simplefb:off"

修改完成之后,直接更新grub

update-grub

注意,如果此方法还不能开启iommu,请修改

/etc/kernel/cmdline文件

并且使用proxmox-boot-tool refresh 更新启动项

3.加载相应的内核模块

echo vfio >> /etc/modules

echo vfio_iommu_type1 >> /etc/modules

echo vfio_pci >> /etc/modules

echo vfio_virqfd >> /etc/modules

#更新内核参数

update-initramfs -k all -u

#重启主机

reboot

4.验证是否开启iommu

重启之后,在终端输入

dmesg | grep iommu

出现如下例子。则代表成功

[ 1.341100] pci 0000:00:00.0: Adding to iommu group 0

[ 1.341116] pci 0000:00:01.0: Adding to iommu group 1

[ 1.341126] pci 0000:00:02.0: Adding to iommu group 2

[ 1.341137] pci 0000:00:14.0: Adding to iommu group 3

[ 1.341146] pci 0000:00:17.0: Adding to iommu group 4

此时输入:

find /sys/kernel/iommu_groups/ -type l

#出现很多直通组,就代表成功了。如果没有任何东西,就是没有开启

选择需要设置的PVE系统,点击 硬件 > 添加 > PCI设备 > 选择 SATA Controller(SATA 控制器),最后点击“添加”把 SATA Controller(SATA 控制器)添加给相应的系统后,完成重启,PVE硬件直通的设置就生效了。

二,用通用脚本换源 GNU/Linux 一键更换系统软件源脚本

执行命令

bash <(curl -sSL https://linuxmirrors.cn/main.sh)

LinuxMirrors: GNU/Linux 一键更换系统软件源脚本 (gitee.com)

Docker 一键安装(额外脚本)

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容