**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:**
```