:::

在VirtualBox架設Proxmox VE 3.0 Cluster記錄 / Setup Proxmox VE 3.0 Cluster on VritualBox

image

Proxmox VE可以整合多台Proxmox VE串聯成一個「叢集」(cluster),這樣就能從其中一台Proxmox VE統一管理所有叢集中的Proxmox VE,非常地方便。這概念跟其他雲端平台使用的master / slave架構有點不一樣,但是統一管理的功能卻是共通的。

我用VirtualBox來試著架設Proxmox VE,以下是我的安裝過程記錄。

Proxmox VE can integrate multiple Proxmox VE servers to a cluster for unified management. I try to set up Proxmox VE cluster on VirtualBox. Following is my installation process.


安裝環境 / Installation Environment

image

我在Oracle VirtualBox 4.2.6上安裝Proxmox VE 3.0。

建立虛擬機器兩台,個別擔任master跟slave的角色,設Domain Name為「master-proxmox2.dlll.nccu.edu.tw」與「slave-proxmox2.dlll.nccu.edu.tw」。不過在Proxmox VE的Cluter中並沒有master跟slave的概念,我這篇只是用這兩種相對地位來表示操作順序的差異。

以下開始是步驟,請特別注意網卡設定跟安裝時的IP設定。

建立虛擬機器master / Create “master” Virtual Machine

我將master建為Debian 64bit,記憶體特別要設成512MB以上,其他都用預設值即可。

網路設定為「內部網路」 / Use “intranet” network for “master”

image

建立完成之後,將網路修改成「內部網路」,並給定內部網路名稱「proxmox2」。待會slave也會連到相同名稱的內部網路,表示兩者之間有所連接。這步驟很重要,因為VirtualBox預設建立虛擬機器時是用「NAT」,但這會對Proxmox VE建立cluster的時候造成混亂,千萬不能在NAT的狀態下安裝Proxmox

在master安裝Proxmox VE 3.0 / Install Proxmox VE 3.0 on “master”

然後在光碟機掛上Proxmox VE 3.0的ISO光碟,開始安裝。

由於是使用沒有DHCP的內部網路,所以Proxmox VE會自動選用區域網路IP「192.168.100.2」,這個IP要先記好。

安裝程序中要注意的僅有輸入Domain Name那邊,請輸入可以辨別不同節點的名稱,在此用「master-proxmox2.dlll.nccu.edu.tw」作為範例。

很快地就安裝完成了。安裝完成之後需要重新啟動,然後再登入Proxmox。預設帳號是root,密碼就是你安裝時候設定的密碼。

順利登入之後,我們先把master放著,來安裝slave吧。

建立虛擬機器slave/ Create Virtual Machine “slave”

image

slave建立的參數跟master一樣,都用Debain 64bit,記憶體512MB,建立完成之後網路修改成「內部網路」,並設名稱「proxmox2」。

在slave安裝Proxmox時的注意事項 / Points of Installing Proxmox VE for “slave”

在slave安裝Proxmox時,他也會用預設IP「192.168.100.2」,但這會跟master衝突,所以在此改為「192.168.100.3」。

然後Domain Name設為「slave-proxmox2.dlll.nccu.edu.tw」,其他就照常普通設定安裝即可。

安裝完成之後一樣重新啟動再登入root帳號。順利登入之後,我們就可以準備來建立Cluster了。

建立Cluster / Create Proxmox VE Cluster

在master跟slave都安裝好之後,我們就可以來建立Proxmox VE Cluster了。建立的說明網頁在此,以下我直接把步驟記錄下來:

在master的設定 / Setup on “master”

輸入以下指令:

pvecm create CLUSTER-NAME

其中CLUSTER-NAME是指這個Cluster的辨識名稱,不可修改,而且要刪除非常困難,請慎選!在此我用「DLLL」作為Cluster的名稱。

建立過程應該沒什麼特別問題,大概三分鐘就完成了。這時候這個Cluster裡面只有master一個節點。接著我們要把slave加入這個節點中。

在slave的設定 / Setup on “slave”

輸入以下指令:

pvecm add 192.168.100.2

其中192.168.100.2就是master的IP。其實只要加入任意已經建立好Cluster的節點都可以。前一步我們在master建立了Cluster,所以在此就可以透過pvecm add指令來讓slave加入到master。

輸入指令並執行之後,slave會以SSH連線到master。這時候先要求儲存金鑰,請回答「yes」,然後接著會要求master的密碼,請輸入之後登入。

image

接著過沒多久,看到「successfully added node ’slave-proxmox2’ to cluster.」就表示順利加入成功了。

開啟master的網頁操作介面 / Open “master”’s Web Administration GUI

到目前為止,master跟slave都在內部網路proxmox2底下互相連線,但是在這狀態下,其他人(包括Host OS的本機端)都無法開啟master的管理介面。所以我們要動點手腳,讓master多一張可以連線到外面的網卡。

VirtualBox中新增NAT網路卡 / Add “NAT” Netwrok Card for “master”

要變更硬體得先把master關機才行。關機指令是「halt」。

關機之後再幫master新增網路介面卡2,附加到NAT,如下圖:

image

然後再幫這張網卡設定連接埠轉遞,方面主機連線。主機連接埠設為「38006」,可以自由設定;客體連接埠則是固定的「8006」,如下圖:

image

設定完成之後再把master開機。但是光有網路卡沒用,我們還得在master中設定網路卡的連線方式呢。

修改/etc/network/interfaces  / “master” Network Setup

在master作業系統裡面,新加入的網路卡叫做eth1(原本的內部網路那張卡叫做eth0),但是eth1並沒有設定,預設也不會啟動。我們得設定eth1這張網路卡。

用vi修改網路設定吧,vi的用法請參考鳥哥

vi /etc/network/interfaces

在最後加入eth1的設定:

auto eth1
iface eth1 inet dhcp

設定好之後,interfaces整個檔案如下圖:

image

儲存,然後用以下指令啟動eth1:

ifup eth1

開啟master的Proxmox VE網頁管理介面 / Proxmox VE Web Administation GUI

開啟瀏覽器,建議使用Google Chrome。網址列輸入https並帶有連接埠的網址:

接著就會出現以下登入畫面:

image

帳號與密碼如同在master登入本機端一樣。預設帳號是root,密碼就是安裝時設定的密碼。最後下圖就是順利登入的樣子。

image

你可以發現到,master也可以管理slave的資源,這就是統合多個Proxmox VE組合起來的Cluster,可以方便網管人員進行資源分配與調度喔。


結語:NAT不適合新手操作 / Conclustion: Don’t Use “NAT” When You Setup Cluster At Initial Stage

像這種要串連多台伺服器的結構,通常預設的安裝環境中,網路都會是單純到只是接著一台網路分享器(hub或switch),不會有路由器跟DHCP來讓網路變得更複雜。

因此以後要測試虛擬機器遇到網路上的問題,不妨也跟我一樣,先讓機器本身只使用內部網路就好。確認安裝沒問題之後,再給他一張NAT網卡來操作吧。

希望這點經驗可以幫助到大家。現在半夜三點,好睏,我要回家了。

image