10.3. 베어 메탈 노드 축소
오버클라우드의 베어 메탈 노드 수를 축소하려면 노드 정의 파일의 스택에서 삭제할 노드를 태그하고 오버클라우드에서 오버클라우드를 재배포한 다음 오버클라우드에서 베어 메탈 노드를 삭제합니다.
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
- 성공적인 오버클라우드 배포. 자세한 내용은 사전 프로비저닝된 노드를 사용하여 기본 오버클라우드 구성 을 참조하십시오.
Object Storage 노드를 교체하는 경우 제거 중인 노드에서 데이터를 새 교체 노드로 복제합니다. 복제가 새 노드에서 완료될 때까지 기다립니다.
/var/log/swift/swift.log
파일 전송 복제 진행 상태를 확인합니다. 패스가 완료되면 Object Storage 서비스(swift)는 다음 예제와 유사한 로그에 항목을 추가합니다.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
프로세스
-
언더클라우드 호스트에
stack
사용자로 로그인합니다. stackrc
언더클라우드 인증 정보 파일을 소싱합니다.$ source ~/stackrc
-
축소하려는 역할에 대해
overcloud-baremetal-deploy.yaml
파일에서count
매개변수를 줄입니다. -
스택에서 삭제할 각 노드의
호스트
이름과이름을
정의합니다(역할의instances
속성에 아직 정의되지 않은 경우). 삭제하려는 노드에
provisioned: false
속성을 추가합니다. 예를 들어 스택에서overcloud-objectstorage-1
노드를 삭제하려면overcloud-baremetal-deploy.yaml
파일에 다음 스니펫을 포함합니다.- name: ObjectStorage count: 3 instances: - hostname: overcloud-objectstorage-0 name: node00 - hostname: overcloud-objectstorage-1 name: node01 # Removed from cluster due to disk failure provisioned: false - hostname: overcloud-objectstorage-2 name: node02 - hostname: overcloud-objectstorage-3 name: node03
오버클라우드를 다시 배포하고 나면
provisioned: false
속성으로 정의한 노드가 더 이상 스택에 존재하지 않습니다. 그러나 이 노드는 여전히 프로비저닝된 상태로 실행 중입니다.참고스택에서 임시로 노드를 삭제하려면
provisioned: false
특성을 사용하여 오버클라우드를 배포한 다음provisioned: true
속성으로 오버클라우드를 재배포하여 노드를 스택에 반환합니다.오버클라우드에서 노드를 삭제합니다.
$ openstack overcloud node delete \ --stack <stack> \ --baremetal-deployment \ /home/stack/templates/overcloud-baremetal-deploy.yaml
&
lt;stack
>을 베어 메탈 노드가 프로비저닝되는 스택 이름으로 바꿉니다. 지정하지 않으면 기본값은overcloud
입니다.참고스택에서 삭제할 노드는
openstack overcloud node delete
명령에서 명령 인수로 포함하지 마십시오.
ironic 노드를 삭제합니다.
$ openstack baremetal node delete <IRONIC_NODE_UUID>
IRONIC_NODE_UUID
를 노드의 UUID로 바꿉니다.배포 명령에 포함할 업데이트된 heat 환경 파일을 생성하도록 오버클라우드 노드를 프로비저닝합니다.
$ openstack overcloud node provision \ --stack <stack> \ --output <deployment_file> \ /home/stack/templates/overcloud-baremetal-deploy.yaml
-
<
deployment_file
>을 배포 명령에 포함할 heat 환경 파일의 이름으로 교체합니다(예:/home/stack/templates/overcloud-baremetal-deployed.yaml
).
-
<
provisioning 명령으로 생성된
overcloud-baremetal-deployed.yaml
파일을 다른 환경 파일과 함께 스택에 추가하고 오버클라우드를 배포합니다.$ openstack overcloud deploy \ ... -e /usr/share/openstack-tripleo-heat-templates/environments \ -e /home/stack/templates/overcloud-baremetal-deployed.yaml \ --deployed-server \ --disable-validations \ ...