Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

12.5. Object Storage 노드 교체

이 섹션에서는 클러스터를 원래 상태로 유지하면서 Object Storage 노드를 교체하는 방법을 설명합니다. 이 예제에서는 두 개의 노드로 이루어진 Object Storage 클러스터에서 overcloud-objectstorage-1 노드를 교체해야 합니다. 다음 절차의 목표는 한 개의 노드를 추가한 다음 overcloud-objectstorage-1을 삭제하여 노드를 효과적으로 교체하는 것입니다.

절차

  1. ObjectStorageCount 매개변수를 사용하여 Object Storage 수를 늘립니다. 일반적으로 이 매개변수는 노드 수가 포함된 환경 파일인 node-info.yaml에 있습니다.

    parameter_defaults:
      ObjectStorageCount: 4

    ObjectStorageCount 매개변수는 해당 환경의 Object Storage 노드 수를 정의합니다. 이 예에서는 3개에서 4개로 노드를 확장합니다.

  2. 업데이트된 ObjectStorageCount 매개변수를 사용하여 배포 명령을 실행합니다.

    $ source ~/stackrc
    (undercloud) $ openstack overcloud deploy --templates -e node-info.yaml ENVIRONMENT_FILES
  3. 배포 명령이 완료되면 오버클라우드에 추가 Object Storage 노드가 포함됩니다.
  4. 데이터를 새 노드에 복제합니다. 노드(이 경우 overcloud-objectstorage-1)를 삭제하기 전에 replication pass가 새 노드에서 완료될 때까지 기다립니다. /var/log/swift/swift.log 파일 전송 복제 진행 상태를 확인합니다. 전달이 완료되면 Object Storage 서비스에서 다음 예제와 비슷한 항목을 로그에 기록해야 합니다.

    Mar 29 08:49:05 localhost object-server: Object replication complete.
    Mar 29 08:49:11 localhost container-server: Replication run OVER
    Mar 29 08:49:13 localhost account-server: Replication run OVER
  5. 링에서 이전 노드를 삭제하려면 ObjectStorageCount 매개변수를 줄여 이전 노드를 생략합니다. 이 예제에서는 3으로 줄입니다.

    parameter_defaults:
      ObjectStorageCount: 3
  6. remove-object-node.yaml이라는 새 환경 파일을 생성합니다. 이 파일은 지정된 Object Storage 노드를 식별하고 삭제합니다. 다음 콘텐츠는 overcloud-objectstorage-1을 삭제하도록 지정합니다.

    parameter_defaults:
      ObjectStorageRemovalPolicies:
        [{'resource_list': ['1']}]
  7. 배포 명령에 node-info.yamlremove-object-node.yaml 파일을 모두 포함합니다.

    (undercloud) $ openstack overcloud deploy --templates -e node-info.yaml ENVIRONMENT_FILES -e remove-object-node.yaml

director가 오버클라우드에서 Object Storage 노드를 삭제하고 오버클라우드에서 나머지 노드를 업데이트하여 노드 삭제를 적용합니다.