ceph集群部署與客戶端文件掛載流程

前期準備

1, 安裝ceph-deploy

sudo apt install ceph-deploy

2, 安裝ntp來同步節點的時間

#所有節點上
sudo apt-get install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl enable ntp
systemctl start ntp

3, 獲取集群節點的sudo權限
在集群各節點上創建

sudo useradd -d /home/{username} -m {username}
sudo passwd {username} #設置密碼
#例如,創建cephuser用戶
sudo useradd -d /home/cephuser -m cephuser
sudo passwd cephuser
#從 [Infernalis 版](http://docs.ceph.org.cn/release-notes/#v9-1-0-infernalis-release-candidate)起,用戶名 “ceph” 保留給了 Ceph 守護進程。如果 Ceph 節點上已經有了 “ceph” 用戶,升級前必須先刪掉這個用戶,所以盡量不要直接使用ceph當節點名稱。

對新建的用戶配置sudo權限

echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}

4, 配置集群主機免密登錄

vim /etc/hosts
#輸入以下內容
192.168.0.193   ceph-admin
192.168.4.4     mon1
192.168.4.1     ceph-osd1
192.168.4.2     ceph-osd2

實例中包含5個主機:192.168.0.193為管理節點,負責部署安裝ceph到各個存儲節點和監控節點。192.168.4.4為監控節點,負責同步存儲節點的數據。192.168.4.1,192.168.4.2為osd存儲節點,負責實際數據的存儲。

在管理節點上新建一個名為cephuser的用戶,配置ssh登錄密鑰

#在管理節點上
#切換用戶cephuser
su - cephuser
#生成ssh登錄密鑰
ssh-keygen
#配置主機(節點)列表
vim ~/.ssh/config
#主機列表內容如下
Host ceph-admin
        Hostname ceph-admin
        User cephuser
Host mon1
        Hostname mon1
        User cephuser
Host ceph-osd1
        Hostname ceph-osd1
        User cephuser
Host ceph-osd2
        Hostname ceph-osd2
        User cephuser

設置權限

chmod 644 ~/.ssh/config

發放密鑰到各節點

ssh-keyscan ceph-osd1 ceph-osd2 mon1 >> ~/.ssh/known_hosts
ssh-copy-id ceph-osd1
ssh-copy-id ceph-osd2
ssh-copy-id mon1

測試

#在管理節點上
ssh mon1
#試著從管理節點上ssh到mon1節點,若無需密碼即可登錄,則ok

5, 打開節點通信端口

sudo firewall-cmd --zone=public --add-port=6789-6800/tcp --permanent
sudo firewall-cmd reload

創建集群

1, 創建ceph-deploy工作文件夾

sudo mkdir my-cluster
cd my-cluster

往后的ceph-deploy操作都要在該文件夾中進行

2, 創建監控節點

ceph-deploy new mon1

3, 設置ceph副本數量

sudo vim ceph.conf 
osd pool default size = 0 #添加此段內容,設置副本數量為0

4, 從管理節點安裝ceph到各節點

ceph-deploy install ceph-admin mon1 ceph-osd1 ceph-osd2

5, 初始化監控節點

ceph-deploy mon create-initial

6, osd節點磁盤劃分

  • ceph-osd1節點
dd if=/dev/zero of=ceph-volumes.img bs=1M count=4200 oflag=direct
sgdisk -g --clear ceph-volumes.img
sudo vgcreate ceph-volumes $(sudo losetup --show -f ceph-volumes.img)
sudo lvcreate -L2G -nceph1 ceph-volumes
sudo mkfs.xfs -f /dev/ceph-volumes/ceph1
mkdir -p /srv/ceph/osd1
sudo mount /dev/ceph-volumes/ceph1 /srv/ceph/osd1
  • ceph-osd2節點
dd if=/dev/zero of=ceph-volumes.img bs=1M count=4200 oflag=direct
sgdisk -g --clear ceph-volumes.img
sudo vgcreate ceph-volumes $(sudo losetup --show -f ceph-volumes.img)
sudo lvcreate -L2G -nceph2 ceph-volumes
sudo mkfs.xfs -f /dev/ceph-volumes/ceph2
mkdir -p /srv/ceph/osd2
sudo mount /dev/ceph-volumes/ceph2 /srv/ceph/osd2

7, 激活集群

ceph-deploy osd prepare ceph-osd1:/srv/ceph/osd1
ceph-deploy osd activate ceph-osd1:/srv/ceph/osd1
ceph-deploy osd prepare ceph-osd2:/srv/ceph/osd2
ceph-deploy osd activate ceph-osd2:/srv/ceph/osd2

如果出現如下報錯

 [ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph-disk -v activate --mark-init upstart --mount /srv/ceph/osd1

使用以下命令解決

#切換到ceph-osd1
sudo chown ceph:ceph /srv/ceph/osd1
#切換到ceph-osd2
sudo chown ceph:ceph /srv/ceph/osd2

8, 檢測ceph集群狀態

  • 從客戶端發送配置文件和密鑰到各個節點
ceph-deploy admin ceph-admin mon1 ceph-osd1 ceph-osd2
  • 設置密鑰權限
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
  • 檢測ceph集群狀態
ceph health #如果為ok則部署成功
ceph -s #使用該命令可以看到集群的更多狀態信息

9, 添加新的monitor

ceph-deploy mon add ceph-osd1 ceph-osd2

10, 安裝元數據mds

ceph-deploy mds create mon1

掛載客戶端空間文件系統

1, 安裝ceph客戶端

  • 準備節點密鑰文件,將管理節點的my-cluster文件夾復制到客戶端節點。

  • 進入my-cluster文件夾,在客戶端節點上安裝ceph-deploy和ceph

apt-get install ceph-deploy 
ceph-deploy install localhost #localhost換成局域網ip也行
  • 設置客戶端節點權限
echo "{hostname} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{hostname}
sudo chmod 0440 /etc/sudoers.d/{hostname}
ssh-keygen
ssh-copy-id localhost
  • 分發密鑰和設置權限
ceph-deploy admin localhost #將密鑰發送到/etc/ceph
sudo chmod +r /etc/ceph/ceph.client.admin.keyring #設置權限

2, 掛載文件系統

sudo mkdir /cpehfs
sudo mount -t ceph 192.168.4.4:6789:/ /mycephfs/ -o name=admin,secret=AQAwcGpcMxkrOxAA3EcRJkmSMXB9nsDXplxhnQ== #AQAwcGpcMxkrOxAA3EcRJkmSMXB9nsDXplxhnQ==為ceph.client.admin.keyring的密鑰內容

3, 檢測文件系統掛載情況

df -h 

參考

ceph官方文檔
如何在 Ubuntu 16.04 中安裝 Ceph 存儲集群

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,835評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,676評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,730評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,118評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,873評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,266評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,330評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,482評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,036評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,846評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,025評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,575評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,279評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,684評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,953評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,751評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,016評論 2 375

推薦閱讀更多精彩內容