4장. 오버클라우드 업데이트
이 프로세스는 오버클라우드를 업데이트합니다.
사전 요구 사항
- 언더클라우드를 최신 버전으로 업데이트했습니다.
4.1. 오버클라우드 업데이트 속도 향상 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드 업데이트 프로세스의 속도를 높이기 위해 DockerPuppetProcessCount
heat 매개변수를 구성하고, 삭제된 데이터베이스 항목을 아카이브하고, 업데이트를 수행하기 전에 오버클라우드 노드에서 필요한 패키지를 다운로드할 수 있습니다.
대규모 OpenStack 배포의 업데이트 프로세스 속도를 높이는 방법에 대한 자세한 내용은 Red Hat Knowledgebase 문서 Openstack Director Node Performance Tuning for large deployment를 참조하십시오.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. stackrc
파일을 소싱합니다.source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow container-puppet
에서 구성 파일을 생성하는 데 사용하는 동시 프로세스 수를 늘리려면DockerPuppetProcessCount
매개변수를 구성해야 합니다.templates
디렉터리에updates-environment.yaml
이라는 환경 파일을 생성합니다.touch ~/templates/updates-environment.yaml
$ touch ~/templates/updates-environment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 편집하고 다음 콘텐츠를 추가합니다.
parameter_defaults: DockerPuppetProcessCount: 8
parameter_defaults: DockerPuppetProcessCount: 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
openstack overcloud update prepare
,openstack overcloud ceph-upgrade run
,openstack overcloud update converge
명령을 실행할 때-e
옵션을 사용하여 이 환경 파일을 포함합니다.
컨트롤러 노드에서 삭제된 데이터베이스 항목을 보관합니다.
오버클라우드에서 컨트롤러 노드의 모든 인스턴스를 나열합니다.
source ~/overcloudrc openstack server list
$ source ~/overcloudrc $ openstack server list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nova_api_cron
컨테이너를 실행 중인 컨트롤러 노드에 로그인합니다.ssh heat-admin@<controller_ip>
ssh heat-admin@<controller_ip>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;controller name 또는 IP&
gt;를 컨트롤러 노드의 IP 주소로 바꿉니다.
-
&
삭제된 아카이브 데이터베이스 항목:
sudo docker exec -u 42436 -ti nova_api_cron bash nova-manage db archive_deleted_rows --max_rows 1000 exit
$ sudo docker exec -u 42436 -ti nova_api_cron bash $ nova-manage db archive_deleted_rows --max_rows 1000 $ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
모든 오버클라우드 노드에서 업데이트에 필요한 모든 패키지를 다운로드하려면 다음 단계를 완료하십시오.
오버클라우드의 정적 인벤토리 파일을 생성합니다.
tripleo-ansible-inventory \ --ansible_ssh_user heat-admin \ --static-yaml-inventory ~/inventory.yaml
$ tripleo-ansible-inventory \ --ansible_ssh_user heat-admin \ --static-yaml-inventory ~/inventory.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 Ansible 플레이북을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum-download-only.yaml
Ansible 플레이북을 실행합니다.ansible-playbook \ -i ~/inventory.yaml \ -f 20 ~/yum-download-only.yaml \ --limit Controller,Compute,CephStorage
$ ansible-playbook \ -i ~/inventory.yaml \ -f 20 ~/yum-download-only.yaml \ --limit Controller,Compute,CephStorage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow