基于openEuler的Ceph分布式存儲(chǔ)集群部署指南
環(huán)境要求
- 操作系統(tǒng):openEuler 22.03 LTS(三臺(tái)云主機(jī))
- 節(jié)點(diǎn)角色:
storage01
:mon/mgr/osd節(jié)點(diǎn)storage02
:osd節(jié)點(diǎn)storage03
:osd節(jié)點(diǎn)
- 磁盤規(guī)劃:每節(jié)點(diǎn)至少2塊磁盤(系統(tǒng)盤+數(shù)據(jù)盤
/dev/sdb
)
初始配置(所有節(jié)點(diǎn)執(zhí)行)
# 設(shè)置主機(jī)名(按節(jié)點(diǎn)分別執(zhí)行) hostnamectl set-hostname storage01 # 第一節(jié)點(diǎn) hostnamectl set-hostname storage02 # 第二節(jié)點(diǎn) hostnamectl set-hostname storage03 # 第三節(jié)點(diǎn) # 關(guān)閉防火墻和SELinux(所有節(jié)點(diǎn)) systemctl stop firewalld && systemctl disable firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 # 配置時(shí)間同步(重要?。? yum install -y chrony systemctl enable chronyd --now chronyc sources
軟件倉(cāng)庫(kù)配置(storage01節(jié)點(diǎn))
部署本地倉(cāng)庫(kù)服務(wù)
# 解壓Ceph軟件包到共享目錄 tar -zxf ceph-14.2.22.tar.gz -C /opt/ # 安裝并配置HTTP服務(wù)(替代FTP) yum install -y nginx cat > /etc/nginx/conf.d/repo.conf << EOF server { listen 80; server_name localhost; root /opt; autoindex on; } EOF # 啟動(dòng)服務(wù) systemctl enable nginx --now
其他節(jié)點(diǎn)配置(storage02/storage03)
# 配置倉(cāng)庫(kù)文件 cat > /etc/yum.repos.d/ceph.repo << EOF [ceph] name=Ceph Packages baseurl=http://storage01/ceph-14.2.22 enabled=1 gpgcheck=0 [baseos] name=openEuler-22.03-LTS-BaseOS baseurl=https://repo.openeuler.org/openEuler-22.03-LTS/OS/\$basearch/ enabled=1 gpgcheck=0 EOF # 更新緩存 dnf clean all && dnf makecache
集群初始化配置
主機(jī)名解析(所有節(jié)點(diǎn))
# 在storage01操作 cat >> /etc/hosts << EOF 192.168.100.11 storage01 192.168.100.12 storage02 192.168.100.13 storage03 EOF # 同步到其他節(jié)點(diǎn) scp /etc/hosts root@storage02:/etc/ scp /etc/hosts root@storage03:/etc/
SSH免密登錄
# 生成密鑰(storage01執(zhí)行) ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 分發(fā)公鑰 ssh-copy-id storage01 ssh-copy-id storage02 ssh-copy-id storage03
Ceph集群部署
安裝依賴組件
# 所有節(jié)點(diǎn)安裝基礎(chǔ)工具 dnf install -y python3 python3-pip tar # 安裝Ceph部署工具(storage01執(zhí)行) pip3 install ceph-deploy
初始化集群
mkdir /etc/ceph && cd /etc/ceph ceph-deploy new storage01 # 生成初始配置 # 編輯配置文件添加兼容性參數(shù) cat >> ceph.conf << EOF osd_pool_default_size = 3 osd_pool_default_min_size = 1 mon_allow_pool_delete = true EOF # 安裝Ceph組件(全節(jié)點(diǎn)) ceph-deploy install --no-adjust-repos storage01 storage02 storage03
部署監(jiān)控服務(wù)
# 初始化mon節(jié)點(diǎn) ceph-deploy mon create-initial # 禁用不安全認(rèn)證 ceph config set mon auth_allow_insecure_global_id_reclaim false
部署存儲(chǔ)節(jié)點(diǎn)
# 創(chuàng)建OSD(注意:openEuler磁盤路徑可能不同) ceph-deploy osd create --data /dev/sdb storage01 ceph-deploy osd create --data /dev/sdb storage02 ceph-deploy osd create --data /dev/sdb storage03 # 部署管理服務(wù) ceph-deploy mgr create storage01 storage02 storage03
存儲(chǔ)池創(chuàng)建與驗(yàn)證
# 創(chuàng)建存儲(chǔ)池 ceph osd pool create vms 32 ceph osd pool create images 32 ceph osd pool create volumes 32 # 設(shè)置PGP數(shù)量(必須等于PG數(shù)) ceph osd pool set vms pgp_num 32 ceph osd pool set images pgp_num 32 ceph osd pool set volumes pgp_num 32 # 驗(yàn)證集群狀態(tài) ceph -s
關(guān)鍵驗(yàn)證輸出
# ceph -s 健康狀態(tài) cluster: id: 4a3b9c8d-6e1f-4c7a-bd82-5a0f6e2c1b7a health: HEALTH_OK # osd tree結(jié)構(gòu) ID CLASS WEIGHT TYPE NAME STATUS 0 hdd 0.01949 osd.0 up 1 hdd 0.01949 osd.1 up 2 hdd 0.01949 osd.2 up
部署后優(yōu)化建議
- CRUSH Map調(diào)優(yōu):根據(jù)實(shí)際硬件拓?fù)湔{(diào)整數(shù)據(jù)分布策略
- 性能優(yōu)化:根據(jù)SSD/HDD混合部署場(chǎng)景配置緩存分層
- 監(jiān)控集成:部署Prometheus+Grafana實(shí)現(xiàn)可視化監(jiān)控
到此這篇關(guān)于基于openEuler的Ceph分布式存儲(chǔ)集群部署指南的文章就介紹到這了,更多相關(guān)openEuler Ceph集群部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
kubernetes?部署dashboard最新詳細(xì)步驟
這篇文章主要介紹了kubernetes?部署dashboard最新詳細(xì)步驟,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06k8s 中的 service 如何找到綁定的 Pod 及實(shí)現(xiàn) 
service 是一組具有相同 label pod 集合的抽象,集群內(nèi)外的各個(gè)服務(wù)可以通過(guò) service 進(jìn)行互相通信,這篇文章主要介紹了k8s 中的 service 如何找到綁定的 Pod 以及如何實(shí)現(xiàn) Pod 負(fù)載均衡,需要的朋友可以參考下2022-10-10Kubernetes控制器中DaemonSet與Job的使用教程
這篇文章主要介紹了Kubernetes控制器中DaemonSet與Job的使用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08K8S?實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了K8S?實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03K8S內(nèi)部pod之間相互調(diào)用案例以及詳解
這篇文章主要給大家介紹了關(guān)于K8S內(nèi)部pod之間相互調(diào)用案例的相關(guān)資料,Pod是Kubernetes中最小的可部署單元,它是一個(gè)或多個(gè)容器的集合,它們共享網(wǎng)絡(luò)和存儲(chǔ)資源,并在同一節(jié)點(diǎn)上運(yùn)行,需要的朋友可以參考下2023-08-08Rainbond調(diào)用Vue?React項(xiàng)目的后端接口
這篇文章主要為大家介紹了Rainbond調(diào)用Vue?React項(xiàng)目的后端接口問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04