如何快速安裝Ceph的物件式儲存服務?
前言
這篇文章主要依據文件[1],來介紹如何安裝Ceph的物件式儲存服務。如果原官方文件有修改,請以官方文件為準。實際安裝的Linus版本為Ubuntu 14.04。進一步了解Ceph可以參考另一篇文章,了解Ceph的儲存服務。
安裝步驟
使用ceph-deploy這個工具來快速架設。這邊的範例,一共有四個節點分別為,管理節點adm、監控節點mon, 還有兩個OSD節點,osd0, osd1。安裝程序由管理節點(adm node)開始進行。
1. 建立ceph-deploy在管理節點上
系統安裝的第一步,先建置管理節點(adm node),這個節點主要負責管理與建置其他節點使用。ceph-depoly這個工具就是安裝在此節點上。a. 加入ceph的金鑰
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
加入ceph下載的金鑰,使系統可以取得目前的套件。
b. 將ceph packages下載到系統的repository上
echo deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
將{ceph-stable-release}改成你要安裝的版本代號,例如,你要安裝0.9版本,就改成inferanalis
c. 更新你系統的repository並且安裝ceph-deploy:
sudo apt-get update && sudo apt-get install ceph-deploy
2. 安裝NTP服務
完成ceph-deply的安裝後,接著就是安裝NTP Server來提供各節點時間校正。安裝NTP在admin node上
sudo apt-get install ntp
3. 建立一個user用來安裝ceph,給ceph-deploy使用
a. 在每個ceph節點上建立一個user
ssh user@ceph-server
sudo useradd -d /home/{username} -m {username}
sudo passwd {username}
這個user主要是讓ceph-deploy連線與執行安裝與更新使用。
b. 設定新建立的user具有sudo的權限
echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}
執行ceph-deploy的user需要sudo權限。
c. 啟用免密碼SSH連線
這個步驟請參閱,如何在Ubuntu啟用不用密碼的SSH連線? ssh-copy-id {username}@node1
ssh-copy-id {username}@node2
ssh-copy-id {username}@node3
d. 設定SSH預設連線帳號
Host node1
Hostname node1
User {username}
Host node2
Hostname node2
User {username}
Host node3
Hostname node3
User {username}
4. 快速建立Storage Cluster
a. 建立一個資料夾來儲存ceph-deploy的輸出檔案
mkdir my-cluster
cd my-cluster
b.建立cluster
ceph-deploy new {initial-monitor-node(s)}
初始化監控節點
例如:
ceph-deploy new mon
c. 編輯ceph設定檔(ceph.conf)
修改預設的replica的數目,由3改成2,這個例子只有兩個OSD節點。在設定檔中找到[global]段落,並且修改osd pool default size
osd pool default size = 2
d. 安裝ceph
完成相關的設定後就可以開始透過ceph-deploy來進行安裝美個節點。 ceph-deploy install {ceph-node}[{ceph-node} ...]
例如:
ceph-deploy install adm mon node1 node2
e. 初始化monitor節點
ceph-deploy mon create-initial
f. 建立OSD節點
這邊主要是建立一個測試用的OSD節點,所以直接使用OSD節點上的local磁碟空間,進一步的使用可以參考[2] ssh node2
sudo mkdir /var/local/osd0
exit
ssh node3
sudo mkdir /var/local/osd1
exit
從你的admin node來執行ceph-deploy,進行osd的初始化,
ceph-deploy osd prepare {ceph-node}:/path/to/directory
例如:
ceph-deploy osd prepare osd0:/var/local/osd0 osd1:/var/local/osd1
啟用OSD節點
ceph-deploy osd activate {ceph-node}:/path/to/directory
例如:
ceph-deploy osd activate osd0:/var/local/osd0 osd1:/var/local/osd1
g. 複製設定檔與key到你的節點上
ceph-deploy admin {admin-node} {ceph-node}
例如:
ceph-deploy admin admin adm mon osd0 osd1
h. 確認key的檔案權限
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
i. 確認cluster健康狀態
ceph health
如果可以成功看到ceph的狀態回報為HEALTH_OK就表示成功。
參考
- Ceph document, Installation (Quick), http://docs.ceph.com/docs/master/start/quick-ceph-deploy/
- http://docs.ceph.com/docs/master/rados/deployment/ceph-deploy-osd/
留言
張貼留言