本文介紹如何建立一個ProxmoxVE集羣,並使用內部集成的Ceph做爲存儲。javascript
集羣包含5臺主機,其中3檯安裝ceph做爲存儲節點,爲剩下做爲計算節點2臺提供存儲。java
這裏,5臺主機均位於同一個集羣中。web
本文使用到的軟件版本:算法
VMware-Workstation 15.5shell
pve(proxmox VE)6.0.1vim
ceph:ceph nautilus 最新版安全
ssh鏈接工具:xshell 6網絡
1、環境配置數據結構
咱們須要創建以下包含5臺pve主機的集羣:app
存儲節點:
pve-store1:cpu 4核 內存2g 硬盤20g+500g 橋接網絡 IP地址 10.8.20.241
pve-store2: cpu 4核 內存2g 硬盤20g+500g 橋接網絡 IP地址 10.8.20.242
pve-store3 :cpu 4核 內存2g 硬盤20g+500g 橋接網絡 IP地址 10.8.20.243
計算節點:
pve-compute1 :cpu 4核 內存4g 硬盤20g 橋接網絡 IP地址 10.8.20.244
pve-compute2 :cpu 4核 內存4g 硬盤20g 橋接網絡 IP地址 10.8.20.245
二、存儲節點的安裝配置
先創建存儲節點,並以 pve-store1爲mgr創建pve集羣
(1)創建虛擬機
cpu記得開虛擬化
虛擬機屬性
(2)安裝pve
系統安裝在20g的硬盤上面
安裝摘要
(3)配置pve
使用xshell6鏈接剛安裝好的這臺主機,執行下面的任務:
安裝vim
apt update
apt install vim -y
安裝阿里雲的源
cd /etc/apt
vim sources.list.d/pve-enterprise.list
修改成
deb http://download.proxmox.wiki/debian/pve buster pve-no-subscription
cd /etc/apt/
vim sources.list
修改成:
deb http://mirrors.aliyun.com/debian buster main contrib
deb http://mirrors.aliyun.com/debian buster-updates main contrib
#安全更新
deb http://mirrors.aliyun.com/debian-security/ buster/updates main contrib
更新系統
apt update
apt upgrade -y
去除webui的訂閱提示
sed -i "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
重啓系統
init 6
按照上述方法安裝 pve-store二、pve-store3 ,再繼續進行下面的操做
(4)創建pve集羣
登陸pve-store1(https://10.8.20.241:8006)的web管理平臺,創建名爲pve-cluster的集羣,並將另外2臺主機加進來。具體方法能夠參考本博客的第一篇文章中的相關內容。
創建好的pve集羣
(5)創建ceph集羣
一、在 pve-store一、pve-store二、pve-store3上都執行如下命令安裝ceph
pveceph install (不帶版本號安裝的是最新的nautilus版)
稍等片刻,提示以下則表示安裝成功
ceph安裝成功
注意:計算節點不須要安裝ceph。
二、創建ceph集羣網絡,3個存儲節點上面均執行
pveceph init -network 10.8.20.0/24
三、 建立ceph集羣存儲Mon監控, 3個存儲節點上面均執行
pveceph createmon
建立監視器mon
Ceph Monitor:由該英文名字能夠知道它是一個監視器,負責監視Ceph集羣,維護Ceph集羣的健康狀態,同時維護着Ceph集羣中的各類Map圖,好比OSD Map、Monitor Map、PG Map和CRUSH Map,這些Map統稱爲Cluster Map,Cluster Map是RADOS的關鍵數據結構,管理集羣中的全部成員、關係、屬性等信息以及數據的分發,好比當用戶須要存儲數據到Ceph集羣時,OSD須要先經過Monitor獲取最新的Map圖,而後根據Map圖和object id等計算出數據最終存儲的位置。
四、 建立ceph集羣存儲OSD服務, 3個存儲節點上面均執行,事先爲3個存儲節點添加了一塊200G的新硬盤。
pveceph createosd /dev/sdb
建立osd
Ceph OSD:OSD的英文全稱是Object Storage Device,它的主要功能是存儲數據、複製數據、平衡數據、恢復數據等,與其它OSD間進行心跳檢查等,並將一些變化狀況上報給Ceph Monitor。通常狀況下一塊硬盤對應一個OSD,由OSD來對硬盤存儲進行管理,固然一個分區也能夠成爲一個OSD。
五、 建立集羣存儲資源池,將上面3個OSD結合在一塊兒對外提供存儲服務
只在做爲mgr的pve-store1上面執行
ceph osd pool create pve-pool 128 128
其中的128(pg_num)的設置:
少於 5 個 OSD 時,可把 pg_num 設置爲 128
OSD 數量在 5 到 10 個時,可把 pg_num 設置爲 512
OSD 數量在 10 到 50 個時,可把 pg_num 設置爲 4096
建立存儲池pve-pool
六、建立RBD塊設備存儲
RBD塊存儲是ceph提供的3種存儲類型中使用最普遍,最穩定的存儲類型。RBD塊相似於磁盤,能夠掛載到物理機或虛擬機中。這裏是掛載到pve主機上,做爲pve主機的存儲(共享存儲)。
登陸pve-store1的web管理頁面,依次打開:數據中心->存儲->添加->選擇RBD
打開添加RBD對話框
ID:填寫爲pve-rbd RBD設備的id
資源池:pve-pool,所屬的資源池
Monitor: pve-store1 pve-store2 pve-store3,監視器
節點:暫時添加pve-store1, pve-store2, pve-store3,表示集羣中哪些主機可使用該塊設備。
內容:存放的內容,選擇磁盤鏡像和容器,這樣ceph就能夠存放虛擬機的鏡像和下載的LXC容器了。
添加後,能夠看到集羣主機下會增長一個存儲
rbd塊設備存儲
能夠查看整個ceph的狀態信息
ceph集羣狀態
(6)ceph的相關操做
一、賦予應用相關權限
在pve-store1上執行
ceph osd pool application enable pve-pool rgw rbd
二、查看ceph有哪些存儲池
ceph osd lspools
三、查看ceph的空間大小及可用大小
ceph df
能夠看到目前3塊500G硬盤組成的ceph存儲集羣,最大可用空間爲473G≈500G。
四、查看ceph的副本數
ceph osd pool get pve-pool size
默認狀況下是3,即存放在ceph集羣中的數據會有3個副本,因此整個ceph集羣的可用空間大約是(500*3(osd數目))/3(副本數)=500G(裏面的算法很複雜,因此要少於500G,這裏其實是473G)
ceph副本數
設置新的副本數爲2
ceph osd pool set pve-pool size 2
設置事後,可能須要很長時間的配置,ceph集羣纔會自動恢復正常。不是必要請不要進行該操做。
五、 爲集羣安裝ceph Dashboard
在pve-store1上執行
apt install ceph-mgr-dashboard -y
ceph mgr module enable dashboard
ceph dashboard create-self-signed-cert
ceph dashboard ac-user-create admin admin123 administrator(其中 admin是用戶名 admin123是密碼 administrator指定用戶是管理員)
systemctl restart ceph-mgr@pve-store1.service
訪問https://10.8.20.241:8443,使用用戶名admin密碼admin123登陸便可。
ceph Dashboard登陸界面
ceph Dashboard主界面
ceph Dashboard -Hosts(主機)
ceph Dashboard -存儲池,能夠看到有3個副本
編輯存儲池,增長另外2個應用
總之,使用這個Dashboard,能夠單獨管理ceph(其實通常不用)。
三、計算節點的安裝配置
創建虛擬機
虛擬機名稱:pve-compute1
cpu:4核,開虛擬化
內存:4g
硬盤:20g
網絡:橋接模式
計算節點虛擬機配置
而後安裝和配置pve,設置其主機名爲: pve-compute1,ip地址設置爲:10.8.20.244/24,而後更改成國內源,最後更新系統。
更新系統成功
將這臺主機加入到上面的集羣中
點擊pve-store1的web管理平臺中數據中心→集羣→上面的加入信息按鈕,拷貝加入信息
集羣的加入信息
再打開pve-compute1的web管理平臺,點擊數據中心→集羣→上面的加入集羣按鈕,在對話框中粘貼集羣加入信息,輸入 pve-store1 的root密碼加入集羣
加入集羣
在pve-store1的web管理平臺中能夠看到新加入的主機
在pve-store1上,選擇數據中心→存儲→pve-rbd,再點擊上面的編輯按鈕
,
在節點處僅保留pve-compute1這臺主機
修改好以後,在左邊就能夠在pve-compute1節點下面多出了一個存儲
說明計算節點 pve-compute1可使用ceph存儲了。
用一樣的方法建立第二個計算節點 pve-compute2,並按照上面的方法zaipve-brd的節點那加入這臺主機
最後在 pve-compute1 或者 pve-compute2 上面建立、安裝虛擬機測試集羣,記得虛擬機的磁盤要使用pve-rbd這個存儲。