4.3. 使用 cephadm_bootstrap 和 cephadm_registry_login 模块引导存储集群


作为存储管理员,您可以使用 Ansible 中的 cephadm_bootstrapcephadm_registry_login 模块来引导存储集群。

先决条件

  • 第一个 Ceph 监控容器的 IP 地址,也是存储集群中第一个节点的 IP 地址。
  • 登录到 registry.redhat.io
  • 至少 10 GB 的可用空间用于 /var/lib/containers/
  • Red Hat Enterprise Linux 9.0 或更高版本,带有 ansible-core 捆绑到 AppStream 中。
  • 在 Ansible 管理节点上安装 cephadm-ansible 软件包。
  • 在存储集群中的所有主机上设置免密码 SSH。
  • 主机通过 CDN 注册。
注意

有关 bootstrap 节点的 Red Hat Enterprise Linux 版本最新支持的 Red Hat Enterprise Linux 版本,请参阅 Red Hat Ceph Storage 兼容性指南

流程

  1. 登录 Ansible 管理节点。
  2. 进入 Ansible 管理节点上的 /usr/share/cephadm-ansible 目录:

    示例

    [ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
    Copy to Clipboard Toggle word wrap

  3. 创建 hosts 文件并添加主机、标签和监控存储集群中第一个主机的 IP 地址:

    语法

    sudo vi INVENTORY_FILE
    
    HOST1 labels="['LABEL1', 'LABEL2']"
    HOST2 labels="['LABEL1', 'LABEL2']"
    HOST3 labels="['LABEL1']"
    
    [admin]
    ADMIN_HOST monitor_address=MONITOR_IP_ADDRESS labels="['ADMIN_LABEL', 'LABEL1', 'LABEL2']"
    Copy to Clipboard Toggle word wrap

    示例

    [ceph-admin@admin cephadm-ansible]$ sudo vi hosts
    
    host02 labels="['mon', 'mgr']"
    host03 labels="['mon', 'mgr']"
    host04 labels="['osd']"
    host05 labels="['osd']"
    host06 labels="['osd']"
    
    [admin]
    host01 monitor_address=10.10.128.68 labels="['_admin', 'mon', 'mgr']"
    Copy to Clipboard Toggle word wrap

  4. 运行 preflight playbook:

    语法

    ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
    Copy to Clipboard Toggle word wrap

    示例

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
    Copy to Clipboard Toggle word wrap

  5. 创建 playbook 以启动集群:

    语法

    sudo vi PLAYBOOK_FILENAME.yml
    
    ---
    - name: NAME_OF_PLAY
      hosts: BOOTSTRAP_HOST
      become: USE_ELEVATED_PRIVILEGES
      gather_facts: GATHER_FACTS_ABOUT_REMOTE_HOSTS
      tasks:
        -name: NAME_OF_TASK
         cephadm_registry_login:
           state: STATE
           registry_url: REGISTRY_URL
           registry_username: REGISTRY_USER_NAME
           registry_password: REGISTRY_PASSWORD
    
        - name: NAME_OF_TASK
          cephadm_bootstrap:
            mon_ip: "{{ monitor_address }}"
            dashboard_user: DASHBOARD_USER
            dashboard_password: DASHBOARD_PASSWORD
            allow_fqdn_hostname: ALLOW_FQDN_HOSTNAME
            cluster_network: NETWORK_CIDR
    Copy to Clipboard Toggle word wrap

    示例

    [ceph-admin@admin cephadm-ansible]$ sudo vi bootstrap.yml
    
    ---
    - name: bootstrap the cluster
      hosts: host01
      become: true
      gather_facts: false
      tasks:
        - name: login to registry
          cephadm_registry_login:
            state: login
            registry_url: registry.redhat.io
            registry_username: user1
            registry_password: mypassword1
    
        - name: bootstrap initial cluster
          cephadm_bootstrap:
            mon_ip: "{{ monitor_address }}"
            dashboard_user: mydashboarduser
            dashboard_password: mydashboardpassword
            allow_fqdn_hostname: true
            cluster_network: 10.10.128.0/28
    Copy to Clipboard Toggle word wrap

  6. 运行 playbook:

    语法

    ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml -vvv
    Copy to Clipboard Toggle word wrap

    示例

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts bootstrap.yml -vvv
    Copy to Clipboard Toggle word wrap

验证

  • 在运行 playbook 后检查 Ansible 输出。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat