Ubuntu安裝部署Ceph J版本
安裝Ubuntu系統安裝步驟略過
拓撲連接:
一、安裝前準備工作
1、修改主機名;將主機名更改為上圖中對應的主機名。
[[email protected] ~]# vim /etc/hostname
2、更新主機上的hosts文件,將主機名與如下IP進行解析。
192.168.100.128 ceph-node1
192.168.100.129 ceph-node2
192.168.100.130 ceph-node3
192.168.100.131 ceph-node4
[[email protected] ~]# vim /etc/hosts
3、生成root SSH密鑰;將SSH密鑰復制到ceph-node2和ceph-node3、ceph-node4之上。這樣就能實現節點間免密登錄。
[email protected]:~# ssh-keygen //一路回車即可
[email protected]:~# ssh-copy-id [email protected]
[email protected]:~# ssh-copy-id [email protected]
[email protected]:~# ssh-copy-id [email protected]
要實現所有節點免密登錄,就需要在每個節點上都操作一遍。
4、所有節點安裝並配置NTP
[email protected]:~# apt-get install ntp* -y
[email protected]:~# vim /etc/ntp.conf
[email protected]:~# /etc/init.d/ntp stop
[email protected]:~# ntpdate www.opencloud.vip
[email protected]:~# /etc/init.d/ntp start
5、替換所有節點Ubuntu國內源\添加國內Ceph安裝源和更新apt
替換Ubuntu國內源:
[email protected]:~# vim /etc/apt/sources.list //將原來的源替換為國內阿裏雲的源,只需將us改為cn即可。
添加Ubuntu Ceph國內安裝源
[email protected]:/etc/apt# export CEPH_DEPLOY_REPO_URL=https://mirrors.aliyun.com/ceph/debian-jewel
[email protected]:/etc/apt# echo deb https://mirrors.aliyun.com/ceph/debian-jewel/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
6、安裝密鑰
把密鑰加入你系統的可信密鑰列表內,以消除安全告警。對主要發行版(如 dumpling 、 emperor 、 firefly )和開發版(如 release-name-rc1 、 release-name-rc2 )應該用 release.asc 密鑰
[email protected]:/etc/apt# export CEPH_DEPLOY_GPG_URL=https://mirrors.aliyun.com/ceph/keys/release.asc
[email protected]:/etc/apt# wget -q -O- ‘http://mirrors.aliyun.com/ceph/keys/release.asc‘ | sudo apt-key add -
7、更新
[email protected]:~# apt-get update //更新前必須要先安裝密鑰,否則無法更新。
二、開始安裝Ceph
使用ceph-deploy工具在所有節點安裝並配置Ceph;ceph-deploy是用來方便的配置管理Ceph存儲集群。
1、在ceph-node1上安裝ceph-deploy
[email protected]:~# apt-get install ceph-deploy –y
2、創建一個ceph 目錄;並用ceph-deploy創建一個Ceph集群
[email protected]:~# mkdir /etc/ceph ; cd /etc/ceph
[email protected]:/etc/ceph# ceph-deploy new ceph-node1
3、通過ceph-deploy的子命令 new能部署一個默認的新集群,同時它能生成集群配置文件和密鑰文件。
在/etc/ceph下用ls命令可以看見相關文件:
[email protected]:/etc/ceph# pwd
/etc/ceph
[email protected]:/etc/ceph# ls
4、使用ceph-deploy在所有節點上安裝ceph
[email protected]:/etc/ceph# ceph-deploy install ceph-node1 ceph-node2 ceph-node3 ceph-node4
ceph-deploy工具首先會安裝相關依賴包;註意:Ubuntu16.04 在安裝過程中需要Python,如果節點沒有Python會導致安裝失敗,解決辦法:可以在每個節點先更新安裝一下Python,(apt-get install python)在進行部署;等待命令執行成功;如果中途報錯終止,可以重新執行上面命令繼續安裝。
安裝完成後在所有節點上查看Ceph版本及健康情況:
[email protected]:~# ceph -v
ceph version 10.2.3 (ecc23778eb545d8dd55e2e4735b53cc93f92e65b)
5、在ceph-node1上創建一個Monitor
[email protected]:/etc/ceph# ceph-deploy mon create-initial
創建成功之後,可以查看一下Ceph的健康狀況,通過ceph –s命令可以發現目前集群還不是正常的。
6、在Ceph-node1上創建OSD
(1)列出該節點上所有可用的磁盤
[email protected]:/etc/ceph# ceph-deploy disk list ceph-node1
選擇上面列出的磁盤作為OSD,除操作系統磁盤除外,一般操作系統盤為sda。
(2)通過命令清除分區及磁盤內容
[email protected]:/etc/ceph# ceph-deploy disk zap ceph-node1:/dev/sdc ceph-node1:/dev/sdd ceph-node1:/dev/sde ceph-node1:/dev/sdf
(3)創建OSD;osd create命令會將選擇的磁盤用XFS文件系統格式化磁盤,然後激活磁盤分區。
[email protected]:/etc/ceph# ceph-deploy osd create ceph-node1:/dev/sdc ceph-node1:/dev/sdd ceph-node1:/dev/sde ceph-node1:/dev/sdf
(4)創建OSD之後可以查看此時的集群的狀態,這裏主要看添加的OSD是否up;集群狀態目前還是處於不正常的狀態,還需要進一步配置才能使之正常。
[email protected]:/etc/ceph# ceph -s
[email protected]:/etc/ceph# lsblk
三、擴展ceph集群
通過上面的安裝過程,已經在ceph-node1節點上運行Ceph集群,目前它有1個Mon和4個OSD;接下將通過擴展集群的方式把剩下的所有節點全部加入Ceph集群,屆時將會有3個Mon、16個OSD。
在一個Ceph集群中至少有一個Monitor集群才能運行,但為了集群的高可用,一般情況下Ceph集群中3至5個Monitor,因在Ceph集群中必須依賴多於奇數個的Monitor來形成仲裁,在集群中Ceph會使用Paxos算法來確保仲裁的一致性。
1、在ceph配置文件中添加Public和Cluster網絡;使用vim對/etc/ceph/ceph.conf進行編輯
[email protected]:/etc/ceph# vim ceph.conf
2、再創建2個Monitor
[email protected]:/etc/ceph# ceph-deploy mon create ceph-node2 ceph-node3
將2個新的Monitor成功加入後,查看一下當前集群狀態以及Monitor狀態:
[email protected]:/etc/ceph# ceph -s
[email protected]:~# ceph mon stat
通過執行命令發行當前集群依然不是一個正常的狀態,是因為除了node1節點配置了OSD其他節點磁盤均沒有加入到ceph集群中,默認情況下數據會在集群中被復制三次,並放到不同節點上的不同OSD之上。
3、將剩余節點磁盤全部加入ceph集群
列出剩余節點所有可用磁盤:
[[email protected] ceph]# ceph-deploy disk list ceph-node2 ceph-node3 ceph-node4
清除節點磁盤分區及信息:
[email protected]:/etc/ceph# ceph-deploy disk zap ceph-node2:/dev/sdc ceph-node2:/dev/sdd ceph-node2:/dev/sde ceph-node2:/dev/sdf
[email protected]:/etc/ceph# ceph-deploy disk zap ceph-node3:/dev/sdc ceph-node3:/dev/sdd ceph-node3:/dev/sde ceph-node3:/dev/sdf
[email protected]:/etc/ceph# ceph-deploy disk zap ceph-node4:/dev/sdc ceph-node4:/dev/sdd ceph-node4:/dev/sde ceph-node4:/dev/sdf
將剩余節點磁盤創建OSD:
[email protected]:/etc/ceph# ceph-deploy osd create ceph-node2:/dev/sdc ceph-node2:/dev/sdd ceph-node2:/dev/sde ceph-node2:/dev/sdf
[email protected]:/etc/ceph# ceph-deploy osd create ceph-node3:/dev/sdc ceph-node3:/dev/sdd ceph-node3:/dev/sde ceph-node3:/dev/sdf
[email protected]:/etc/ceph# ceph-deploy osd create ceph-node4:/dev/sdc ceph-node4:/dev/sdd ceph-node4:/dev/sde ceph-node4:/dev/sdf
將其所有剩余節點磁盤全部成功加入ceph集群之後執行命令進行檢查OSD數量及狀態:
[email protected]:~# ceph –s
[email protected]:~# ceph osd tree
4、在對ceph集群添加了很多個OSD之後,還需要對pg_num和pgp_num值進行設定。這也就是為啥集群添加了多個OSD集群依然處於不正常狀態的根本原因。在生產環境中可以使用公式進行精確的計算,公式如下:
[email protected]:~# ceph osd pool set rbd pg_num 256
[email protected]:~# ceph osd pool set rbd pgp_num 256
[email protected]:~# ceph –s
本文出自 “無詺IT小站” 博客,轉載請與作者聯系!
Ubuntu安裝部署Ceph J版本