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 | auto lo |
建议只修改address
,netmask
和gateway
这3个配置值即可,含义分别是IP地址
,子网掩码
和网关地址
。
配置DNS,解决无法上网的问题
- 新增阿里云的公共DNS
1 | vi /etc/resolv.conf |
- 重启网络服务
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 | deb http://mirrors.ustc.edu.cn/debian stable 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 | cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak |
去无订阅提示:
1 | sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js |
- 确认无误后,重新启动服务器
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 | ``` |
这里需要挂载的是西数的硬盘
,我的西数硬盘序列号是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的裸磁盘映射。
当然,你也可以使用ide或者sata形式直通硬盘,如下
1 | qm set 101 --sata1 /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 | root@pve:~# qm set 101 --delete scsi1 |
二、磁盘控制器直通
磁盘控制器直通之后,虚拟机可以获得全部的磁盘属性。
需要注意的是,你需要多个磁盘控制器,且Proxmox VE系统安装在非需要直通的硬盘控制器上,否则会将系统直通给虚拟机,导致系统崩溃。
2.1 查找硬盘控制器
如何查询本机的硬盘控制器,可以通过lspci命令
1 | root@pve1:~# lspci |
其中00:17是sata控制器,02:00是scsi 直通卡。一般来说,带SCSI SATA字样的都是磁盘控制器。
1 | 00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31) |
2.2 查看硬盘所属硬盘控制器
如果你有多块硬盘,且不知道硬盘属于哪个控制器,你可以通过下面命令查看。
1 | ls -la /sys/dev/block/|grep -v loop |grep -v dm |
如上面所示,pci0000:00
是Pci桥,0000:00:17.0
就是硬盘控制器,后面是硬盘的盘号,sdf
如果不知道pve所在的硬盘。可以使用命令lsblk查看,有pve-root的,便是pve所在的硬盘
1 | root@pve1:~# lsblk |
如上面的例子,因为pve系统在控制器0000:00:17.0
上,所以要直通硬盘,就必须直通02:00.0
这个设备。那么你需要直通的硬盘,应该接到这个磁盘控制器下。
2.3 直通方法
在开启硬件直通功能后,在面板上添加即可。如何开启直通功能,参考
PVE开启网卡直通,显卡直通,USB直通。请务必看完此文章,再结合自己实际,操作,如果成功,请再下面评……
2020-05-25
磁盘控制器直通可以,如下,根据本文的例子,应该选择SAS卡,而不是sata控制器。因为sata控制器上安装了pve系统。
并且点击高级,勾选PCIe设备
之后虚拟机内,可以看到磁盘的信息
三:Nvme直通
Nvme作为一个PCIe设备,那么只需要安装PCIe方式进行直通。参考2.3的贴出来的教程文章,开启iommu,再去面板上添加即可。
同时也要记得勾选PCIe设备。
在虚拟机内,也能正常识别
有个注意点,通常OEM的Nvme设备控制器固件会比较低,无法进行PCIe直通,可以尝试升级固件,请参考下文
之前因为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号,
你需要和你虚拟机的配置相同才行,如是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 | tar xvf ROS6.40.4.ova |
导入vmdk文件
1 | qm importdisk 100 /tmp/chr-6.36.vmdk local-lvm --format raw |
导入 虚拟机之后,编辑虚拟机,点击硬件,里面有个未使用的硬盘,编辑他。
改成 IDE,点击下面的添加。
编辑虚拟机的选项,里面有个boot order
选择刚才导入的磁盘,保存,启动虚拟机。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com