ProxmoxVE 之集羣安裝(V5.2)

原文出處:https://blog.51cto.com/yuweibing/2235474

blob.png blob.png

 上面左邊是我的個人 微  信,如需進一步溝通,請加  微  信。  右邊是我的公衆號“Openstack私有云”,如有興趣,請關注。

    上次找了一臺物理服務器直接安裝了一個proxmox VE 環境(VE是虛擬化環境的意思),後續又看了官方的admin文檔,對整個系統架構有了一定的瞭解,接下來,準備好好研究一下具體能夠落在生產環境上的系統設計。官方文檔可以在官網下載,也可以在安裝pve之後在web界面上直接查看或者下載,如下圖:

image.png


設計思路:

基本想法是,3個以上物理節點的集羣環境,組成HA,具體設想如下:

    1.網絡方面需要內部集羣管理(corosync)網絡,業務網絡,ceph存儲網絡,3個網絡,需要強調的是,內部集羣網路需要獨立出來,因爲集羣網絡對延時的要求很苛刻,具體詳見官方文檔。如果有條件,每個網絡都做bond。bond類型的選擇,集羣管理網絡直接使用active-backup,其他的最好使用LACP(802.3ad)鏈路聚合,但是這種方式需要在交換機側做配置,兩個交換機之間也要做級聯,鏈路聚合的好處是一穩定,二帶寬不浪費,三高可用 。

    2.存儲方面,除了系統盤之外,每臺物理機使用2塊硬盤貢獻出來作爲ceph存儲池使用,1塊硬盤作爲本地lvm存儲並掛載給鏡像和備份目錄使用,這樣可以比較靈活,需要實現HA功能虛擬機可以放在ceph存儲池,lvm存儲池主要存放模板鏡像文件,也可以給其他虛擬機使用,lvm存儲池的虛擬機在相應速度上理論上要比ceph的要高,這裏具體不闡述。ceph存儲池使用3mon,3副本。

    3.CPU和內存方面根據實際需求確定,這裏不贅述。


操作記錄:


一.環境準備:

    基於以上考慮,在這臺pve環境上面,創建3個虛擬機,3vcpu/12G內存/4塊硬盤/2塊網卡 ,其中硬盤方面1塊硬盤爲系統盤31G,2塊30G的ceph盤,1塊32G的lvm盤,網卡方面1塊網卡同時給集羣和虛擬機使用(192.168.1.0/24網段),1塊網卡作爲ceph存儲網絡(192.168.170.0/24網段)使用。創建虛擬機如下:

    image.png


    剩下2臺測試虛擬機,直接克隆,分別爲pve-2,pve-3 .

    接下來分別啓動pve-1,pve-2,pve-3 進行proxmox VE的安裝,如下圖:


image.png

安裝步驟都很簡單,傻瓜式的,其中選擇硬盤會默認第一塊硬盤安裝系統,然後是設置root密碼等等,網絡配置步驟:


image.png

這裏hostname要求寫成FQDN格式,我試了直接使用pve-2,不行,最後是使用pve-2.ywb.com 。


    3臺虛擬機同時安裝,非常快,不到10分鐘,居然就安裝完了!感覺比裝vmware的ESXI也更快啊。

image.png

點右下角的Reboot重啓。

image.png

第一階段搞定,後面就可以建集羣,配網絡,建存儲之類的後續操作了。

    通過輸入網址:

    https://192.168.1.51:8006

    https://192.168.1.52:8006

    https://192.168.1.53:8006

    分別可以管理這3臺pve。


二.配置網絡

    先將第二塊網卡的網絡配上,系統安裝過程中配置了第一塊網卡作爲內部管理集羣網絡,網段是192.168.1.0/24 ,登陸系統後可以發現這個地址是配置在網橋上的,網橋上搭一塊網卡進行橋接,因此新建一個網橋並配置192.168.170.0/24網段的地址給它,搭另一塊網卡進行橋接,如下圖:

    image.png


    注意第一塊網卡設置了網關是192.168.1.1,這塊網卡就不能設置網關了 。這個比較好理解,其實就是在主機上設置了默認網關,只能有一個。

    增加完網橋之後,需要重啓pve節點生效配置。(網絡更改都需要重啓節點才能生效。)


三.存儲設置

    接下來處理存儲,進去看pve節點的存儲,安裝的時候安裝程序會默認在安裝盤上建立一個vg,名稱是pve,在這個vg上建立swap/root/data三個lv ,其中root這個lv上掛載/根目錄。 安裝完成之後直接默認有兩個存儲ID,一個是local,對應的是目錄型存儲,掛載目錄是/var/lib/vz ,一個是local-lvm,掛載的是data這個lv,這個lv的類型是lvm-thin ,lvm-thin這種類型很適合虛擬機使用,具體如何創建後面再介紹。另外,pve的各種存儲類型主要有目錄型/lvm/lvm-thin/zfs/nfs/ceph等等,具體可以參考官網的admin文檔。

    我當初的設計是需要將最後一塊32G的盤/dev/sdb作爲目錄/var/lib/vz的掛載盤,這個目錄下面存放鏡像文件,備份文件,也可以直接存放本機虛擬機文件和容器文件。這一塊工作需要先在後臺將sdb這塊盤劃分了lvm才能給系統使用。因此,    首先通過ssh登陸pve服務器,執行:

    pvcreate /dev/sdb   
    ---注意,我這裏沒有分區,直接使用整塊硬盤,使用分區其實也是可以的
    vgcreate vg-sdb /dev/sdb
    lvcreate --thin -L 30G -n lvm-sdb vg-sdb  
      注:不能使用32G,提示空間不夠,--thin表示類型是lvm-thin ,如果創建的時候沒有加這個參數,可以事後執行lvconvert --type thin-pool vg-sdb/lvm-sdb 命令轉化類型,如果是爲掛載目錄使用,可以不使用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

