PVE安装以及简单设置教程(个人记录)

PVE安装以及简单设置教程(个人记录)

前言

人往往不能动心思,无论是在工作中也好、在生活中也好、在爱情的两人相处中也好,一旦动了心思,往往收不住,就会往你动心思的方向越走越远。

之前一直在想要配个虚拟机平台来学习(哈!!!),这个念头一动起来,真是收不住,尽管自己有软件路由、有NAS群晖、有玩客云、有ubuntu服务器,但都是各用各的,用来运行虚拟机平台都不够,天天想、天天看,真按不下这心思,于是用600元的成本配了一个裸机,开放式,无机箱。配置如下

  • 主板:精粤X99,支持来电自启动,这点很重要,不然要另配一个开机卡
  • CPU:E5 2666 V3,十核20线程,主频和线程够用,就是功耗有点高,主板加CPU共231元
  • 内存:镁光DDR3,32G 1600,*2,共64G ,作为虚拟机平台这怕是最小的内存了吧。两条共112元,
  • 散热:6铜管2011服务器CPU散热器,买来才知道,太高了,17分高,一般机箱装不下,还好本来就打算开放式的,64元。
  • SSD:金储星M.2SSD,512G,175元,
  • 电源是本地电脑公司淘的30元,400瓦,够用了
  • 其他一样没配

合计:612元,对于一个折腾的人来说,用这点钱给自己一个开心的理由,一点也不过份,不要等到最后无心了,折腾不起了再动心思。

男人的快乐其实很简单,做爱做的事(:))。。。

平台选择

出名的平台好几个,对个人好用的应该是EXSI 和PVE了,对比了下,选择PVE

相关对比不一一列举,网上多的是

下载及安装

1. PVE(Proxmox VE) 下载地址

https://www.proxmox.com/en/downloads

最新版是8.3-1,下载来后安装不上,好像是哪里小了。最后安装的是7.3.4,然后再升级到8.3-1

2. 安装

配置了好几个硬盘、U 盘的Ventoy,直接将ISO复制到硬盘或U盘中,设置从硬盘或U 盘启动,键盘和显示器用电脑的,用过就不用了。

启动后选择PVE7.3.4的ISO镜像

安装中会设置 国家、时区、局域网IP和密码等 ,一一设置后,安装,静等完成。

完成后显示

1
pve login:

就可以登陆了,这是基于debian 的一个独立系统,如果有linux使用经验,其实很好用,恰好有多年使用。

Web Gui

另有WEB端管理界面,访问地址:

https://192.169.1.X:8006 # 注意! 地址前面一定要加 https

功能丰富,慢慢琢磨。

更换国内源:

先备份

1
mv /etc/apt/sources.list /etc/apt/sources.list.bk

编辑 sources.list

1
nano /etc/apt/sources.list

粘贴:,一般我用清华源和中科大的源,比较快而且全:

中科大:https://mirrors.ustc.edu.cn/proxmox/,

清华:https://mirror.tuna.tsinghua.edu.cn/proxmox/,可下载ISO等

1
2
3
4
5
6
7
8
9
10
11
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free

# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free

deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free

# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free

# deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free

# deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free

安装虚拟机

上传ISO

选中PVE下的local(pve)——> ISO镜像,或是其他存储中,上传ISO或者从网络上直接下载,上传好后,在创建虚拟机中就可以选择ISO镜像了

创建虚拟机,

硬盘直通

虚拟机直通硬盘

Proxmox VE直通硬盘相对简单。有2种方式的实现。

RDM是引用于VMware的裸磁盘映射。

将单个硬盘或者分区,通过qemu进行映射到虚拟机。在KVM上没有找到类似技术的名词,所以用RDM代名。

通过这种方式,硬盘会在虚拟机内会认为是一个qemu-hdd。

2、磁盘控制器直通

在DAS架构中,硬盘都是连接到硬盘控制器(Nvme除外),由硬盘控制器管理。因此直通了磁盘控制器,就会让磁盘控制器下的所有硬盘间接直通到虚拟机。

通过这种方式,硬盘会在虚拟机内会认为是一个物理磁盘,具有smart属性。

一、RDM磁盘直通

RDM磁盘直通,不需要开启iommu。只能在PVE命令行中添加。

我们可以通过下面命令,列出当前的硬盘列表

1
ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part

如下面的例子

