OVHcloud救援系統安裝Proxmox VE

前段時間OVH出了個活動,上架了幾款性價比非常高的獨立服務器,我也買了兩台,然後根據自己之前寫的文章內的步驟來安裝Proxmox VE發現有很多問題,我其實寫過很多篇這類文章了(以Kimsufi為主),遂決定重新寫一篇文章來記錄下目前遇到的問題與解決辦法。

第一個問題是以前Kimsufi的救援系統是Debian9,現在OVH的救援系統是Debian10,這導致qemu-system-x86_64有很多選項都變了,以前記錄的命令不好使了。

第二個問題是我現在這台服務器有4塊硬盤,KVM最多只能給Guest提供4個IDE驅動器,超過的話會報錯:

machine type does not support if=ide,bus=2,unit=0

根據這篇文章內的說明,可以把IDE改成用Virtio就沒有這個限制了。

我改成用Virtio後,把PVE的ISO都啟動了,又突然發現PVE文檔:ZFS_on_Linux裡面有這樣一句話:

If you are experimenting with an installation of Proxmox VE inside a VM (Nested Virtualization), don’t use virtio for disks of that VM, as they are not supported by ZFS. Use IDE or SCSI instead (also works with the virtio SCSI controller type).

我就是準備用ZFS的,所以現在我只能改用Virtio SCSI了。。。

第三個問題是關於系統引導方面的,根據PVE文檔:Host_Bootloader說明,目前PVE有2種不同的引導加載程序,分別是GRUB、systemd-boot,大多數情況都是使用GRUB,但有一個例外:如果把ZFS作為根文件系統,並且主板BOOT設置使用UEFI,那麼將使用systemd-boot。我手上這台服務器的主板BOOT設置就是使用的UEFI,我通過IPMI確認了:

OVHcloud救援系統安裝Proxmox VE

如果服務器沒有IPMI,也可以在服務器系統內安裝efibootmgr來確認,如果回顯有記錄說明是UEFI,沒有就是BIOS(Legacy)。不過我猜測現在新開通的OVH服務器應該都是UEFI了。

當Proxmox VE使用systemd-boot作為引導加載程序的時候,如果我們要配置內核參數,配置的方法與GRUB引導加載程序是不同的。systemd-boot使用/etc/kernel/cmdline,且需要使用proxmox-boot-tool工具來更新配置。

還有一些細節問題這裡就不詳細說明了,下面我會把不同環境的可用安裝方法都寫出來。

首先登錄OVH管理面板,啟動OVH救援系統:

OVHcloud救援系統安裝Proxmox VE

需要點一下重啟才會引導到救援系統,救援系統的登錄信息會發送到你指定的郵箱:

OVHcloud救援系統安裝Proxmox VE

登錄到救援系統安裝qemu-kvm:

apt -y update
apt -y install qemu qemu-kvm

如果主板BOOT設置使用UEFI,則還需要安裝OVMF:

apt -y install ovmf

下載PVE的ISO:

wget https://enterprise.proxmox.com/iso/proxmox-ve_8.2-2.iso

使用lsblk命令查看當前硬盤、分區、RAID信息:

OVHcloud救援系統安裝Proxmox VE

停止RAID:

mdadm --stop /dev/md2
mdadm --stop /dev/md3

清空分區表信息:

wipefs -a /dev/sda1
wipefs -a /dev/sda2
wipefs -a /dev/sda3
wipefs -a /dev/sda4
wipefs -a /dev/sda5
wipefs -a /dev/sda

wipefs -a /dev/sdb1
wipefs -a /dev/sdb2
wipefs -a /dev/sdb3
wipefs -a /dev/sdb4
wipefs -a /dev/sdb

wipefs -a /dev/sdc1
wipefs -a /dev/sdc2
wipefs -a /dev/sdc3
wipefs -a /dev/sdc4
wipefs -a /dev/sdc

wipefs -a /dev/sdd1
wipefs -a /dev/sdd2
wipefs -a /dev/sdd3
wipefs -a /dev/sdd4
wipefs -a /dev/sdd

準備工作做好後,接下來根據自身情況來啟動虛擬機。主要是以下3點:

1、服務器主板使用的引導方式:BIOS(Legacy)、UEFI。

2、如果服務器硬盤大於等於4塊,則必須使用Virtio驅動,或者Virtio-SCSI驅動。

3、如果服務器使用ZFS文件系統,則必須使用Virtio-SCSI驅動。

下面是幾個示例:

1、BIOS(Legacy)引導方式,不使用ZFS文件系統,使用如下命令啟動虛擬機:

qemu-system-x86_64 
-enable-kvm 
-nodefaults 
-cdrom /root/proxmox-ve_8.2-2.iso 
-drive file=/dev/sda,format=raw,media=disk,index=0,if=virtio 
-drive file=/dev/sdb,format=raw,media=disk,index=1,if=virtio 
-drive file=/dev/sdc,format=raw,media=disk,index=2,if=virtio 
-drive file=/dev/sdd,format=raw,media=disk,index=3,if=virtio 
-cpu host 
-smp 4 
-m 8G 
-net nic 
-net user 
-vga std 
-vnc :1,password=on -monitor stdio 
-k en-us

2、BIOS(Legacy)引導方式,使用ZFS文件系統,使用如下命令啟動虛擬機:

