5.8. 스토리지 클러스터를 업그레이드한 후 OSD 재배포

이 섹션에서는 운영 체제를 업그레이드하지 않고 전용 장치에서 block.db 를 사용하여 Red Hat Ceph Storage 3에서 Red Hat Ceph Storage 4로 업그레이드한 후 OSDS를 재배포하는 방법에 대해 설명합니다.

이 절차는 지정하지 않는 한 베어 메탈 및 컨테이너 배포에 모두 적용됩니다.

업그레이드 후 OSD를 재배포하는 플레이북이 오류 메시지를 사용하여 실패할 수 있습니다.

GPT headers found, they must be removed on: /dev/vdb

block.db 장치에서 파티션을 생성하고 Ansible 플레이북을 실행하여 OSD를 다시 배포할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ansible 관리 노드에 대한 root 수준 액세스.
  • Ansible 사용자 계정이 생성되었습니다.

절차

  1. block.db 장치에 파티션을 만듭니다. 이 sgdisk 명령은 사용 가능한 다음 파티션 번호를 자동으로 사용합니다.

    구문

    sgdisk --new=0:0:_JOURNAL_SIZE_ -- NEW_DEVICE_PATH

    예제

    [root@admin ~]# sgdisk --new=0:0:+2G -- /dev/vdb

  2. host_vars 디렉터리를 생성합니다.

    [root@admin ~]# mkdir /usr/share/ceph-ansible/host_vars
  3. host_vars 디렉터리로 이동합니다.

    [root@admin ~]# cd /usr/share/ceph-ansible/host_vars
  4. 스토리지 클러스터의 모든 호스트에 호스트 파일을 생성합니다.

    구문

    touch NEW_OSD_HOST_NAME

    예제

    [root@admin host_vars]# touch osd5

  5. hosts 파일에서 데이터 장치를 정의합니다.

    구문

    lvm_volumes:
    - data: DATA_DEVICE_PATH
      journal: NEW_DEVICE_PARTITION_PATH
    - data: RUNNING_OSD_DATA_DEVICE_PATH
        journal: PARTITION_PATH
    - data: RUNNING_OSD_DATA_DEVICE_PATH
        journal: PARTITION_PATH

    예제

    lvm_volumes:
    - data: /dev/vdd
      journal: /dev/vdb2
    - data: /dev/sdb
      journal: /dev/sdc1
    - data: /dev/sdb
      journal: /dev/sdc2

  6. Ansible 사용자로 전환하고 Ansible이 모든 Ceph 노드에 연결할 수 있는지 확인합니다.

    [admin@admin ~]$ ansible all -m ping
  7. 디렉터리를 Ansible 구성 디렉터리로 변경합니다.

    [admin@admin ~]$ cd /usr/share/ceph-ansible
  8. --limit 옵션을 사용하여 다음 Ansible 플레이북을 실행합니다.

    • 베어 메탈 배포:

      [admin@admin ceph-ansible]$ ansible-playbook site.yml --limit osds -i hosts
    • 컨테이너 배포:

      [admin@admin ceph-ansible]$ ansible-playbook site-container.yml --limit osds -i hosts

추가 리소스

  • OSD 배포에 대한 자세한 내용은 Red Hat Ceph Storage 운영 가이드디스크 오류 처리 섹션을 참조하십시오.