4.2. 오버클라우드에 펜싱 배포
오버클라우드에 펜싱을 배포하려면 먼저 STONITH 및 Pacemaker의 상태를 검토하고 fencing.yaml
파일을 구성합니다. 그런 다음 오버클라우드를 배포하고 추가 매개변수를 구성합니다. 마지막으로, 펜싱이 Overcloud에 올바르게 배포되었는지 테스트합니다.
사전 요구 사항
- 배포에 맞는 올바른 펜싱 에이전트를 선택합니다. 지원되는 펜싱 에이전트 목록은 4.1절. “지원되는 펜싱 에이전트” 을 참조하십시오.
-
director에 노드를 등록할 때 생성한
nodes.json
파일에 액세스할 수 있는지 확인합니다. 이 파일은 배포 중에 생성하는fencing.yaml
파일에 필요한 입력입니다. -
nodes.json
파일에는 노드에서 NIC(네트워크 인터페이스) 중 하나의 MAC 주소가 포함되어야 합니다. 자세한 내용은 오버클라우드 노드 등록을 참조하십시오. -
RHV(Red Hat Virtualization) 펜싱 에이전트를 사용하는 경우
UserVMManager
와 같은 가상 시스템을 관리할 권한이 있는 역할을 사용합니다.
절차
-
각 컨트롤러 노드에
heat-admin
사용자로 로그인합니다. 클러스터가 실행 중인지 확인합니다.
sudo pcs status
$ sudo pcs status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow STONITH가 비활성화되었는지 확인합니다.
sudo pcs property show
$ sudo pcs property show
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용할 펜싱 에이전트에 따라 다음 옵션 중 하나를 선택합니다.
IPMI 또는 RHV 펜싱 에이전트를 사용하는 경우
fencing.yaml
환경 파일을 생성합니다.openstack overcloud generate fencing --output fencing.yaml nodes.json
$ openstack overcloud generate fencing --output fencing.yaml nodes.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령은s
ilo
및drac
전원 관리 세부 정보를 IPMI에 상응하는 IPMI로 변환합니다.-
SBD(STONITH Block Device),
fence_kdump
또는 Redfish와 같은 다른 펜싱 에이전트를 사용하거나 사전 프로비저닝된 노드를 사용하는 경우fencing.yaml
파일을 수동으로 생성합니다.
SBD 펜싱만 해당: 다음 매개변수를
fencing.yaml
파일에 추가합니다.parameter_defaults: ExtraConfig: pacemaker::corosync::enable_sbd: true
parameter_defaults: ExtraConfig: pacemaker::corosync::enable_sbd: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 단계는 초기 오버클라우드 배포에만 적용할 수 있습니다. 기존 오버클라우드에서 SBD 펜싱을 활성화하는 방법에 대한 자세한 내용은 RHEL 7 및 8에서 sbd 펜싱 활성화 를 참조하십시오.
다중 계층 펜싱만 해당: 생성된
fencing.yaml 파일에 수준별 매개변수를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <parameter>
및<value>
를 펜싱 에이전트에 필요한 실제 매개변수와 값으로 바꿉니다.오버클라우드 배포
명령을 실행하고fencing.yaml
파일과 배포와 관련된 기타 환경 파일을 포함합니다.openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e ~/templates/network-environment.yaml \ -e ~/templates/storage-environment.yaml --ntp-server pool.ntp.org --neutron-network-type vxlan --neutron-tunnel-types vxlan \ -e fencing.yaml
openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e ~/templates/network-environment.yaml \ -e ~/templates/storage-environment.yaml --ntp-server pool.ntp.org --neutron-network-type vxlan --neutron-tunnel-types vxlan \ -e fencing.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SBD 펜싱만 해당: 워치독 타이머 장치 간격을 설정하고 간격이 올바르게 설정되었는지 확인합니다.
pcs property set stonith-watchdog-timeout=<interval> pcs property show
# pcs property set stonith-watchdog-timeout=<interval> # pcs property show
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
stack
사용자로 오버클라우드에 로그인하고 Pacemaker가 리소스 관리자로 구성되어 있는지 확인합니다.source stackrc openstack server list | grep controller ssh heat-admin@<controller-x_ip> sudo pcs status | grep fence
$ source stackrc $ openstack server list | grep controller $ ssh heat-admin@<controller-x_ip> $ sudo pcs status | grep fence stonith-overcloud-controller-x (stonith:fence_ipmilan): Started overcloud-controller-y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서 Pacemaker는 fencing.
yaml
파일에 지정된 각 컨트롤러 노드에 STONITH 리소스를 사용하도록 구성되어 있습니다.참고fence-resource
프로세스를 제어하는 동일한 노드에서 구성해서는 안 됩니다.펜싱 리소스 속성을 확인합니다. STONITH 특성 값은
fencing.yaml 파일의 값과 일치해야 합니다.
sudo pcs stonith show <stonith-resource-controller-x>
$ sudo pcs stonith show <stonith-resource-controller-x>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow