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