
下載地址(推薦BitTorrent下載):https://www.proxmox.com/en/downloads
設(shè)計思路:
3個以上物理節(jié)點的集群環(huán)境,組成HA:
1、網(wǎng)絡(luò)方面需要內(nèi)部集群管理網(wǎng)絡(luò),業(yè)務(wù)網(wǎng)絡(luò),ceph存儲網(wǎng)絡(luò),3個網(wǎng)絡(luò),需要強調(diào)的是,內(nèi)部集群網(wǎng)路需要獨立出來,因為集群網(wǎng)絡(luò)對延時的要求很苛刻,具體詳見官方文檔。如果有條件,每個網(wǎng)絡(luò)都做bond。bond類型的選擇,集群管理網(wǎng)絡(luò)直接使用active-backup,其他的最好使用LACP(802.3ad)鏈路聚合,但是這種方式需要在交換機側(cè)做配置,兩個交換機之間也要做級聯(lián),鏈路聚合的好處是一穩(wěn)定,二帶寬不浪費,三高可用 。
2、存儲方面,除了系統(tǒng)盤之外,每臺物理機使用2塊硬盤貢獻出來作為ceph存儲池使用,1塊硬盤作為本地lvm存儲并掛載給鏡像和備份目錄使用,這樣可以比較靈活,需要實現(xiàn)HA功能虛擬機可以放在ceph存儲池,lvm存儲池主要存放模板鏡像文件,也可以給其他虛擬機使用,lvm存儲池的虛擬機在相應(yīng)速度上理論上要比ceph的要高,這里具體不闡述。ceph存儲池使用3mon,3副本。
3、CPU和內(nèi)存方面根據(jù)實際需求確定。
1、環(huán)境準備

因為實驗服務(wù)器配置有限,故配置兩塊硬盤兩張網(wǎng)卡。
剩下2臺測試虛擬機,安裝前直接克隆,分別為pve-2,pve-3。
接下來分別啟動pve-1,pve-2,pve-3 進行proxmox VE的安裝,如下圖:

安裝步驟都很簡單,傻瓜式的,其中選擇硬盤會默認第一塊硬盤安裝系統(tǒng),然后是設(shè)置root密碼等等,網(wǎng)絡(luò)配置步驟:

這里hostname要求寫成FQDN格式,我試了直接使用pve,不行,最后是使用pve.itca.cc。

安裝完畢,點擊reboot重啟。

打開瀏覽器通過上圖顯示的網(wǎng)址進行管理服務(wù)器。


2、網(wǎng)絡(luò)配置