1
2
3
4
5
6
7
8
9
10
11
12
root@pve:~# ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part
total 0
drwxr-xr-x 2 root root 540 Apr 28 16:39 .
drwxr-xr-x 6 root root 120 Mar 3 15:52 ..
lrwxrwxrwx 1 root root 13 Apr 28 16:39 nvme-eui.01000000010000005cd2e431fee65251 -> ../../nvme2n1
lrwxrwxrwx 1 root root 13 Mar 3 15:52 nvme-eui.334843304aa010020025385800000004 -> ../../nvme1n1
lrwxrwxrwx 1 root root 13 Apr 28 17:36 nvme-eui.334843304ab005400025385800000004 -> ../../nvme0n1
lrwxrwxrwx 1 root root 13 Apr 28 16:39 nvme-INTEL_SSDPE2KX020T8_BTLJ039307142P0BGN -> ../../nvme2n1
lrwxrwxrwx 1 root root 13 Mar 3 15:52 nvme-SAMSUNG_MZWLL800HEHP-00003_S3HCNX0JA01002 -> ../../nvme1n1
lrwxrwxrwx 1 root root 13 Apr 28 17:36 nvme-SAMSUNG_MZWLL800HEHP-00003_S3HCNX0JB00540 -> ../../nvme0n1
lrwxrwxrwx 1 root root 9 Mar 3 15:52 scsi-35000c500474cd7eb -> ../../sda
lrwxrwxrwx 1 root root 9 Mar 3 15:52 wwn-0x5000c500474cd7eb -> ../../sda

nvme开头的是nvme硬盘,ata开头是走sata或者ata通道的设备。,scsi是scsi设备-阵列卡raid或者是直通卡上的硬盘。

我们可以通过

1
qm set <vmid> --scsiX /dev/disk/by-id/xxxxxxx

进行RDM直通
例如你有一个虚拟机,虚拟机的vmid是101,–scsiX,这里的X是整数,最多为如果你不清楚vmid这个是什么含义,你可以参考下面文章

你打算直通intel的一个nvme硬盘,那么你可以使用下面命令

1
qm set 101 --scsi1 /dev/disk/by-id/nvme-INTEL_SSDPE2KX020T8_BTLJ039307142P0BGN

执行之后,你可以在面板中看到下面这个硬盘。

img

当然,你也可以使用ide或者sata形式直通硬盘,如下

1
2
qm set 101 --sata1 /dev/disk/by-id/nvme-INTEL_SSDPE2KX020T8_BTLJ039307142P0BGN
qm set 101 --ide1 /dev/disk/by-id/nvme-INTEL_SSDPE2KX020T8_BTLJ039307142P0BGN

建议为scsi设备,这样性能理论上是最优秀的。

需要注意的是,scsi会有序号,如scsi1,scsi0。在操作之前,应该要知道哪些scsi号是空的。对于pve来说,sata最多有6个设备。如果要使用sata类型直通,请勿超过sata5.

如果需要取消直通,可以使用命令qm set <vmid> --delete scsiX

如上面的例子,你应该输入

1
qm set 101 --delete scsi1

出现update 即代表成功。可返回网页上查看。

1
2
root@pve:~# qm set 101 --delete scsi1
update VM 101: -delete scsi1

二、磁盘控制器直通

磁盘控制器直通之后,虚拟机可以获得全部的磁盘属性。

需要注意的是,你需要多个磁盘控制器,且Proxmox VE系统安装在非需要直通的硬盘控制器上,否则会将系统直通给虚拟机,导致系统崩溃。

2.1 查找硬盘控制器

如何查询本机的硬盘控制器,可以通过lspci命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
root@pve1:~# lspci 
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 0a)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 0a)
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1d.2 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #11 (rev f1)
00:1d.3 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #12 (rev f1)
00:1f.0 ISA bridge: Intel Corporation B150 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
01:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3]
02:00.0 SCSI storage controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
03:00.0 Non-Volatile memory controller: Intel Corporation SSD Pro 7600p/760p/E 6100p Series (rev 03)
04:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
06:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller

其中00:17是sata控制器,02:00是scsi 直通卡。一般来说,带SCSI SATA字样的都是磁盘控制器。

1
2
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)
02:00.0 SCSI storage controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

2.2 查看硬盘所属硬盘控制器

如果你有多块硬盘,且不知道硬盘属于哪个控制器,你可以通过下面命令查看。

1
2
3
4
5
6
7
8
9
ls -la /sys/dev/block/|grep -v loop |grep -v dm
root@pve1:~# ls -la /sys/dev/block/|grep -v loop |grep -v dm
total 0
drwxr-xr-x 2 root root 0 May 6 16:08 .
drwxr-xr-x 4 root root 0 May 6 16:08 ..
lrwxrwxrwx 1 root root 0 May 6 16:08 8:80 -> ../../devices/pci0000:00/0000:00:17.0/ata3/host3/target3:0:0/3:0:0:0/block/sdf
lrwxrwxrwx 1 root root 0 May 6 16:08 8:81 -> ../../devices/pci0000:00/0000:00:17.0/ata3/host3/target3:0:0/3:0:0:0/block/sdf/sdf1
lrwxrwxrwx 1 root root 0 May 6 16:08 8:82 -> ../../devices/pci0000:00/0000:00:17.0/ata3/host3/target3:0:0/3:0:0:0/block/sdf/sdf2
lrwxrwxrwx 1 root root 0 May 6 16:08 8:83 -> ../../devices/pci0000:00/0000:00:17.0/ata3/host3/target3:0:0/3:0:0:0/block/sdf/sdf3

如上面所示,pci0000:00是Pci桥,0000:00:17.0就是硬盘控制器,后面是硬盘的盘号,sdf

如果不知道pve所在的硬盘。可以使用命令lsblk查看,有pve-root的,便是pve所在的硬盘

1
2
3
4
5
6
7
8
root@pve1:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdf 8:80 0 111.8G 0 disk
├─sdf1 8:81 0 1007K 0 part
├─sdf2 8:82 0 512M 0 part /boot/efi
└─sdf3 8:83 0 111.3G 0 part
├─pve-swap 253:0 0 8G 0 lvm [SWAP]
└─pve-root 253:1 0 103.3G 0 lvm /

如上面的例子,因为pve系统在控制器0000:00:17.0上,所以要直通硬盘,就必须直通02:00.0这个设备。那么你需要直通的硬盘,应该接到这个磁盘控制器下。

2.3 直通方法

在开启硬件直通功能后,在面板上添加即可。如何开启直通功能,参考

img

PVE开启硬件直通功能

PVE开启网卡直通,显卡直通,USB直通。请务必看完此文章,再结合自己实际,操作,如果成功,请再下面评……

2020-05-25

磁盘控制器直通可以,如下,根据本文的例子,应该选择SAS卡,而不是sata控制器。因为sata控制器上安装了pve系统。

img

并且点击高级,勾选PCIe设备

img

之后虚拟机内,可以看到磁盘的信息

img

三:Nvme直通

Nvme作为一个PCIe设备,那么只需要安装PCIe方式进行直通。参考2.3的贴出来的教程文章,开启iommu,再去面板上添加即可。

img

同时也要记得勾选PCIe设备。

在虚拟机内,也能正常识别

img

有个注意点,通常OEM的Nvme设备控制器固件会比较低,无法进行PCIe直通,可以尝试升级固件,请参考下文

img

记一次 intel 7600P固态更新固件的坑

之前因为chia 入了9根intel 7600p固态。后来想用于ZFS的缓存,发现PVE直通的时候一直报错。 到处……

2021-07-04

如果无法升级,固件,且报错和上文链接一样,可以参考下面解决方案

https://bugzilla.kernel.org/show_bug.cgi?id=202055

在虚拟机conf文件中,添加

1
args: -set device.hostpciX.x-msix-relocation=bar2

注hostpciX这里的X是你nvme直通后的pcie号,

img

你需要和你虚拟机的配置相同才行,如是0,则参数应该是

1
args: -set device.hostpci0.x-msix-relocation=bar2

四:从直通的硬盘中引导系统

在某些场景下,用户期望虚拟机直接从直通的硬盘中启动。

对于Windows来说,

1、确定硬盘里的系统是UEFI系统还是legacy系统。

如果是UEFI系统,请将虚拟机配置为OVMF,如果是legacy系统,请将虚拟机配置为Seabios

2、请将虚拟机的SCSI控制器设置为LSI 53C895A。将RDM磁盘设置为sata通道(因为sata在windows下免驱,scsi需要驱动,会导致无法启动windows系统)。

3、在虚拟机选项中,修改引导顺序,引导顺序为你的硬盘号。

对于linux来说,和Windows一样。

对于Nvme硬盘,

直通之后,选择Nvme启动,可能也会因为驱动的原因,导致无法启动系统。建议RDM直通,设置为sata模式,参考Windows步骤。由于Nvme的性能高,用sata模式可能会产生性能问题,建议先用sata模式启动系统后,安装好virtio-scsi驱动,再将Nvme设置为scsi,最后启动顺序,并启动虚拟机。这部分可以借鉴PVE安装xp的教程。

LXC直通硬盘

LXC容器直通最简单,直接在容器的资源界面,添加->直通设备,选择直通的硬盘就行

pve导入虚拟机(vof、vmdk、ova、img)

先在pve控制台创建个虚拟机,不需要硬盘的那种,然后记录你创建虚拟机的id(vm_id)。

帮你的虚拟机文件(vof或者vmdk或者ova上传到虚拟机上面)。

然后使用下面的导入命令,假设我们的虚拟机vm_id是100。

导入img文件

1
qm importdisk 100 /tmp/openwrt-x86-64-generic-squashfs-uefi.img local-lvm

导入ovf文件

1
qm importovf 100 ./MikroTik-RouterOS-6.40.3.ovf local-lvm --format qcow2

导入voa文件

voa先解压,拿到ovf文件,按照ovf的方式导入

1
2
3
4
5
6
tar xvf ROS6.40.4.ova
ls
MikroTik-RouterOS-6.40.3.ovf
MikroTik-RouterOS-6.40.3.mf
MikroTik-RouterOS-6.40.3-disk1.vmdk
MikroTik-RouterOS-6.40.3-disk2.vmdk

导入vmdk文件

1
qm importdisk 100 /tmp/chr-6.36.vmdk local-lvm --format raw

导入 虚拟机之后,编辑虚拟机,点击硬件,里面有个未使用的硬盘,编辑他。

改成 IDE,点击下面的添加。

编辑虚拟机的选项,里面有个boot order

选择刚才导入的磁盘,保存,启动虚拟机。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