七、Ceph分布式存儲
Ceph以其先進的去中心化設計,成為了分布式塊存儲領域的佼佼者,它可以將多台服務器中的硬盤聚合成一個集群,對外可提供文件存儲、塊存儲、對象存儲等多種形式,Ceph的另一個特點是數據采用多副本方式存儲,避免由於單點故障造成的業務中斷和數據丟失。
7.1 Ceph的注意事項
Proxmox VE提供了簡單易用的Ceph 安裝向導,選中集群中的一個節點,然后在菜單樹中打開Ceph菜單區,就可以開始安裝Ceph 了。
安裝向導有多個步驟,每個步驟都需要執行成功才可以完成Ceph 安裝。開始安裝操作后,向導會自動從Proxmox VE 的Ceph 軟件源下載軟件包並完成安裝。
完成第一個步驟后,還需要創建配置。對每個集群,生成的配置信息會自動分發到其他節點,所以該操作只需要執行一次即可。
創建的配置包括以下信息:
- 1)Public Network
為避免影響集群通信等其他對網絡延遲敏感的服務,也為了提高Ceph 性能,強烈建議為Ceph 准備一個專門的獨立網絡,將Ceph流量隔離開來。
- 2) Cluster Network
進一步,還可以設置Cluster Network,將OSD復制和心跳流量隔離出來。這將有效降低public network的負載,並有效改善大規模Ceph集群的性能。
7.2 初始化Ceph安裝和配置
每個節點都需要安裝Ceph,每個節點的Ceph安裝基本相同,這里只演示節點1的Ceph安裝。
- 第一步:在節點1界面中,選擇“Ceph→Install Ceph”,點擊“Install Ceph”按鈕,如圖47所示。
圖47. Ceph安裝向導
- 第二步:選擇“設定→信息→Start octopus installation”,點擊“Start octopus installation”按鈕,如圖48所示。
圖48. 選擇15.2版本進行安裝
- 第三步:選擇“設定→安裝”,輸入“Y”之后,按回車鍵,自動安裝Ceph,如圖49所示。
圖49. 自動安裝Ceph
- 第四步:安裝完成之后,繼續點擊“下一步”按鈕,安裝成功之后,會提示安裝成功的信息“installed ceph octopus successfully”,如圖50所示。
圖50. Ceph安裝成功
- 第五步:完成Ceph集群配置信息,包括公共網絡IP、集群網絡IP等信息,如圖51所示。
圖51. Ceph集群配置
- 第六步:完成配置信息,Ceph安裝成功,如圖52所示。
圖52. Ceph安裝成功
- 第七步:查看配置信息,如圖53所示。
圖53. Ceph的配置信息
7.3 配置Ceph監視器
Ceph安裝完成之后,節點1出現“監視器”和“管理員”中,還需要把節點2和節點3添加進來。在本項目中,監視器節點和管理員節點信息如圖54所示。
圖54. Ceph的配置信息
從圖54中可以發現,監視器和管理網絡使用的都是公共網絡,沒有使用集群網絡。
- 第一步:在節點1的監視器中,創建另外兩個節點的監視器,點擊“創建”按鈕,如圖55所示。
圖55. 創建節點2監視器
- 第二步:在節點1的管理員,創建另外兩個節點的管理員,點擊“創建”按鈕,如圖56所示。
圖56. 創建節點2管理員
- 第三步:在Ceph監控界面查看節點的監視器和管理HA,選擇“bve-node1→Ceph”,如圖57所示。
Ceph的監控UI界面中,監視器和管理HA如圖57中的紅框所示:
圖57. Ceph的監視器和管理HA界面
7.4 配置Ceph的OSD
由圖3可知,各節點服務器支持八個盤位,其中sdc和sdd組成RAID1,作為系統盤使用,所以Ceph的OSD需要選擇未做RAID的硬盤,每個節點的OSD只有6個。
本項目中,三個節點的Ceph的OSD磁盤配置信息如圖58、圖59所示。
圖58. OSD配置信息-1
圖59. OSD配置信息-2
- 第一步:創建節點1的OSD
從節點1中登錄集群,在節點1中,選擇“Ceph→OSD→創建:OSD”,在磁盤中,逐次添加sda、sdb、sde、sdf、sdg、sdh這6塊沒有被使用的磁盤,數據庫磁盤和WAL磁盤保持默認即可,如圖60所示。
圖60. 創建OSD
注意,在本項目中,數據庫磁盤(DB Disk)和WAL磁盤(WAL Disk)我都選擇了默認方式,其實做一下硬盤規划會更好。
創建其他節點的OSD與節點1類似,這里不做詳述。
- 第二步:也可以在配置信息的Crush Map查看集群的OSD配置
選擇任意節點登錄集群,選擇“bve-node1→Ceph→配置→Crush Map”,從Crush Map中可以查看集群的OSD配置信息。
7.5 配置CephFS(可選)
7.5.1 創建CephFS
選擇“bve-node1→Ceph→CephFS→創建CephFS”,選擇默認值創建CephFS,創建之后如圖64所示。
圖64. 創建CephFS
7.5.2 元數據服務器配置
選擇“bve-node1→Ceph→CephFS→元數據服務器→創建”,將節點1添加進來,如圖65所示。
圖65. 添加元數據服務器節點
將節點1添加到元數據服務器之后,再用同樣的方法將節點2、節點3添加到元數據服務器之中去。
添加好元數據服務器節點之后,可以在Ceph監控界面看到元數據服務器的監控信息,如圖67所示。
圖67. 元數據服務器監控界面
7.6 配置Pools資源池
7.6.1 節點1配置Pools資源池
在Pools資源池配置之前,節點1的Pools界面如圖68所示。
圖68. 節點1的Pools界面
- 第一步:創建ssd_storage存儲
選擇“bve-node1→Ceph→Pools→創建”,點擊“創建”按鈕,創建名稱為“ssd_storage”的存儲,創建之后如圖69所示。
圖69. 創建ssd_storage存儲
根據官方的文檔,pg_num這個數值比較關鍵,如果不合適的話,Ceph會告警,官方建議:
若少於5個OSD, 設置pg_num為128。
5~10個OSD,設置pg_num為512。
10~50個OSD,設置pg_num為4096。
- 第二步:創建hdd_storage存儲
選擇“bve-node1→Ceph→Pools→創建”,點擊“創建”按鈕,創建名稱為“hdd_storage”的存儲,創建之后如圖70所示。
圖70. 創建hdd_storage存儲
- 第三步:創建完成之后,節點1左側的存儲菜單樹中會出現這兩個存儲名稱,如圖71所示,正常情況下,就可以在ssd_storage、hdd_storage上安裝虛擬機了。
圖71. ssd_storage與hdd_storage存儲
7.6.2 節點2配置Pools資源池
節點2的Pools資源池配置與節點1的相似,不再贅述。
7.6.3 節點3配置Pools資源池
節點3的Pools資源池配置與節點1的相似,不再贅述。
7.7 Ceph磁盤管理
7.7.1 OSD磁盤下線
如果想要把一個Ceph的OSD磁盤更換下來,先選中OSD磁盤,接着按“停止”按鈕先停止OSD服務,接着再按“Out”按鈕,這個時候OSD.10的狀態如圖75所示,就可以把該磁盤取出。
圖75. OSD磁盤卸載
7.7.2 OSD磁盤上線
OSD磁盤加載與OSD磁盤卸載過程剛好相反,先把磁盤插進服務器的盤位中,接着先按“in”按鈕,等“in”圖標變為綠色之后,再按“啟動”按鈕啟動OSD服務,過幾秒鍾之后,OSD便會恢復正常,不再演示截圖。