先將第二塊網(wǎng)卡的網(wǎng)絡(luò)配上,系統(tǒng)安裝過程中配置了第一塊網(wǎng)卡作為內(nèi)部管理集群網(wǎng)絡(luò),網(wǎng)段是172.10.20.0/24 ,登陸系統(tǒng)后可以發(fā)現(xiàn)這個地址是配置在網(wǎng)橋上的,網(wǎng)橋上搭一塊網(wǎng)卡進行橋接,因此新建一個網(wǎng)橋并配置192.168.30.0/24網(wǎng)段的地址給它,搭另一塊網(wǎng)卡進行橋接。
注意第一塊網(wǎng)卡設(shè)置了網(wǎng)關(guān),這塊網(wǎng)卡就不能設(shè)置網(wǎng)關(guān)了。這個比較好理解,其實就是在主機上設(shè)置了默認網(wǎng)關(guān),只能有一個。
增加完網(wǎng)橋之后,需要重啟pve節(jié)點生效配置。(網(wǎng)絡(luò)更改都需要重啟節(jié)點才能生效。)所有節(jié)點配置一遍。
3、創(chuàng)建本地存儲
安裝的時候安裝程序會默認在安裝盤上建立一個vg,名稱是pve,在這個vg上建立swap/root/data三個lv ,其中root這個lv上掛載/根目錄。 安裝完成之后直接默認有兩個存儲ID,一個是local,對應(yīng)的是目錄型存儲,掛載目錄是/var/lib/vz ,一個是local-lvm,掛載的是data這個lv,這個lv的類型是lvm-thin ,lvm-thin這種類型很適合虛擬機使用,具體如何創(chuàng)建后面再介紹。另外,pve的各種存儲類型主要有目錄型/lvm/lvm-thin/zfs/nfs/ceph等等,具體可以參考官網(wǎng)的admin文檔。
我當初的設(shè)計是需要將最后一塊32G的盤/dev/sdb作為目錄/var/lib/vz的掛載盤,這個目錄下面存放鏡像文件,備份文件,也可以直接存放本機虛擬機文件和容器文件。這一塊工作需要先在后臺將sdb這塊盤劃分了lvm才能給系統(tǒng)使用。因此,首先通過ssh登陸pve服務(wù)器,執(zhí)行:
pvcreate /dev/sdb
---注意,我這里沒有分區(qū),直接使用整塊硬盤,使用分區(qū)其實也是可以的
vgcreate vg-sdb /dev/sdb
lvcreate --thin -L 30G -n lvm-sdb vg-sdb
注:不能使用32G,提示空間不夠,--thin表示類型是lvm-thin ,如果創(chuàng)建的時候沒有加這個參數(shù),可以事后執(zhí)行l(wèi)vconvert --type thin-pool vg-sdb/lvm-sdb 命令轉(zhuǎn)化類型,如果是為掛載目錄使用,可以不使用thin類型。
mkfs.ext4 /dev/vg-sdb/lvm-sdb
更改local存儲目錄/var/lib/vz的掛載點為/dev/vg-sdb/lvm-sdb :
mount /dev/vg-sdb/lvm-sdb /var/lib/vz
在/etc/fstab文件中寫入下面這行,使開機自動掛載:
/dev/vg-sdb/lvm-sdb /var/lib/vz ext4 defaults 1 2
調(diào)整pve-1節(jié)點的local存儲池為共享池(實驗得知創(chuàng)建集群后得再設(shè)置一次),這樣可以只上傳鏡像到這個存儲池,其他節(jié)點也可以共享使用,如下圖:

上傳第一個ISO鏡像,直接從本機上傳到pve-1的/var/lib/vz/templates/iso/目錄中,如下圖:

4、創(chuàng)建集群

在其中一臺pve服務(wù)器的web管理界面上首先創(chuàng)建一個集群

創(chuàng)建完成后點擊“加入信息”拷貝信息

登陸其它節(jié)點,加入集群,粘帖加入信息。
集群建立完成之后,任何一個pve節(jié)點的web管理界面視圖都可以管理整個集群,如下圖:

5、更改軟件源【重要】
默認是訂閱版,如果不做修改,在使用pveceph init進行ceph初始化安裝的時候會將整個環(huán)境破壞,切記!
SSH登陸各節(jié)點
將/etc/apt/sources.list.d/pve-enterprise.list 文件內(nèi)的唯一一條記錄注釋掉:
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
wget -q -O- 'http://download.proxmox.com/debian/pve/dists/stretch/proxmox-ve-release-5.x.gpg' | apt-key add -
echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
apt update && apt dist-upgrade
國內(nèi)源:
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

安裝ntp,ceph集群對時間同步的要求很高。需要安裝ntp服務(wù): apt-get install ntp -y安裝完成之后會自動啟動并同步debian的時間服務(wù)器,注意,是聯(lián)網(wǎng)的情況下,如果不連接外網(wǎng),需要設(shè)定內(nèi)網(wǎng)的ntp服務(wù)。
6、刪除訂閱通知
通過SSH連接到Proxmox機器或通過PVE Web界面使用控制臺,輸入以下命令,然后清除瀏覽器緩存:
echo 'sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service' >> /etc/rc.local && chmod +x /etc/rc.local && sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
至此整個集群搭建完畢。
參考資料:
ProxmoxVE 之集群安裝(V5.2)