Menu Close
Settings Close

Language and Page Formatting Options

24.2. 파일 저장소에서 BlueStore로 OSD 마이그레이션

파일 저장소에서 BlueStore로 마이그레이션하기 위해 director는 Ansible을 사용하여 노드의 모든 OSD를 삭제하고 다시 생성합니다. director는 마이그레이션 프로세스 전에 용량 검사를 수행합니다. 마지막으로, director가 BlueStore 백엔드를 사용하여 OSD를 재배포합니다.

사전 요구 사항

  • 정상적이고 실행 중인 RHCS(Red Hat Ceph Storage) 4 클러스터. 컨트롤러 또는 독립 실행형 Ceph MON 노드의 ceph MON 컨테이너에 다음 명령을 입력하여 클러스터를 확인할 수 있습니다.

    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c  "ceph  -s"

절차

  1. CephAnsibleDisksConfig 매개변수의 osd_objectstorefilestore 로 기본 설정되지 않는지 확인합니다. osd_objectstore 매개변수가 사용자 지정 heat 환경 파일에 있는 경우 bluestore 값을 명시적으로 정의하거나 제거해야 합니다.

    parameter_defaults:
      CephAnsibleDisksConfig:
        devices:
          - /dev/sdb
          - /dev/sdc
          - /dev/sdd
        osd_scenario: lvm
       osd_objectstore: bluestore
    참고

    를 포함한 특정 FileStore 구성이 있는 경우(예: 저널) 구성을 적절하게 업데이트해야 합니다. 고급 구성에 대한 자세한 내용은 컨테이너화된 Red Hat Ceph 가이드의 오버클라우드 배포 가이드의 Ceph Storage 노드 디스크 레이아웃 매핑 참조하십시오.

  2. stack 사용자로 언더클라우드에 로그인합니다.
  3. ceph_fstobs 태그와 함께 openstack overcloud external-upgrade run 명령을 입력합니다. <NODE_NAME> 을 업그레이드할 Ceph OSD 노드의 이름으로 바꿉니다. openstack server list 명령을 사용하여 노드 이름을 찾을 수 있습니다.

    [stack@undercloud ~] $ openstack overcloud external-upgrade run --tags ceph_fstobs -e ceph_ansible_limit=<NODE_NAME> | tee oc-fstobs.log
  4. Ceph MON 서비스가 있는 노드에 로그인하고 Ceph 클러스터를 쿼리하여 업그레이드한 노드의 OSD 상태를 확인합니다. 다음 OSD 노드의 마이그레이션을 시작하려면 업그레이드한 노드가 성공적으로 마이그레이션되었는지 확인해야 합니다.

    [heat-admin@overcloud-controller-1 ~]$ sudo -i
    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c "ceph -f json osd metadata" | jq -c '.[] | select(.hostname == "<NODE_NAME>") | ["host", .hostname, "osd_id", .id, "objectstore", .osd_objectstore]'
    [root@overcloud-controller-1 ~]# exit

    <NODE_NAME>을 마이그레이션된 노드의 이름으로 바꿉니다. OSD에서 BlueStore를 사용하는 것으로 표시되면 마이그레이션에 성공합니다.

  5. 선택 사항: 특정 OSD에 대한 추가 세부 정보를 보려면 다음 명령을 입력합니다.

    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c "ceph osd metadata <ID>"

    <ID>를 쿼리할 OSD의 ID로 바꿉니다.

  6. 다음 노드에서 마이그레이션 프로세스를 시작하려면 클러스터가 동기화될 때까지 기다려야 합니다.

    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c  "ceph  -s"
    Review the command output and ensure that the health of the cluster is `HEALTH_OK` and the PGs are in the `active+clean` state.
  7. 다음 노드에서 마이그레이션 프로세스를 시작하려면 클러스터 리밸런싱 프로세스가 완료될 때까지 기다려야 합니다. 상태를 따르려면 다음 명령을 실행합니다.

    [heat-admin@overcloud-controller-0 ~]$ sudo podman exec ceph-mon-<NODE_NAME> ceph -w

    <NODE_NAME>을 마이그레이션된 노드의 이름으로 바꿉니다.

  8. 스토리지 클러스터의 각 노드에 대한 마이그레이션 프로세스를 반복합니다.

파일 저장소에서 BlueStore로의 마이그레이션에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 BlueStore 를 참조하십시오.