ceph 存儲安裝部署


環境准備

1.三台服務器

  • cephnode01 192.168.254.83

  • cephnode02 192.168.254.84

  • cephnode03 192.168.254.85

2.基本環境配置

  • 設置主機名

#192.168.254.83

hostnamectl set-hostname cephnode01



#192.168.254.84

hostnamectl set-hostname cephnode02



#192.168.254.85

hostnamectl set-hostname cephnode03

  • 添加hosts綁定

      在每個服務器上添加host綁定,確保可以通過域名進行訪問
    

192.168.254.83 cephnode01

192.168.254.84 cephnode02

192.168.254.85 cephnode03

  • 關閉防火牆

systemctl stop firewalld.service

systemctl disable firewalld.service

  • 禁用selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

  • 時間更新同步

yum install ntpdate -y

ntpdate asia.pool.ntp.org

  • 做免密鑰認證

在管理節點上生成密鑰,並復制到其他節點

安裝ceph

  • 安裝ceph管理工具ceph-deploy

yum install -y ceph-deploy

  • 創建工作目錄

mkdir /ceph ; cd /ceph

  • 安裝ceph客戶端

在每台主機上安裝ceph

yum install -y ceph 

或者 在管理節點上之行

ceph-deploy install cephnode01 cephnode02 cephnode03

  • 在管理主機上操作

 啟動一個新的ceph集群,並設置初始監控節點

ceph-deploy new cephnode01 cephnode02 cephnode03     建議是奇數

激活監控節點

ceph-deploy mon create-initial

磁盤操作

 ceph-deploy disk zap cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1   #擦出盤所有數據

ceph-deploy osd prepare  cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1        #格式化盤

ceph-deploy osd activate  cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1    #激活盤




也可以使用create完成,但是有bug

ceph-deploy osd create node4:sdb node2:sdb node4:sdc node2:sdc node3:sdb node3:sdc

 

確認集群狀態,顯示OK則正常

ceph -s

  • 創建相關的池

ceph osd pool create image 64



ceph建好后默認有個rbd池,可以考慮刪除

ceph osd pool delete rbd rbd --yes-i-really-really-mean-it

創建一個鏡像,-p參數指定池的名稱,-size單位為M

 rbd create test --size 1024 -p image

如果安裝中途有什么問題,可以推到重來


ceph-deploy purge 節點1 節點2 ....

ceph-deploy purgedata 節點1 節點2 ....

ceph-deploy forgetkeys

參考:http://docs.ceph.org.cn/

其他命令

rados lspools 查看池子

ceph -s 或 ceph status 查看集群狀態

ceph -w 觀察集群健康狀態

ceph quorum_status --format json-pretty 檢查ceph monitor仲裁狀態

ceph df 檢查集群使用情況

ceph mon stat 檢查monitor狀態

ceph osd stat 檢查osd狀態

ceph pg stat 檢查pg配置組狀態

ceph pg dump 列出PG

ceph osd lspools 列出存儲池

ceph osd tree 檢查osd的crush map

ceph auth list 列出集群的認證密鑰

ceph 獲取每個osd上pg的數量


ceph pg dump | awk '  

 /^pg_stat/ { col=1; while($col!="up") {col++}; col++ }  

 /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;  

 up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }  

 for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}  

}  

END {  

 printf("\n");  

 printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");  

 for (i in poollist) printf("--------"); printf("----------------\n");  

 for (i in osdlist) { printf("osd.%i\t", i); sum=0;  

 for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; poollist[j]+=array[i,j] }; printf("| %i\n",sum) }  

 for (i in poollist) printf("--------"); printf("----------------\n");  

 printf("SUM :\t"); for (i in poollist) printf("%s\t",poollist[i]); printf("|\n");  

}' 

啟動osd服務:

/usr/bin/systemctl start ceph-osd@0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM