不卸載ceph重新獲取一個干凈的集群環境


不卸載ceph重新獲取一個干凈的集群環境

標簽(空格分隔): ceph ceph環境搭建 運維


部署了一個ceph集群環境,由於種種原因需要回到最開始完全clean的狀態,而又不想卸載ceph客戶端或者重新搭建虛擬機,此篇博客的目的就是為了解決這一問題。

我的環境:node1的角色為osd,mon,node2和node3的角色都為osd。每個host的系統為centos7,每個host上部署兩個osd。ceph版本為luminous (12.4.1 )。之外有一個host作為專門部署ceph的admin節點,系統同樣是centos7。

1. ceph環境清理!

在每個ceph節點上執行如下指令,即可將環境清理至剛安裝完ceph客戶端時的狀態!強烈建議在舊集群上搭建之前清理干凈環境,否則會發生各種異常情況。

ps aux|grep ceph |awk '{print $2}'|xargs kill -9
ps -ef|grep ceph

確保此時所有ceph進程都已經關閉!!!如果沒有關閉,多執行幾次

umount /var/lib/ceph/osd/*
rm -rf /var/lib/ceph/osd/*
rm -rf /var/lib/ceph/mon/*
rm -rf /var/lib/ceph/mds/*
rm -rf /var/lib/ceph/bootstrap-mds/*
rm -rf /var/lib/ceph/bootstrap-osd/*
rm -rf /var/lib/ceph/bootstrap-rgw/*
rm -rf /var/lib/ceph/bootstrap-mgr/*
rm -rf /var/lib/ceph/tmp/*
rm -rf /etc/ceph/*
rm -rf /var/run/ceph/*

同時情況admin節點中my-cluster目錄下的所有內容:

cd /root/my-cluster/
rm *

雖然這個時候環境已經清理干凈,但是ceph卻還不能運行,需要執行下面的操作。

2. 重新啟動ceph:

2.1 在admin節點上執行下面的命令:

創建my-cluster目錄之后,進入該目錄下創建集群:

ceph-deploy new node1

2.2 在每個ceph節點上執行下面的命令:

如果想要隨便更新ceph,並且網速不好,需要從https://download.ceph.com/rpm-luminous/el7/x86_64/下載最新安裝包放到/var/cache/yum/x86_64/7/Ceph/packages/文件夾下
執行下面的命令重新安裝ceph:

sudo yum install ceph epel-release ceph-radosgw

安裝完成后,查看ceph版本確定安裝成功:

ceph --version

添加防火牆規則:

firewall-cmd --zone=public --add-service=ceph-mon --permanent(僅mon節點執行,如不添加就不能在其他節點執行ceph命令)
firewall-cmd --zone=public --add-service=ceph --permanent
firewall-cmd --reload

3. 在admin節點執行:

ceph-deploy install --release luminous node1 node2 node3

4. 在admin節點初始化mon:

ceph-deploy mon create-initial

5. 賦予各個節點使用命令免用戶名權限:

ceph-deploy admin node1 node2 node3

6. 安裝ceph-mgr (僅luminous版本,為使用dashboard做准備):

ceph-deploy mgr create node1

7. 添加osd:

ceph-deploy osd createnode1:sdb1 node2:sdb1 node3:sdb1 node1:/dev/sdc1 node2:/dev/sdc1 node3:/dev/sdc1

需要說明的是該sdb是在各個節點上為osd准備的空閑磁盤(無需分區格式化,如果有分區需要指定具體分區),通過如下命令查看:

ssh node1 lsblk -f 

最后通過如下命令查看集群狀態:

ssh node1 sudo ceph -s

如果顯示health_ok,6個osd up就成功了。

但在環境創建完成后,該命令執行后,雖然集群狀態為health_ok,但是卻顯示0個osd。在ceph節點使用ceph osd tree命令后竟然啥都沒有,最后需要在admin部署節點,執行如下命令:

ceph-deploy osd activate  node1:/dev/sdb1 node2:/dev/sdb1 node3:/dev/sdb1 node1:/dev/sdc1 node2:/dev/sdc1 node3:/dev/sdc1

至此就得到一個干凈的ceph環境,這種方法可以徹底清除原來滯留的數據

結束語

第一次使用markdown寫博客,參考了 高亮顯示linux命令, MarkDown寫作技巧 簡單完成此篇博客書寫語法方面的問題。特別感謝徐小胖的 快速部署ceph ,從該作者的一系列的博客學習很多ceph相關的知識,包括疑難問題解決,運維常用知識等。


免責聲明!

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



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