中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

部署MON

MON(Monitor)负责监控整个Ceph集群的状态。部署MON操作步骤仅需要在主节点ceph1执行。

  1. 创建Ceph集群(以ceph1 ceph2 ceph3三个节点配置为例)。
    1
    2
    cd /etc/ceph
    ceph-deploy new ceph1 ceph2 ceph3
    

  2. 配置Ceph集群的全局参数和MON参数。

    配置节点命令以及使用ceph-deploy配置OSD时,需在“/etc/ceph”目录下执行,否则会报错。

    1. 打开“/etc/ceph”目录下自动生成的ceph.conf文件。
      1
      vi /etc/ceph/ceph.conf
      
    2. 按“i”进入编辑模式,将ceph.conf中的内容修改为如下信息(使用最新生成的fsid)。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      [global]
      fsid = f5a4f55c-d25b-4339-a1ab-0fceb4a2996f
      mon_initial_members = ceph1, ceph2, ceph3
      mon_host = 192.168.3.166,192.168.3.167,192.168.3.168
      auth_cluster_required = cephx
      auth_service_required = cephx
      auth_client_required = cephx
      
      public_network = 192.168.65.0/24
      cluster_network = 192.168.66.0/24
      
      [mon]
      mon_allow_pool_delete = true
      

      对于单节点环境,还需要在[global]下添加如下内容:

      1
      2
      osd_pool_default_size = 1
      osd_pool_default_min_size = 1
      
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
    Ceph 14.2.8版本在使用bluestore引擎的时候默认会打开bluefs的buffer开关,可能导致系统下内存全部被buff/cache占用,导致性能下降。可以采用以下两种方案解决:
    • 在集群压力不大的场景下可以将bluefs_buffered_io开关设置成false。
    • 可以通过定时执行如下命令来强制回收buffer/cache中的内存:
      echo 3 > /proc/sys/vm/drop_caches
  3. 初始化监视器并收集密钥。
    1
    ceph-deploy mon create-initial
    

  4. 3执行成功后生成的“ceph.client.admin.keyring”拷贝到各个节点上。
    1
    ceph-deploy --overwrite-conf admin ceph1 ceph2 ceph3 client1 client2 client3
    

  5. 检查Ceph集群的状态,确认是否配置MON成功。
    1
    ceph -s
    

    配置MON成功的预期结果:

    1
    2
    3
    4
    5
    cluster:
    id:     f6b3c38c-7241-44b3-b433-52e276dd53c6
    health: HEALTH_OK
    services:
    mon: 3 daemons, quorum ceph1,ceph2,ceph3 (age 25h)
    
    若出现mon生成失败问题,可能是权限配置问题,需要配置ceph组和用户:
    /usr/sbin/groupadd ceph -g 167 -o -r 2>/dev/null || :/usr/sbin/useradd ceph -u 167 -o -r -g ceph -s /sbin/nologin -c "Ceph daemons" -d /var/lib/ceph 2>/dev/null || :