以前找了一臺(tái)物理服務(wù)器直接安裝了一個(gè)proxmox VE 環(huán)境(VE是虛擬化環(huán)境的意思),后續(xù)又看了官方的admin文檔,對(duì)整個(gè)系統(tǒng)架構(gòu)有了一定的了解,接下來,準(zhǔn)備好好研究一下具體能夠落在生產(chǎn)環(huán)境上的系統(tǒng)設(shè)計(jì)。官方文檔可以在官網(wǎng)下載,也可以在安裝pve之后在web界面上直接查看或者下載,如下圖:
設(shè)計(jì)思路:
基本想法是,3個(gè)以上物理節(jié)點(diǎn)的集群環(huán)境,組成HA,具體設(shè)想如下:
1.網(wǎng)絡(luò)方面需要內(nèi)部集群管理(corosync)網(wǎng)絡(luò),業(yè)務(wù)網(wǎng)絡(luò),ceph存儲(chǔ)網(wǎng)絡(luò),3個(gè)網(wǎng)絡(luò),需要強(qiáng)調(diào)的是,內(nèi)部集群網(wǎng)路需要獨(dú)立出來,因?yàn)榧壕W(wǎng)絡(luò)對(duì)延時(shí)的要求很苛刻,具體詳見官方文檔。如果有條件,每個(gè)網(wǎng)絡(luò)都做bond。bond類型的選擇,集群管理網(wǎng)絡(luò)直接使用active-backup,其他的最好使用LACP(802.3ad)鏈路聚合,但是這種方式需要在交換機(jī)側(cè)做配置,兩個(gè)交換機(jī)之間也要做級(jí)聯(lián),鏈路聚合的好處是一穩(wěn)定,二帶寬不浪費(fèi),三高可用 。
2.存儲(chǔ)方面,除了系統(tǒng)盤之外,每臺(tái)物理機(jī)使用2塊硬盤貢獻(xiàn)出來作為ceph存儲(chǔ)池使用,1塊硬盤作為本地lvm存儲(chǔ)并掛載給鏡像和備份目錄使用,這樣可以比較靈活,需要實(shí)現(xiàn)HA功能虛擬機(jī)可以放在ceph存儲(chǔ)池,lvm存儲(chǔ)池主要存放模板鏡像文件,也可以給其他虛擬機(jī)使用,lvm存儲(chǔ)池的虛擬機(jī)在相應(yīng)速度上理論上要比ceph的要高,這里具體不闡述。ceph存儲(chǔ)池使用3mon,3副本。
3.CPU和內(nèi)存方面根據(jù)實(shí)際需求確定,這里不贅述。
操作記錄:
一.環(huán)境準(zhǔn)備:
基于以上考慮,在這臺(tái)pve環(huán)境上面,創(chuàng)建3個(gè)虛擬機(jī),3vcpu/12G內(nèi)存/4塊硬盤/2塊網(wǎng)卡 ,其中硬盤方面1塊硬盤為系統(tǒng)盤31G,2塊30G的ceph盤,1塊32G的lvm盤,網(wǎng)卡方面1塊網(wǎng)卡同時(shí)給集群和虛擬機(jī)使用(192.168.1.0/24網(wǎng)段),1塊網(wǎng)卡作為ceph存儲(chǔ)網(wǎng)絡(luò)(192.168.170.0/24網(wǎng)段)使用。創(chuàng)建虛擬機(jī)如下:
剩下2臺(tái)測(cè)試虛擬機(jī),直接克隆,分別為pve-2,pve-3 .
接下來分別啟動(dòng)pve-1,pve-2,pve-3 進(jìn)行proxmox VE的安裝,如下圖:
安裝步驟都很簡單,傻瓜式的,其中選擇硬盤會(huì)默認(rèn)第一塊硬盤安裝系統(tǒng),然后是設(shè)置root密碼等等,網(wǎng)絡(luò)配置步驟:
這里hostname要求寫成FQDN格式,我試了直接使用pve-2,不行,最后是使用pve-2.ywb.com 。
3臺(tái)虛擬機(jī)同時(shí)安裝,非???,不到10分鐘,居然就安裝完了!感覺比裝vmware的ESXI也更快啊。
點(diǎn)右下角的Reboot重啟。
第一階段搞定,后面就可以建集群,配網(wǎng)絡(luò),建存儲(chǔ)之類的后續(xù)操作了。
通過輸入網(wǎng)址:
https://192.168.1.51:8006
https://192.168.1.52:8006
https://192.168.1.53:8006
分別可以管理這3臺(tái)pve。
二.配置網(wǎng)絡(luò)
先將第二塊網(wǎng)卡的網(wǎng)絡(luò)配上,系統(tǒng)安裝過程中配置了第一塊網(wǎng)卡作為內(nèi)部管理集群網(wǎng)絡(luò),網(wǎng)段是192.168.1.0/24 ,登陸系統(tǒng)后可以發(fā)現(xiàn)這個(gè)地址是配置在網(wǎng)橋上的,網(wǎng)橋上搭一塊網(wǎng)卡進(jìn)行橋接,因此新建一個(gè)網(wǎng)橋并配置192.168.170.0/24網(wǎng)段的地址給它,搭另一塊網(wǎng)卡進(jìn)行橋接,如下圖:
注意第一塊網(wǎng)卡設(shè)置了網(wǎng)關(guān)是192.168.1.1,這塊網(wǎng)卡就不能設(shè)置網(wǎng)關(guān)了 。這個(gè)比較好理解,其實(shí)就是在主機(jī)上設(shè)置了默認(rèn)網(wǎng)關(guān),只能有一個(gè)。
增加完網(wǎng)橋之后,需要重啟pve節(jié)點(diǎn)生效配置。(網(wǎng)絡(luò)更改都需要重啟節(jié)點(diǎn)才能生效。)
三.存儲(chǔ)設(shè)置
接下來處理存儲(chǔ),進(jìn)去看pve節(jié)點(diǎn)的存儲(chǔ),安裝的時(shí)候安裝程序會(huì)默認(rèn)在安裝盤上建立一個(gè)vg,名稱是pve,在這個(gè)vg上建立swap/root/data三個(gè)lv ,其中root這個(gè)lv上掛載/根目錄。 安裝完成之后直接默認(rèn)有兩個(gè)存儲(chǔ)ID,一個(gè)是local,對(duì)應(yīng)的是目錄型存儲(chǔ),掛載目錄是/var/lib/vz ,一個(gè)是local-lvm,掛載的是data這個(gè)lv,這個(gè)lv的類型是lvm-thin ,lvm-thin這種類型很適合虛擬機(jī)使用,具體如何創(chuàng)建后面再介紹。另外,pve的各種存儲(chǔ)類型主要有目錄型/lvm/lvm-thin/zfs/nfs/ceph等等,具體可以參考官網(wǎng)的admin文檔。
我當(dāng)初的設(shè)計(jì)是需要將最后一塊32G的盤/dev/sdb作為目錄/var/lib/vz的掛載盤,這個(gè)目錄下面存放鏡像文件,備份文件,也可以直接存放本機(jī)虛擬機(jī)文件和容器文件。這一塊工作需要先在后臺(tái)將sdb這塊盤劃分了lvm才能給系統(tǒng)使用。因此, 首先通過ssh登陸pve服務(wù)器,執(zhí)行:
pvcreate /dev/sdb ---注意,我這里沒有分區(qū),直接使用整塊硬盤,使用分區(qū)其實(shí)也是可以的 vgcreate vg-sdb /dev/sdb lvcreate --thin -L 30G -n lvm-sdb vg-sdb 注:不能使用32G,提示空間不夠,--thin表示類型是lvm-thin ,如果創(chuàng)建的時(shí)候沒有加這個(gè)參數(shù),可以事后執(zhí)行l(wèi)vconvert --type thin-pool vg-sdb/lvm-sdb 命令轉(zhuǎn)化類型,如果是為掛載目錄使用,可以不使用thin類型。 mkfs.ext4 /dev/vg-sdb/lvm-sdb 更改local存儲(chǔ)目錄/var/lib/vz的掛載點(diǎn)為/dev/vg-sdb/lvm-sdb : mount /dev/vg-sdb/lvm-sdb /var/lib/vz 在/etc/fstab文件中寫入下面這行,使開機(jī)自動(dòng)掛載: /dev/vg-sdb/lvm-sdb /var/lib/vz ext4 defaults 1 2
調(diào)整pve-1節(jié)點(diǎn)的local存儲(chǔ)池為共享池,這樣可以只上傳鏡像到這個(gè)存儲(chǔ)池,其他節(jié)點(diǎn)也可以共享使用,如下圖:
上傳第一個(gè)ISO鏡像,通過scp程序,我用的是winscp,直接從本機(jī)上傳到pve-1的/var/lib/vz/templates/iso/目錄中,如下圖:
當(dāng)然,也可以使用web管理界面直接上傳,如下圖:
四.創(chuàng)建集群:
在其中一臺(tái)pve服務(wù)器的web管理界面上首先創(chuàng)建一個(gè)集群,如下圖:
接下來,通過ssh登陸其他2個(gè)pve節(jié)點(diǎn),執(zhí)行 pvecm add 192.168.1.51 (這個(gè)地址是上面建立集群的pve節(jié)點(diǎn)的IP)命令加入集群cluster1,如下圖:
加入完成之后,可以通過命令 pvecm status 在任何一個(gè)節(jié)點(diǎn)上查看集群情況,如下圖:
如果要查看集群日志,可以看文件/var/log/daemon.log 。
集群建立完成之后,任何一個(gè)pve節(jié)點(diǎn)的web管理界面視圖都可以管理整個(gè)集群,如下圖:
五.ceph安裝配置
參考官網(wǎng)這個(gè)網(wǎng)址:
https://www.proxmox.com/en/training/video-tutorials/item/install-ceph-server-on-proxmox-ve
這是一個(gè)詳細(xì)的視頻教程,基本的設(shè)計(jì)思路和我這個(gè)環(huán)境差不多,都是3個(gè)節(jié)點(diǎn),只有網(wǎng)絡(luò)是真正的3個(gè)網(wǎng)絡(luò),我是因?yàn)闂l件限制,將集群管理和虛擬機(jī)業(yè)務(wù)網(wǎng)絡(luò)合二為一了,其他的都差不多。
首先在每一個(gè)節(jié)點(diǎn)安裝ceph軟件包:
pveceph install –version luminous
注意,官網(wǎng)視頻里面用的jewel版本,我們安裝的pve版本是5.2對(duì)應(yīng)的ceph版本已經(jīng)是luminous版本了。
執(zhí)行過程中提示軟件包相關(guān)錯(cuò)誤,如下:
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 command W: (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
需要執(zhí)行這個(gè)命令進(jìn)行確認(rèn):
touch '/please-remove-proxmox-ve' 再次執(zhí)行install命令,最后還是有一個(gè)報(bào)錯(cuò): cp: cannot stat '/usr/share/doc/pve-manager/examples/ceph.service': No such file or directory could not install ceph.service
然后發(fā)現(xiàn)pveceph命令找不到了?。。?! 應(yīng)該是在上面安裝過程中軟件包錯(cuò)誤處理的時(shí)候?qū)⑦@個(gè)軟件包卸載了。咋辦?另外,在web管理界面,創(chuàng)建虛擬機(jī)啟動(dòng)虛擬機(jī)連接虛擬機(jī)失敗,說明上面命令卸載了部分或者大部分關(guān)鍵軟件包,嗝屁了。通過在網(wǎng)上查相關(guān)信息,只看到全真道長sery那里就在幾天前也發(fā)現(xiàn)了這個(gè)問題,確認(rèn)就是沒有訂閱造成的,被一家公司控制的開源產(chǎn)品,缺陷出來了。道長sery那邊的消息是,如果訂閱,是249.9歐元每CPU每年,這算下來與vmware的授權(quán)也差不多了,那我還用個(gè)毛的開源軟件啊。下圖是官網(wǎng)的報(bào)價(jià):
看來只有自己手動(dòng)安裝ceph集群了。
總結(jié):
本篇博文嘗試搭建一套3節(jié)點(diǎn)的Proxmox VE 集群,安裝過程非??欤拍钜埠芮逦?,web管理界面非常好用,但是在進(jìn)行到存儲(chǔ)ceph安裝的時(shí)候出現(xiàn)了訂閱問題。
安裝到這里,反正也已經(jīng)基本摸了一遍集群的實(shí)際落地操作,并踩到了一個(gè)大坑,那就是ceph的安裝配置5.2版本需要訂閱官方授權(quán)才能使用。具體如何解決,初步2個(gè)辦法,第一個(gè)是測(cè)試歷史版本,據(jù)說歷史版本可以使用,第二個(gè)是手動(dòng)安裝ceph集群,然后在pve中做一些簡單配置連接使用這個(gè)ceph集群,第二個(gè)辦法的缺點(diǎn)是沒有辦法統(tǒng)一集成管理pve和ceph,只能分開管理,但是對(duì)于大規(guī)??的應(yīng)用場(chǎng)景,可能反倒是一個(gè)優(yōu)點(diǎn)。我的想法是,兩個(gè)辦法都要去踩一遍,對(duì)于小規(guī)模使用場(chǎng)景使用第一個(gè)用歷史版本的辦法,對(duì)大規(guī)模場(chǎng)景,都可以。
注:至今天(2018年9月23日)為止,官網(wǎng)上能下載的版本有5.2-1, 5.1-3, 5.0-5ab26bc-5 三個(gè)版本,三個(gè)版本我都測(cè)試過了,pveceph工具install之后都不正常。更老的版本現(xiàn)在暫時(shí)未找到。
注,上面說的“手動(dòng)安裝ceph集群,然后在pve中做一些簡單配置連接使用這個(gè)ceph集群” ,已經(jīng)驗(yàn)證可以實(shí)現(xiàn),參考下面的文章:http://www.sfodin.cn/Linux/2018-12/155769.htm