qemu-system-x86_64 
-enable-kvm 
-nodefaults 
-cdrom /root/proxmox-ve_8.2-2.iso 
-device virtio-scsi-pci,id=scsi0 
-device scsi-hd,drive=hd0 
-drive file=/dev/sda,format=raw,media=disk,if=none,id=hd0 
-device scsi-hd,drive=hd1 
-drive file=/dev/sdb,format=raw,media=disk,if=none,id=hd1 
-device scsi-hd,drive=hd2 
-drive file=/dev/sdc,format=raw,media=disk,if=none,id=hd2 
-device scsi-hd,drive=hd3 
-drive file=/dev/sdd,format=raw,media=disk,if=none,id=hd3 
-cpu host 
-smp 4 
-m 8G 
-net nic 
-net user 
-vga std 
-vnc :1,password=on -monitor stdio 
-k en-us

3、UEFI引導方式,無論是否使用ZFS文件系統,均可以使用如下命令啟動虛擬機:

qemu-system-x86_64 
-bios OVMF.fd 
-enable-kvm 
-nodefaults 
-cdrom /root/proxmox-ve_8.2-2.iso 
-device virtio-scsi-pci,id=scsi0 
-device scsi-hd,drive=hd0 
-drive file=/dev/sda,format=raw,media=disk,if=none,id=hd0 
-device scsi-hd,drive=hd1 
-drive file=/dev/sdb,format=raw,media=disk,if=none,id=hd1 
-device scsi-hd,drive=hd2 
-drive file=/dev/sdc,format=raw,media=disk,if=none,id=hd2 
-device scsi-hd,drive=hd3 
-drive file=/dev/sdd,format=raw,media=disk,if=none,id=hd3 
-cpu host 
-smp 4 
-m 8G 
-net nic 
-net user 
-vga std 
-vnc :1,password=on -monitor stdio 
-k en-us

虛擬機啟動之後,需執行如下命令修改VNC連接密碼:

change vnc password

之後使用任意VNC客戶端連接服務器公網IP:5901端口訪問,如果正常將可以看到PVE的安裝界面:

OVHcloud救援系統安裝Proxmox VE

選擇ZFS RAID級別這塊,我本來是打算用RAIDZ-2的,但最後還是選擇RAID10了:

OVHcloud救援系統安裝Proxmox VE

對於4塊盤而言,雖然可用容量都是減半,但是RAID10的性能要稍微好一點,要用RAIDZ-2的話,那估計就是單盤的性能了。當然RAIDZ-2的安全性比RAID10要高一些,但權衡下來我還是用了RAID10。如果你使用RAIDZ類型的話,這裡有一個RAIDZ類型的可用容量計算方式可供參考:

N個磁盤的RAIDZ類型vdev的可用空間為N-P,其中P是RAIDZ級別。RAIDZ級別指在不丟失數據的情況下,有多少個任意磁盤可以出現故障。例如3塊硬盤的RAIDZ也就是RAIDZ-1,最多允許1塊硬盤故障。可用容量為2塊盤的容量。

網絡這塊的配置,把你在OVH管理面板看到的IPv4、IPv4網關地址記下來:

OVHcloud救援系統安裝Proxmox VE

照着填上去就行了,注意CIDR,OVH一般都是24,有關IPv6的配置這裡暫且先放一邊,PVE的這個界面也不支持配置IPv6,我會單獨寫一篇文章來介紹如何配置OVH的IPv6:

OVHcloud救援系統安裝Proxmox VE

後面的操作就很簡單了,沒什麼好說的了這裡就省略掉了,等待安裝完成後,系統會自動重啟,還是在這個VNC裡面登錄到PVE主機,我們需要修改一些配置。

編輯網絡配置文件:

nano /etc/network/interfaces

根據服務器的情況需要更改接口名,我這台服務器接口名是ens3,需要改成eth0:

auto lo
iface lo inet loopback

iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
        address xx.xx.xx.210/24
        gateway xx.xx.xx.254
        bridge-ports eth0
        bridge-stp off
        bridge-fd 0

然後根據使用的引導加載程序來修改內核參數,我使用的是systemd-boot,需要修改如下配置文件:

nano /etc/kernel/cmdline

注意這個配置文件只能有1行,所有的參數都要在1行內,在原有的基礎上增加net.ifnames=0:

root=ZFS=rpool/ROOT/pve-1 boot=zfs net.ifnames=0

更新配置:

proxmox-boot-tool refresh

如果你使用的是GRUB,則需要修改如下配置文件:

nano /etc/default/grub

在GRUB_CMDLINE_LINUX_DEFAULT原有的基礎上增加net.ifnames=0:

GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0"

更新配置:

update-grub

將虛擬機關機:

systemctl poweroff

回到OVH管理面板,將系統改為從硬盤啟動:

OVHcloud救援系統安裝Proxmox VE

在OVH管理面板點一下重啟,等待片刻。

如果一切正常的話,就可以使用https://publicip:8006訪問到PVE的管理界面了。

參考資料:

https://wiki.gentoo.org/wiki/QEMU/Options#Hard_drive
https://wiki.netbsd.org/tutorials/how_to_setup_virtio_scsi_with_qemu/
https://blog.onodera.asia/2021/12/qemunetbsdamd64-current-virtio-scsi.html

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152450.html

(1)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-11-12 21:40
下一篇 2024-11-12 22:19

相關推薦

發表回復

登錄後才能評論