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
출력 예:
Cluster name: openstackHA Last updated: Wed Jun 24 12:40:27 2015 Last change: Wed Jun 24 11:36:18 2015 Stack: corosync Current DC: lb-c1a2 (2) - partition with quorum Version: 1.1.12-a14efad 3 Nodes configured 141 Resources configured
STONITH가 비활성화되었는지 확인합니다.
$ sudo pcs property show
출력 예:
Cluster Properties: cluster-infrastructure: corosync cluster-name: openstackHA dc-version: 1.1.12-a14efad have-watchdog: false stonith-enabled: false
사용할 펜싱 에이전트에 따라 다음 옵션 중 하나를 선택합니다.
IPMI 또는 RHV 펜싱 에이전트를 사용하는 경우
fencing.yaml환경 파일을 생성합니다.$ openstack overcloud generate fencing --output fencing.yaml nodes.json
참고이 명령은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참고이 단계는 초기 오버클라우드 배포에만 적용할 수 있습니다. 기존 오버클라우드에서 SBD 펜싱을 활성화하는 방법에 대한 자세한 내용은 RHEL 7 및 8에서 sbd 펜싱 활성화 를 참조하십시오.
다중 계층 펜싱만 해당: 생성된
fencing.yaml 파일에 수준별 매개변수를 추가합니다.parameter_defaults: EnableFencing: true FencingConfig: devices: level1: - agent: [VALUE] host_mac: aa:bb:cc:dd:ee:ff params: <parameter>: <value> level2: - agent: fence_agent2 host_mac: aa:bb:cc:dd:ee:ff params: <parameter>: <value><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
SBD 펜싱만 해당: 워치독 타이머 장치 간격을 설정하고 간격이 올바르게 설정되었는지 확인합니다.
# pcs property set stonith-watchdog-timeout=<interval> # pcs property show
검증
stack사용자로 오버클라우드에 로그인하고 Pacemaker가 리소스 관리자로 구성되어 있는지 확인합니다.$ 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
이 예제에서 Pacemaker는 fencing.
yaml파일에 지정된 각 컨트롤러 노드에 STONITH 리소스를 사용하도록 구성되어 있습니다.참고fence-resource프로세스를 제어하는 동일한 노드에서 구성해서는 안 됩니다.펜싱 리소스 속성을 확인합니다. STONITH 특성 값은
fencing.yaml 파일의 값과 일치해야 합니다.$ sudo pcs stonith show <stonith-resource-controller-x>