:::

Proxmox VE 4.2配置失敗記錄 / Failed to Setup Proxmox VE 4.2

image

繼前幾天開始研究Proxmox VE 4.2,我也試著將Proxmox VE 4.2以VirtualBox虛擬機器架設,並且測試看看新的虛擬化技術lxc新的高可用叢集Proxmox VE HA Manager,然後看看有沒有其他的功能好用。結果很遺憾,我未能順利成功使用這些功能。我想在這邊記錄一下這些失敗的過程,也許未來的我知道怎麼操作的話,也許看了會有些不同的感觸吧。


架設環境 / Environment

image

我使用的是VirtualBox 5.0.0 r101573,架設3臺Proxmox VE 4.2版,建立並加入Proxmox VE Cluster,再搭配一臺FreeNAS作為NFS使用。這些伺服器都在配有DHCP伺服器的區域網路內,網路卡以橋接介面卡的方式連結,配有區域網路可以連線到的IP。

image

完成之後就可以連上任意一臺Proxmox VE的管理介面。接下來就是正式的測試。

可以使用Turnkey Linux範本 / TurnKey Linux LXC Templates are Available Now

image

這真是……令我驚訝。昨天Proxmox VE提供的LXC範本還只有10個純作業系統的基本範本(有圖片佐證),包括CentOS、Ubuntu、Debian、ArchLinux等各版本。可是今天打開的時候,突然就可以下載TurnKey Linux的97種範本。

image

剛剛測試了一下,下載也都非常順利,值得慶幸。

不過過一下子我再測試時Turnkey Linux的列表又消失了,怎麼會這樣呢?

LXC網路跟OpenVZ不同,無法直接連線 / LXC ‘s network is different to OpenVZ’s

看到LXC的網路設定跟OpenVZ不一樣的時候,我就應該要有這個預感了。LXC提供了IPv4跟IPv6兩種網路,還可以設定Static或是DHCP,而這就註定了它的運作方式跟OpenVZ的不一樣。

OpenVZ提供了veth跟venet兩種模式。一直以來我都無法搞定veth,只使用venet來簡單設定IP連線。而LXC只有提供veth,結果現在我依然無法處理他。

根據網路上的說法,要讓veth可以連線,必須要修改網路卡介面並且設定iptables。我找了一兩篇來設定看看,但並沒有成功。非常遺憾,這次仍無法克服veth網路。

論壇上「PVE 4.2 Public IPv4 for CT/VM not working」有提到解決方法,但要重新設定網路介面,總覺的麻煩。

LXC可以架設在NFS上 / LXC can run with set storage on NFS

image

以前OpenVZ是不能將Storage儲存在NFS上,這樣運作的時候會失敗。可是現在LXC可以將Storage設為NFS,依然能夠順利啟動。當然,透過網路的話運作效率肯定是會比較低,但這樣子就能夠符合HA的要求:將虛擬機器架設在共享儲存裝置上。

HA設定失敗 / HA setup failed

image

這個版本的HA設定起來比以前的HA簡單許多,全部都整合在網頁管理介面上,不需要像以前還要用指令列修改一堆指令。儘管如此,我設定的HA依然失敗了。

大致上的架構如下:

  1. 建立3個節點一組的Proxmox VE Cluster,名稱個別是pve 95、pve 96、pve 97
  2. 建立freenas的NFS,掛載到每一個節點上
  3. 在pve97上建置LXC虛擬機器,storage設為freenas
  4. 在HA設定裡面,將所有節點加入group,將新增的虛擬機器加入resource
  5. 開啟虛擬機器,虛擬機器可以正常運作

到這邊為止,乍看之下似乎是設定完畢了。接下來要試試看HA能不能順利運作。

  1. 拔掉pve97的網路線
  2. 網頁管理介面顯示pve97斷線,但是虛擬機器沒有轉移
  3. pve97在網路斷線之後自動重新開機
  4. 虛擬機器還是沒有轉移
  5. pve97脫離Proxmox VE Cluster。即使重新連結網路線,pve97也不會在Proxmox VE Cluster中出現。

正常來說,虛擬機器應該要從pve97轉移到其他節點上,但是現況並沒有照預期的運作。High Availability Cluster 4.x說明只有講到指令,沒有明確提到網頁管理介面如何操作。

雖然接下來可以繼續試試看指令介面,或著是參考「Proxmox VE, clustering and DRBD shared storage with High Availability」系列影片來建置早期版本的HA,我之前有試著照影片的教學建置,也的確有成功過。

不過就算可以用指令來操作,我也不是很欣賞這種作法,因為這樣就對一般的管理者來說難度太高了。操作複雜也意味著管理上的難度提升,就算花了很多時間終於建置好HA,可是一旦要變更或重建的時候,如果又得跑一次這樣的流程,那還真是令人吃不消。


結論  /  Conclusion

從以上測試來看,我認為並沒有很必要升級到Proxmox VE 4.2,繼續使用Proxmox VE 3.4即可。主要考量包括沒有很值得使用的新功能 (目前也只有LXC能在NFS上架設成功),還有喪失了OpenVZ的venet設定的便利。希望未來Proxmox VE改版可以改善克服這些問題。