**ceph cluster for ubuntu**
1. 添加Ubuntu Ceph國內安裝源(各個節點)
# export CEPH\_DEPLOY\_REPO\_URL=[https://mirrors.aliyun.com/ceph/debian-jewel](https://mirrors.aliyun.com/ceph/debian-jewel)
\# echo deb https://mirrors.aliyun.com/ceph/debian-jewel/ $(lsb\_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
2\. 安裝密鑰(各個節點)
把秘鑰加入系統的可信密鑰列表內,以消除安全警告。
\# export CEPH\_DEPLOY\_GPG\_URL=[https://mirrors.aliyun.com/ceph/keys/release.asc](https://mirrors.aliyun.com/ceph/keys/release.asc)
\# wget -q -O- 'http://mirrors.aliyun.com/ceph/keys/release.asc' | sudo apt-key add -
3. 在master上安裝ceph-deploy。
\# sudo apt-get update && sudo apt-get install ceph-deploy
4. ceph節點安裝
安裝ntp:
\# sudo apt-get install ntp
安裝 SSH 服務器:
# sudo apt-get install openssh-server
5\. 允許無密碼 SSH 登錄
\# ssh-keygen
\# ssh-copy-id ip
# vim /etc/hosts
# ssh hostname \====>yes
6\. 開放所需端口
# sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent
# sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT
Eg : iptables -A INPUT -i ens33 -p tcp -s 192.168.166.131/24 --dport 6789 -j ACCEPT
# iptables-save
注意:
{iface}: 網卡名稱
{ip-address}/{netmask}:ip/24
7\. 如果在某些地方碰到麻煩,想從頭再來,可以用下列命令清除配置:
\# ceph-deploy purgedata {ceph-node} \[{ceph-node}\]
\# ceph-deploy forgetkeys
用下列命令可以連 Ceph 安裝包一起清除:
# ceph-deploy purge {ceph-node} \[{ceph-node}\]
8\. 集群部署
# mkdir my-cluster
# cd mk~
9\. 創建集群
# ceph-deploy new node1
1>. 在當前目錄下用ls和cat檢查ceph-deploy的輸出,應該有一個 Ceph 配置文件、一個 monitor 密鑰環和一個日志文件.
2>. 把 Ceph 配置文件里的默認副本數從3改成2,這樣只有兩個 OSD 也可以達到active?+?clean狀態。把下面這行加入\[global\]段:
osd pool default size = 2
3>. 安裝ceph
# ceph-deploy install admin-node node1 node2 node3
ceph-deploy將在各節點安裝 Ceph
4>. 配置初始 monitor(s)、并收集所有密鑰:
# ceph-deploy mon create-initial
完成上述操作后,當前目錄里應該會出現這些密鑰環:
* {cluster-name}.client.admin.keyring
* {cluster-name}.bootstrap-osd.keyring
* {cluster-name}.bootstrap-mds.keyring
* {cluster-name}.bootstrap-rgw.keyring
10. 添加兩個 OSD 。為了快速地安裝,這篇快速入門把目錄而非整個硬盤用于 OSD 守護進程。如何為 OSD 及其日志使用獨立硬盤或分區,登錄到 Ceph 節點、并給 OSD 守護進程創建一個目錄。
\# ssh node2
# sudo mkdir /var/local/osd0
# chown -R ceph.ceph /var/local/osd0
# exit
# ssh node3
# sudo mkdir /var/local/osd1
# chown -R ceph.ceph /var/local/osd1
# exit
11. 從管理節點執行ceph-deploy來準備 OSD 。
# ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1
12. 激活 OSD
# ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1
13\. 用?ceph-deploy?把配置文件和 admin 密鑰拷貝到管理節點和 Ceph 節點,這樣你每次執行 Ceph 命令行時就無需指定 monitor地址ceph.client.admin.keyring.
\# ceph-deploy admin node1 node2 node3
ceph-deploy和本地管理主機(admin-node)通信時,必須通過主機名可達。必要時可修改/etc/hosts,加入管理主機的名字。
14. 確保你對ceph.client.admin.keyring有正確的操作權限。
# sudo chmod +r /etc/ceph/ceph.client.admin.keyring
15\. 創建mgr.
\# ceph-deploy mgr create node2 node3
16\. 檢查集群的健康狀況.
# ceph health
**HEALTH\_OK**
# ceph status
```
**cluster:**
** id: dd1ba902-e104-45d1-b870-7c40593c6d14**
** health: HEALTH\_OK**
** services:**
** mon: 1 daemons, quorum a1**
** mgr: a2(active), standbys: a3**
** osd: 2 osds: 2 up, 2 in**
** data:**
** pools: 0 pools, 0 pgs**
** objects: 0 objects, 0 bytes**
** usage: 2050 MB used, 18429 MB / 20480 MB avail**
** pgs:**
```