Ceph Luminous 通过 ceph-deploy 安装集群,并将目录设置成 osd

目录

    • 安装前准备
      • 环境信息
      • 准备工作
    • 集群部署
    • 将目录设置成 osd 并添加到集群
    • 删除 osd 操作(仅针对 L 版本)

安装前准备

环境信息

  • 一台部署和管理节点
  • 三台 osd 节点
    Ceph Luminous 通过 ceph-deploy 安装集群,并将目录设置成 osd_第1张图片

准备工作

  1. IP 地址、YUM 源、NTP、防火墙/SElinux、hosts、免密
  2. 安装 ansible、ceph-deploy
  3. 升级 kernel
ansible cephall -m copy -a "src=/root/deploy/ dest=/root/deploy/"
ansible cephall -m copy -a "src=/etc/yum.repos.d/ dest=/etc/yum.repos.d/"
ansible cephall -m shell -a "yum localinstall /root/deploy/kernel-3.10.0-862.14.4.el7.x86_64.rpm -y"

集群部署

  1. 新建安装目录
mkdir /etc/ceph
cd /etc/ceph
  1. 创建集群,指定的主机即为 mon_initial_members
ceph-deploy new node-1857 node-1858 node-1859
  1. 可以在生成的 ceph.conf 中修改配置,例如 osd pool default sizepublic network
  2. 指定节点安装 ceph
ceph-deploy install node-1857 node-1858 node-1859
  1. 配置初始 monitor(s)、并产生所有密钥
ceph-deploy mon create-initial

产生如下密钥:

ceph.client.admin.keyring
ceph.bootstrap-mgr.keyring
ceph.bootstrap-osd.keyring
ceph.bootstrap-mds.keyring
ceph.bootstrap-rgw.keyring
ceph.bootstrap-rbd.keyring
  1. 将配置和密钥推送到需要执行 ceph 命令的节点(如果仅需要执行 ceph 相关命令,则只需要安装 ceph-common 并且有配置和密钥即可,无需加入集群)
ceph-deploy admin node-1857 node-1858 node-1859
  1. 创建管理节点
ceph-deploy mgr create node-1857
  1. 查看集群
root@node-1856 ~# ceph -s
  cluster:
    id:     ce4ed3d0-9ui8-473j-86t9-qwae73ecaij3
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum node-1857 node-1858 node-1859
    mgr: node-1857(active)
    osd: 2 osds: 2 up, 2 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0B
    usage:   25.7GiB used, 197GiB / 223GiB avail
    pgs:
  1. 如果安装出错,则执行以下命令清除安装记录
ceph-deploy purge {ceph-node} [{ceph-node}]
ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys
rm ceph.*
  1. 如果需要同步 ceph.conf,则可以执行如下命令
ceph-deploy --overwrite-conf config push ceph-node{1,2,3,...}

Ceph Luminous 通过 ceph-deploy 安装集群,并将目录设置成 osd_第2张图片

将目录设置成 osd 并添加到集群

注:由于是在虚拟机上安装,没有多余的磁盘。因此将目录设置成 osd 并添加到集群。早期版本的 Ceph 默认支持将目录设置成 osd,目前的 L 版本需要手动添加目录成为 osd。

  1. 复制 osd key 到对应节点
scp ceph.bootstrap-osd.keyring node-1859:/var/lib/ceph/bootstrap-osd/ceph.keyring
  1. ssh 到对应节点后,直接执行以下命令
UUID=$(uuidgen)
OSD_SECRET=$(ceph-authtool --gen-print-key)
ID=$(echo "{\"cephx_secret\": \"$OSD_SECRET\"}" | \
   ceph osd new $UUID -i - \
   -n client.bootstrap-osd -k /var/lib/ceph/bootstrap-osd/ceph.keyring)
mkdir /var/lib/ceph/osd/ceph-$ID
ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-$ID/keyring \
     --name osd.$ID --add-key $OSD_SECRET
ceph-osd -i $ID --mkfs --osd-uuid $UUID
chown -R ceph:ceph /var/lib/ceph/osd/ceph-$ID
systemctl enable ceph-osd@$ID
systemctl start ceph-osd@$ID

删除 osd 操作(仅针对 L 版本)

  1. 登录 osd 对应的节点,执行如下命令
ceph osd out osd.1
systemctl stop [email protected]
ceph osd purge 1 --yes-i-really-mean-it
  1. 如果 ceph.conf 配置文件中有对应 osd 的记录,则在配置文件中移除后并同步配置

你可能感兴趣的:(ceph,luminous)