調整pve-1節點的local存儲池爲共享池,這樣可以只上傳鏡像到這個存儲池,其他節點也可以共享使用,如下圖:

image.png    

上傳第一個ISO鏡像,通過scp程序,我用的是winscp,直接從本機上傳到pve-1的/var/lib/vz/templates/iso/目錄中,如下圖:

image.png

當然,也可以使用web管理界面直接上傳,如下圖:

image.png


四.創建集羣:

    在其中一臺pve服務器的web管理界面上首先創建一個集羣,如下圖:

image.png    


接下來,通過ssh登陸其他2個pve節點,執行 pvecm add 192.168.1.51 (這個地址是上面建立集羣的pve節點的IP)命令加入集羣cluster1,如下圖:

image.png

加入完成之後,可以通過命令 pvecm status 在任何一個節點上查看集羣情況,如下圖:

image.png

如果要查看集羣日誌,可以看文件/var/log/daemon.log 。

集羣建立完成之後,任何一個pve節點的web管理界面視圖都可以管理整個集羣,如下圖:

image.png


五.ceph安裝配置

    

    參考官網這個網址:

    https://×××w.proxmox.com/en/training/video-tutorials/item/install-ceph-server-on-proxmox-ve

    這是一個詳細的視頻教程,基本的設計思路和我這個環境差不多,都是3個節點,只有網絡是真正的3個網絡,我是因爲條件限制,將集羣管理和虛擬機業務網絡合二爲一了,其他的都差不多。

    首先在每一個節點安裝ceph軟件包:

    pveceph install --version luminous   

    注意,官網視頻裏面用的jewel版本,我們安裝的pve版本是5.2對應的ceph版本已經是luminous版本了。


    執行過程中提示軟件包相關錯誤,如下:

W: (pve-apt-hook) !! WARNING !!W: (pve-apt-hook) You are attempting to remove the meta-package 'proxmox-ve'!W: (pve-apt-hook) W: (pve-apt-hook) If you really you want to permanently remove 'proxmox-ve' from your system, run the following commandW: (pve-apt-hook) touch '/please-remove-proxmox-ve'W: (pve-apt-hook) and repeat your apt-get/apt invocation.
W: (pve-apt-hook) W: (pve-apt-hook) If you are unsure why 'proxmox-ve' would be removed, please verify
W: (pve-apt-hook) - your APT repository settings
W: (pve-apt-hook) - that you are using 'apt-get dist-upgrade' or 'apt full-upgrade' to upgrade your system
E: Sub-process /usr/share/proxmox-ve/pve-apt-hook returned an error code (1)E: Failure running script /usr/share/proxmox-ve/pve-apt-hook

    需要執行這個命令進行確認:

    touch '/please-remove-proxmox-ve'
    再次執行install命令,最後還是有一個報錯:
    cp: cannot stat '/usr/share/doc/pve-manager/examples/ceph.service': No such file or directory
    could not install ceph.service


    然後發現pveceph命令找不到了!!!! 應該是在上面安裝過程中軟件包錯誤處理的時候將這個軟件包卸載了。咋辦?另外,在web管理界面,創建虛擬機啓動虛擬機連接虛擬機失敗,說明上面命令卸載了部分或者大部分關鍵軟件包,嗝屁了。通過在網上查相關信息,只看到全真道長sery那裏就在幾天前也發現了這個問題,確認就是沒有訂閱造成的,被一家公司控制的開源產品,缺陷出來了。道長sery那邊的消息是,如果訂閱,是249.9歐元每CPU每年,這算下來與vmware的授權也差不多了,那我還用個毛的開源軟件啊。下圖是官網的報價:


image.png


    看來只有自己手動安裝ceph集羣了。


總結:

    本篇博文嘗試搭建一套3節點的Proxmox VE 集羣,安裝過程非常快,概念也很清晰,web管理界面非常好用,但是在進行到存儲ceph安裝的時候出現了訂閱問題。

    安裝到這裏,反正也已經基本摸了一遍集羣的實際落地操作,並踩到了一個大坑,那就是ceph的安裝配置5.2版本需要訂閱官方授權才能使用。具體如何解決,初步2個辦法,第一個是測試歷史版本,據說歷史版本可以使用,第二個是手動安裝ceph集羣,然後在pve中做一些簡單配置連接使用這個ceph集羣,第二個辦法的缺點是沒有辦法統一集成管理pve和ceph,只能分開管理,但是對於大規模的應用場景,可能反倒是一個優點。我的想法是,兩個辦法都要去踩一遍,對於小規模使用場景使用第一個用歷史版本的辦法,對大規模場景,都可以。


    注:至今天(2018年9月23日)爲止,官網上能下載的版本有5.2-1,   5.1-3,   5.0-5ab26bc-5 三個版本,三個版本我都測試過了,pveceph工具install之後都不正常。更老的版本現在暫時未找到。

    

    注,上面說的“手動安裝ceph集羣,然後在pve中做一些簡單配置連接使用這個ceph集羣” ,已經驗證可以實現,參考下面的文章:

    《ProxmoxVE(V5.2) 之 使用外部ceph存儲(luminous)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章