1. 程式人生 > >Ubuntu安裝部署Ceph J版本

Ubuntu安裝部署Ceph J版本

ceph sds

安裝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版本