部署MON、MGR节点

监视器(Monitor,MON)在Ceph集群中扮演者领导者的角色,维护了整个集群的状态,是Ceph集群中最重要的组件。管理器(Manager,MGR),主要功能是一个监控系统,包含采集、存储、分析(包含报警)和可视化几部分,用于把集群的一些指标暴露给外界使用。

  • 只需要在主节点ceph1执行。
  • 需先完成配置ceph.conf相关内容。
  • 若出现警告:“ERROR: Failed command: /usr/bin/docker pull quay.io/ceph/ceph:v17”,则可能是由于没有配置Docker代理导致,请参考安装Docker相关内容完成Docker代理配置。
  • 若出现警告:“x509: certificate signed by unknown authority”,可能是因为安全证书未配置,请参考安装Docker配置安全证书。
  • 若出现警告:Error: initializing source docker://xx.xx.xx.xx:5000/ceph/ceph_release@sha256:xxxx: pinging container registry xx.xx.xx.xx:5000: Get "https://xx.xx.xx.xx:5000/v2/": http: server gave HTTP response to HTTPS client,请参考安装Docker配置信任对应的镜像仓库IP。
  1. 引导Ceph集群,启动部署MON和MGR节点。

    • 多节点Ceph集群启动。
      1
      cd /root/ceph-mycluster && cephadm bootstrap --config ceph.conf --mon-ip 192.168.3.166 --cluster-network 192.168.4.0/24 --allow-fqdn-hostname --skip-monitoring-stack
      
      • --mon-ip:对应前端网络的IP地址。
      • --cluster-network:对应后端网络的IP地址。
      • --config ceph.conf:可选,需要修改Ceph默认配置可以使用。
      • --docker:如果环境上同时安装了Podman和Docker,cephadm会默认优先使用Podman技术,用户想通过Docker启动容器,则可以使用此选项。参考如下命令使用。
        1
        cephadm --docker bootstrap --config ceph.conf --mon-ip 192.168.3.166 --cluster-network 192.168.4.0/24 --allow-fqdn-hostname --skip-monitoring-stack
        

        请保持全局容器技术的一致性,建议Ubuntu系统使用Docker技术,建议openEuler系统使用Podman。

      • 如果需要启动不同版本的Ceph集群,可使用vi命令修改“/usr/sbin/cephadm”脚本中DEFAULT_IMAGE变量的值。
      • 手动制作容器镜像进行多节点启动时,cephadm会自动将相关镜像拉取到每个服务器节点。使用本地镜像仓库时,需要保证本地镜像仓库中的镜像可以被其他节点拉取。不同的容器技术需要不同的信任本地镜像仓库方法,详见配置Podman信任镜像仓库配置Docker信任镜像仓库

  2. 拷贝公钥到ceph2、ceph3、client1节点。

    1
    2
    3
    ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph2
    ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph3
    ssh-copy-id -f -i /etc/ceph/ceph.pub root@client1
    

  3. 本地仓库配置同步到其他节点。

    1
    2
    3
    scp /etc/containers/registries.conf ceph2:/etc/containers/
    scp /etc/containers/registries.conf ceph3:/etc/containers/
    scp /etc/containers/registries.conf client1:/etc/containers/
    
    • Ubuntu系统部署官方镜像时不需要执行此步骤。
    • 如果选择使用Docker技术,且有自定义Docker配置,注意除了本地仓库配置外,还需要同步Docker配置。
      1
      2
      3
      scp /etc/docker/daemon.json ceph2:/etc/docker/
      scp /etc/docker/daemon.json ceph3:/etc/docker/
      scp /etc/docker/daemon.json client1:/etc/docker/
      

  4. 启动一个Ceph容器。

    1
    cephadm shell
    

  5. 查看是否配置成功。

    1
    ceph -s
    

    返回信息如下所示:

  6. 添加ceph2、ceph3节点。

    1
    2
    ceph orch host add ceph2 192.168.3.167 --labels _admin
    ceph orch host add ceph3 192.168.3.168 --labels _admin
    
    • 添加host节点耗时较长,需耐心等待一段时间后再检查是否添加成功。
    • 此步骤不添加client1节点,后续在创建RGW节点时添加。

  7. 查看host是否添加成功。

    1
    ceph orch host ls
    

  8. 查看是否配置成功,等待3个MON节点启动完成。

    1
    ceph -s
    

    返回信息如下所示: