14.3. Controller 교체를 위한 클러스터 준비
기존 노드를 교체하기 전에 Pacemaker가 더 이상 실행되지 않는지 확인한 후 Pacemaker 클러스터에서 해당 노드를 삭제해야 합니다.
절차
Controller 노드의 IP 주소 목록을 가져옵니다.
(undercloud) $ openstack server list -c Name -c Networks +------------------------+-----------------------+ | Name | Networks | +------------------------+-----------------------+ | overcloud-compute-0 | ctlplane=192.168.0.44 | | overcloud-controller-0 | ctlplane=192.168.0.47 | | overcloud-controller-1 | ctlplane=192.168.0.45 | | overcloud-controller-2 | ctlplane=192.168.0.46 | +------------------------+-----------------------+
기존 노드에 계속 연결할 수 있는 경우 나머지 노드 중 하나에 로그인하여 기존 노드에서 Pacemaker를 중지합니다. 이 예제에서는 overcloud-controller-1의 Pacemaker를 중지합니다.
(undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs status | grep -w Online | grep -w overcloud-controller-1" (undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs cluster stop overcloud-controller-1"
참고기존 노드를 실제로 사용할 수 없거나 중지된 경우에는 해당 노드에서 Pacemaker가 이미 중지되었으므로 위 작업을 수행하지 않아도 됩니다.
기존 노드에서 Pacemaker를 중지한 후 pacemaker 클러스터에서 기존 노드를 삭제합니다. 다음 예제 명령은
overcloud-controller-0
에 로그인하여overcloud-controller-1
을 삭제합니다.(undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs cluster node remove overcloud-controller-1"
교체할 노드에 연결할 수 없는 경우(예: 하드웨어 장애),
--skip-offline
및--force
추가 옵션과 함께pcs
명령을 실행하여 클러스터에서 노드를 강제로 삭제합니다.(undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs cluster node remove overcloud-controller-1 --skip-offline --force"
pacemaker 클러스터에서 기존 노드를 삭제한 후 pacemaker의 알려진 호스트 목록에서 노드를 삭제합니다.
(undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs host deauth overcloud-controller-1"
노드에 연결할 수 있는지 여부에 관계없이 이 명령을 실행할 수 있습니다.
오버클라우드 데이터베이스는 교체 절차 중 계속 실행되고 있어야 합니다. 다음 절차 중에 Pacemaker에서 Galera를 중지하지 않도록 하려면 실행 중인 Controller 노드를 선택하고, 언더클라우드에서 Controller 노드의 IP 주소를 사용하여 다음 명령을 실행합니다.
(undercloud) $ ssh heat-admin@192.168.0.47 "sudo pcs resource unmanage galera-bundle"