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

功能丰富,慢慢琢磨。

使用命令行修改PVE默认的IP地址

1
nano /etc/network/interfaces

会出现类似下面的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
auto lo
iface lo inet loopback

iface enp2s0 inet manual

auto vmbr0
iface vmbr0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports enp2s0
bridge_stp off
bridge_fd 0

建议只修改addressnetmaskgateway这3个配置值即可,含义分别是IP地址子网掩码网关地址

配置DNS,解决无法上网的问题

  • 新增阿里云的公共DNS
1
2
3
4
vi /etc/resolv.conf
:d9999
nameserver 223.5.5.5
nameserver 223.6.6.6
  • 重启网络服务
1
service networking restart

更换国内源:

先备份

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

Proxmox VE 6.3 / 6.4 / 7.0 / 7.1 / 7.2 / 7.3 / 7.4 / 8.0 / 8.1 / 8.2 去掉未订阅的提示

重要:建议先备份,在出问题时好恢复,我曾出现,去订阅后有些虚拟机和容器的硬盘无法删除:

1
2
cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak

去无订阅提示:

1
2
3
4
sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
  • 确认无误后,重新启动服务器
1
reboot

终端中文 乱码解决

3.安装zh_CN.utf8字符集

1
sudo apt install language-pack-zh-hans
1
vim /etc/locale.gen

进入这个文件,一滑到底,将zh_CN.UTF-8 UTF-8一行解开注释(需要按i键进入编辑模式)。

要安装虚拟机

上传ISO

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

创建虚拟机,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
```



# 硬盘直通

## 虚拟机主机磁盘

PVE 挂载物理磁盘到虚拟机

用PVE安装完OMV后,需要挂载数据磁盘作为存储磁盘,整个过程比较简单,官方参考文档:https://pve.proxmox.com/wiki/Physical_disk_to_kvm



进入PVE的SSH,查看当前磁盘

shell

```shell
ls /dev/disk/by-id
ata-TOSHIBA_Q300._xxxxxxxx
ata-TOSHIBA_Q300._xxxxxxxx-part1
ata-TOSHIBA_Q300._xxxxxxxx-part2
ata-TOSHIBA_Q300._xxxxxxxx-part3
ata-WDC_WD20EFRX-68EUZN0_WD-xxxxxxxx
ata-WDC_WD20EFRX-68EUZN0_WD-xxxxxxxx-part1

这里需要挂载的是西数的硬盘

,我的西数硬盘序列号是ata-WDC_WD20EFRX-68EUZN0_WD-xxxxxxxx,记住这个序列号

我们将此磁盘挂载到虚拟机100上

text

1
qm set 100 -sata1 /dev/disk/by-id/ata-WDC_WD20EFRX-68EUZN0_WD-xxxxxxxx

如果返回以下信息,说明已成功挂载

text

1
update VM 100: -sata1 /dev/disk/by-id/ata-WDC_WD20EFRX-68EUZN0_WD-xxxxxxxx

此时,重启后即可在虚拟机100下使用西数磁盘作为数据存储盘了

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

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

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

×

喜欢就点赞,疼爱就打赏