3.7. 模拟节点故障


为了模拟硬节点故障电源,请关闭节点并重新安装操作系统。

先决条件

  • 正常运行的 Red Hat Ceph Storage 集群。

步骤

  1. 检查存储容量,以了解删除节点对存储集群意味着什么:

    # ceph df
    # rados df
    # ceph osd df
  2. (可选)禁用恢复和回填:

    # ceph osd set noout
    # ceph osd set noscrub
    # ceph osd set nodeep-scrub
  3. 关闭节点。
  4. 如果主机名发生更改,请从 CRUSH 映射中删除节点:

    [root@ceph1 ~]# ceph osd crush rm ceph3
  5. 检查集群的状态:

    [root@ceph1 ~]# ceph -s
  6. 在节点上重新安装操作系统。
  7. 添加 Ansible 用户和 SSH 密钥:

    [root@ceph3 ~]# useradd ansible
    [root@ceph3 ~]# passwd ansible
    [root@ceph3 ~]# cat << EOF > /etc/sudoers.d/ansible
    ansible ALL = (root) NOPASSWD:ALL
    Defaults:ansible !requiretty
    EOF
    [root@ceph3 ~]# su - ansible
    [ansible@ceph3 ~]# ssh-keygen
  8. 在管理节点中复制 ansible 用户的 SSH 密钥:

    [ansible@admin ~]$ ssh-copy-id ceph3
  9. 在管理节点中重新运行 Ansible playbook:

    [ansible@admin ~]$ cd /usr/share/ceph-ansible
    [ansible@admin ~]$ ansible-playbook site.yml

    输出示例

    PLAY RECAP ********************************************************************
    ceph1                      : ok=368  changed=2    unreachable=0    failed=0
    ceph2                      : ok=284  changed=0    unreachable=0    failed=0
    ceph3                      : ok=284  changed=15   unreachable=0    failed=0

  10. (可选)启用恢复和回填:

    [root@ceph3 ~]# ceph osd unset noout
    [root@ceph3 ~]# ceph osd unset noscrub
    [root@ceph3 ~]# ceph osd unset nodeep-scrub
  11. 检查 Ceph 的健康状况:

    [root@ceph3 ~]# ceph -s
        cluster 1e0c9c34-901d-4b46-8001-0d1f93ca5f4d
         health HEALTH_OK
         monmap e1: 3 mons at {ceph1=192.168.122.81:6789/0,ceph2=192.168.122.82:6789/0,ceph3=192.168.122.83:6789/0}
                election epoch 36, quorum 0,1,2 ceph1,ceph2,ceph3
         osdmap e95: 3 osds: 3 up, 3 in
                flags sortbitwise
          pgmap v1190: 152 pgs, 12 pools, 1024 MB data, 441 objects
                3197 MB used, 293 GB / 296 GB avail
                     152 active+clean

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.