IBM Cloud Docs
Red Hat Enterprise Linux 고가용성 애드온 클러스터에서 SBD 포이즌필 펜싱 구현하기

Red Hat Enterprise Linux 고가용성 애드온 클러스터에서 SBD 포이즌필 펜싱 구현하기

이 가이드에서는 Power Virtual Server 의 Red Hat Enterprise Linux 고가용성 애드온 클러스터에서 SBD(스토리지 기반 사망) 포이즌 필 펜싱을 구현하는 방법을 설명합니다.

iSCSI 대상 서버 설정, 공유 스토리지 구성, 클러스터 리소스 구성에 대해 설명합니다.

클러스터 펜싱은 HA 클러스터에서 분할 뇌 보호와 자동 장애 조치를 보장하기 위해 클러스터에 매우 중요합니다.

SBD 펜싱에는 공유 디스크와 감시 장치가 필요합니다.

  • 공유 디스크는 IBM VPC의 iSCSI 대상 서버에서 블록 장치로 프로비저닝됩니다.
  • 파워 아키텍처 플랫폼 워치독 드라이버( pseries-wdt )가 하드웨어 워치독으로 사용됩니다. 이 드라이버는 IBM Power10 서버 이상에서 사용할 수 있습니다.

iSCSI 는 RFC 3720에 정의된 개방형 표준 기반 기술입니다. 이를 통해 IP 네트워크를 통해 스토리지 영역 네트워킹을 배포할 수 있습니다. iSCSI 소프트웨어 대상을 사용하면 네트워크를 통해 로컬 스토리지를 공유할 수 있습니다. iSCSI 다른 영역이나 시스템에 위치한 개시자는 iSCSI 프로토콜을 사용하여 IP 네트워크를 통해 공유 스토리지에 액세스할 수 있습니다. 이 프로토콜은 TCP/IP 패킷 내에 SCSI 명령을 캡슐화하여 전용 SAN 인프라 없이도 표준 이더넷 네트워크에서 데이터를 전송할 수 있도록 합니다.

아키텍처 다이어그램
IBM Power Virtual Server 인스턴스에서 IBM VPC의 iSCSI 타깃에 액세스하기 위한 아키텍처 다이어그램.

시작하기 전에

SAP 애플리케이션을 위한 고가용성 구현하기(IBM Power Virtual Server 참조)에 나와 있는 일반 요구 사항, 제품 설명서, 지원 문서 및 SAP 참고 사항을 검토하세요.

가용 영역에서 iSCSI 대상 서버 프로비저닝하기

3개의 가용 영역에 걸쳐 있는 IBM VPC를 만들려면 가상 프라이빗 클라우드(VPC)시작하기부터 시작하세요. 그런 다음 가상 서버 인스턴스 만들기의 지침에 따라 각 영역에 하나씩 3개의 iSCSI 대상 서버 인스턴스를 프로비저닝합니다.

각 iSCSI 대상 서버는 여러 고가용성 클러스터에 사용할 수 있으므로 리소스를 효율적으로 공유할 수 있습니다.

IBM VPC 만들기

  1. 가상 사설 클라우드로 이동하여 만들기를 클릭합니다.
  2. 가상 프라이빗 클라우드를 만들 위치를 선택합니다.
  3. 지역지역을 선택합니다.
  4. 세부 정보 섹션의 이름 필드에 iscsi-tgt-vpc 을 입력합니다.
  5. 리소스 그룹을 선택합니다.
  6. 서브넷 섹션에서 목록에 있는 각 서브넷의 이름을 수정합니다.
    • 첫 번째 영역에서 서브넷의 연필 아이콘을 클릭합니다.
    • 이름을 iscsi-tgt-zone-1-sn 로 변경하고 저장을 클릭합니다.
  7. 다른 영역에 대해서도 이 단계를 반복하고 이름을 iscsi-tgt-zone-2-sniscsi-tgt-zone-3-sn 으로 변경합니다.
  8. Virtual Private Cloud 작성을 클릭하십시오.

IBM VPC의 기본 보안 그룹 수정하기

기본 보안 그룹의 인바운드 규칙에 iSCSI 포트를 추가합니다.

  1. VPC의 보안 그룹으로 이동하여 목록에서 보안 그룹을 클릭합니다.
  2. 규칙 섹션에서 규칙 관리를 클릭합니다.
  3. 인바운드 규칙 아래에서 만들기를 클릭하여 새 인바운드 규칙을 만듭니다.
  4. 프로토콜 TCP 을 선택하고 포트 최소포트 최대 필드에 모두 iSCSI 포트 3260 를 지정합니다. 소스 유형대상 유형을 Any 로 설정합니다.
  5. 작성을 클릭하십시오.

VPC를 Transit Gateway

IBM Transit Gateway 을 사용하여 가상 프라이빗 클라우드(VPC) 인프라와 Power Virtual Server 워크스페이스를 연결하세요.

  1. 찾아보기 Transit Gateway.
  2. 목록에서 로컬 트랜짓 게이트웨이를 선택하고 연결 추가를 클릭합니다.
  3. 네트워크 연결 목록에서 VPC 을 선택하고 지역을 선택합니다.
  4. 추가 를 클릭하십시오.

클러스터용 가상 서버 인스턴스 만들기

이 예에서는 3개의 iSCSI 대상 서버가 프로비저닝됩니다. 각 대상 서버는 모든 클러스터 노드에서 공유 디스크로 액세스하는 전용 iSCSI LUN을 제공합니다.

가상 서버 인스턴스를 iSCSI 대상으로 구성하려면 아래 단계를 따르세요. 지원되는 버전의 Red Hat Enterprise Linux 운영 체제를 실행하는 가상 머신을 배포합니다.

cx3d-2x5 또는 bx3d-2x10 같은 작은 VM 인스턴스 프로필이면 충분합니다. 가상 서버 인스턴스를 만들 때 SSH 키를 선택해야 합니다. SSH 키를 생성하려면 SSH 키 시작하기를 참조하세요.

  1. VPC용 가상 서버 인스턴스를 찾아서 만들기를 클릭합니다.
  2. 지리, 지역구역을 선택하세요
  3. 세부 정보 섹션에서 VSI의 이름을 입력합니다.
  4. 리소스 그룹을 선택합니다.
  5. 서버 구성 섹션에서 이미지 변경을 클릭합니다.
  6. Red Hat Enterprise Linux 이미지( 9.x- 최소 설치)를 선택하고 저장을 클릭합니다.
  7. 프로필의 작은 공간을 선택합니다(예: bx2-2x8).
  8. SSH 키를 선택합니다.
  9. 데이터 볼륨 섹션에서 iSCSI LUN을 호스팅하도록 지정된 10GB 볼륨 생성을 클릭하고 프로비저닝합니다.
    • 데이터 볼륨의 이름을 입력합니다.
    • 저장 용량 크기(GB)10을 입력합니다.
    • 작성을 클릭하십시오.
  10. 네트워킹 섹션에서 이전에 만든 VPC를 선택합니다.
  11. 가상 서버 생성을 클릭합니다.

가상 서버 인스턴스 배포가 시작됩니다. 이 과정을 반복하여 두 번째 및 세 번째 가상 서버 인스턴스를 다른 가용성 영역에 생성하여 별도의 물리적 위치에 배포합니다.

운영 체제 준비

모든 iSCSI 대상 가상 머신에 root 사용자로 로그인합니다.

  1. 운영 체제를 업데이트합니다.

    dnf -y update
    

    변경 사항을 적용하려면 노드를 다시 시작해야 할 수 있습니다.

    shutdown -r now
    
  2. 백스토어에 프로비저닝한 디스크 볼륨의 장치 이름을 식별합니다.

    lsblk | grep 10G
    

    이 예제에서 장치는 다음과 같이 식별됩니다 /dev/vdb

    샘플 출력:

    vdb    252:16   0   10G  0 disk
    
  3. 블록 크기가 512바이트인 xfs 파일 시스템을 만듭니다.

    # mkfs.xfs -m crc=0 -b size=512 /dev/vdb
    
    1. 마운트 지점을 만들고 /etc/fstab 파일에 파일 시스템 항목을 추가한 다음 파일 시스템을 마운트합니다.

    샘플 출력:

    # mkdir /sbd
    # echo "/dev/vdb    /sbd    xfs    defaults    0    0" >> /etc/fstab
    # systemctl daemon-reload
    # mount /sbd
    
  4. iSCSI 대상 소프트웨어 패키지를 설치합니다.

    dnf -y install targetcli
    
  5. iSCSI 대상을 시작하고 부팅 시 자동으로 시작되도록 설정합니다.

    systemctl enable --now target
    

    샘플 출력:

    # systemctl enable --now target
    Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
    

iSCSI 대상 서버에 iSCSI 장치 만들기

root 사용자로 각 iSCSI 대상 가상 인스턴스에서 다음 명령을 실행하여 SBD 장치용 iSCSI 디스크를 생성합니다.

이 예에서는 다음 이름을 사용합니다.

  • cluster1 는 HA 클러스터의 클러스터 이름입니다.
  • cl1n1cl1n2cluster1 에 대한 클러스터 노드의 호스트 이름입니다.

다음 지침의 명령을 특정 환경 구성에 맞게 조정하세요.

  1. 고가용성 클러스터의 SBD용 LUN을 준비합니다 cluster1.

    • SBD LUN을 위한 fileio 백스토어를 생성합니다. write_back 매개변수를 false 로 설정하여 파일 시스템 캐싱을 비활성화합니다.

      targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false
      

      샘플 출력:

      # targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false
      Created fileio cluster1_sbd with size 52428800
      
    • iSCSI 대상 정의를 만듭니다.

      targetcli iscsi/ create iqn.2006-04.cluster1.local:cluster1
      

      샘플 출력:

      # targetcli iscsi/ create iqn.2006-04.cluster1.local:cluster1
      Created target iqn.2006-04.cluster1.local:cluster1.
      Created TPG 1.
      Global pref auto_add_default_portal=true
      Created default portal listening on all IPs (0.0.0.0), port 3260.
      
    • iSCSI LUN을 만듭니다.

      targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd
      

      샘플 출력:

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd
      Created LUN 0.
      
    • iSCSI ACL을 만듭니다.

      targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n1.local:cl1n1
      

      샘플 출력:

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n1.local:cl1n1
      Created Node ACL for iqn.2006-04.cl1n1.local:cl1n1
      Created mapped LUN 0.
      
      targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n2.local:cl1n2
      

      샘플 출력:

      # targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n2.local:cl1n2
      Created Node ACL for iqn.2006-04.cl1n2.local:cl1n2
      Created mapped LUN 0.
      
      • targetcli 구성을 저장합니다.
      targetcli saveconfig
      

      샘플 출력:

      # targetcli saveconfig
      Configuration saved to /etc/target/saveconfig.json
      
  2. 구성을 확인하십시오.

    targetcli ls
    

    샘플 출력:

    # targetcli ls
    o- / ......................................................................................................................... [...]
      o- backstores .............................................................................................................. [...]
      | o- block .................................................................................................. [Storage Objects: 0]
      | o- fileio ................................................................................................. [Storage Objects: 1]
      | | o- cluster1_sbd ........................................................... [/sbd/cluster1_sbd (50.0MiB) write-thru activated]
      | |   o- alua ................................................................................................... [ALUA Groups: 1]
      | |     o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
      | o- pscsi .................................................................................................. [Storage Objects: 0]
      | o- ramdisk ................................................................................................ [Storage Objects: 0]
      o- iscsi ............................................................................................................ [Targets: 1]
      | o- iqn.2006-04.cluster1.local:cluster1 ............................................................................... [TPGs: 1]
      |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
      |     o- acls .......................................................................................................... [ACLs: 2]
      |     | o- iqn.2006-04.cl1n1.local:cl1n1 ........................................................................ [Mapped LUNs: 1]
      |     | | o- mapped_lun0 ......................................................................... [lun0 fileio/cluster1_sbd (rw)]
      |     | o- iqn.2006-04.cl1n2.local:cl1n2 ........................................................................ [Mapped LUNs: 1]
      |     |   o- mapped_lun0 ......................................................................... [lun0 fileio/cluster1_sbd (rw)]
      |     o- luns .......................................................................................................... [LUNs: 1]
      |     | o- lun0 ..................................................... [fileio/cluster1_sbd (/sbd/cluster1_sbd) (default_tg_pt_gp)]
      |     o- portals .................................................................................................... [Portals: 1]
      |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
      o- loopback ......................................................................................................... [Targets: 0]
    

클러스터 노드에서 SBD 디바이스 생성하기

클러스터 노드에서 이전에 만든 iSCSI 장치를 찾아 연결합니다. 두 클러스터 노드에서 다음 명령을 실행합니다.

클러스터 노드에서 iSCSI 장치에 액세스하기

iSCSI 이니시에이터 설정

  1. 두 클러스터 노드에서 다음 명령을 실행하여 iSCSI 이니시에이터 유틸리티를 설치하거나 업데이트합니다.

    dnf install -y iscsi-initiator-utils
    
  2. 두 클러스터 노드에서 다음 명령을 실행하여 필요한 HA 애드온 패키지를 설치합니다.

    dnf install -y pcs pacemaker sbd fence-agents-sbd
    

    fence-agents-sbd 패키지를 설치하려면 릴리스 62.el9_4.15 또는 최신 버전( 4.10.0 )을 사용해야 합니다.

  3. 각 iSCSI 개시자는 iSCSI 타겟에 대한 액세스를 제어하는 데 사용되는 고유한 IQN( iSCSI 인증된 이름)을 가져야 합니다. 설치 중에 무작위로 생성된 IQN이 할당되지만 보다 설명적인 이름으로 대체할 수 있습니다. IQN은 iSCSI 대상 서버의 iSCSI 장치에 대해 생성한 ACL(액세스 제어 목록)에 있는 이름과 일치해야 합니다.

    • NODE1 에서 다음 명령을 실행하여 IQN을 변경합니다.

      echo "InitiatorName=iqn.2006-04.cl1n1.local:cl1n1" > /etc/iscsi/initiatorname.iscsi
      
    • NODE2 에서 다음 명령을 실행하여 IQN을 변경합니다.

      echo "InitiatorName=iqn.2006-04.cl1n2.local:cl1n2" > /etc/iscsi/initiatorname.iscsi
      
  4. 두 클러스터 노드에서 다음 명령을 실행하여 iSCSI 서비스를 사용하도록 설정합니다.

    systemctl enable iscsid iscsi
    
  5. 두 클러스터 노드에서 다음 명령을 실행하여 iSCSI 서비스를 다시 시작합니다.

    systemctl restart iscsid
    
    systemctl restart iscsi
    

iSCSI LUN 알아보기

  1. 두 클러스터 노드에서 다음 명령을 실행하여 iSCSI 장치를 연결합니다.

    다음 예제에서는 iSCSI 대상 가상 서버의 IP 주소와 iSCSI 포트 3260 를 통해 iSCSI 대상 서버에 액세스합니다.

    예시에서 제공된 IP 주소는 설명용으로만 사용됩니다. 특정 VPC 서브넷 구성과 일치하는 값으로 바꾸어야 합니다.

    이 예제 구성에 사용된 iSCSI 대상의 IP 주소입니다.
    VSI 이름 IP 주소: 포트
    iscsi-vm-001 10.20.30.4:3260
    iscsi-vm-002 10.20.30.69:3260
    iscsi-vm-003 10.20.30.132:3260

    설정을 단순화하려면 iSCSI 대상 서버의 통신 세부 정보에 대한 환경 변수를 생성하세요.

    export ISCSI_TGT_1="10.20.30.4:3260"                         # IP address and port of the first virtual server (first iSCSI target)
    export ISCSI_TGT_2="10.20.30.69:3260"                        # IP address and port of the second virtual server (second iSCSI target)
    export ISCSI_TGT_3="10.20.30.132:3260"                       # IP address and port of the third virtual server (third iSCSI target)
    export ISCSI_TGT_NAME="iqn.2006-04.cluster1.local:cluster1"  # iSCSI target name
    

    iscsiadm 검색 명령을 실행하고 대상 이름이 올바른지 확인합니다. 두 번째 및 세 번째 iSCSI 대상 서버에 대해 절차를 반복합니다.

    iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_1}
    

    샘플 출력:

    # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_1}
    10.20.30.4:3260,1 iqn.2006-04.cluster1.local:cluster1
    # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_2}
    10.20.30.69:3260,1 iqn.2006-04.cluster1.local:cluster1
    # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_3}
    10.20.30.132:3260,1 iqn.2006-04.cluster1.local:cluster1
    

    iscsiadm -m discovery 명령의 출력에서 iSCSI 대상 이름을 메모하고 이를 ISCSI_TGT_NAME 환경 변수에 할당합니다.

  2. iSCSI 대상 장치에 로그인합니다.

    iscsiadm -m node -T ${ISCSI_TGT_NAME} --login --portal=${ISCSI_TGT_1}
    

    샘플 출력:

    # iscsiadm -m node -T ${ISCSI_TGT_NAME} --login --portal=${ISCSI_TGT_1}
    Logging in to [iface: default, target: iqn.2006-04.cluster1.local:cluster1, portal: 10.20.30.4,3260]
    Login to [iface: default, target: iqn.2006-04.cluster1.local:cluster1, portal: 10.20.30.4,3260] successful.
    

    --portal 인수의 값으로 ${ISCSI_TGT_2}${ISCSI_TGT_3} 을 사용하여 단계를 반복합니다.

  3. iSCSI 장치에 자동 로그인을 사용하도록 설정합니다.

    iscsiadm -m node -p ${ISCSI_TGT_1} -T ${ISCSI_TGT_NAME} --op=update --name=node.startup --value=automatic
    

    -p 인수의 값으로 ${ISCSI_TGT_2}${ISCSI_TGT_3} 을 사용하여 단계를 반복합니다.

  4. 두 클러스터 노드에서 다음 명령을 실행합니다.

    iSCSI 장치를 사용할 수 있는지 확인하고 나중에 참조할 수 있도록 장치 이름을 기록합니다.

    lsscsi -i | grep "LIO-ORG"
    

    샘플 출력:

    [5:0:0:0]    disk    LIO-ORG  cluster1_sbd     4.0   /dev/sdck  3600140500874d3cfa724e728b77046a3
    [6:0:0:0]    disk    LIO-ORG  cluster1_sbd     4.0   /dev/sdcl  3600140517566c8197884fb9b643b470a
    [7:0:0:0]    disk    LIO-ORG  cluster1_sbd     4.0   /dev/sdcm  36001405c2ed12b15b0a4c7f8d311ab49
    

Lsscsi 명령의 출력을 사용하여 iSCSI 디바이스 ID를 검색합니다.

제공된 어색한 예제는 장치 ID를 추출하고, 장치 이름을 완성하고, 나중에 사용할 수 있도록 환경 변수 정의를 준비합니다.

lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}'

샘플 출력:

lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}'
export SBD_DEV_1=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3
export SBD_DEV_2=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a
export SBD_DEV_3=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49

출력의 장치 항목을 검토한 다음 eval 명령을 사용하여 환경 변수를 내보냅니다.

eval $(lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}')

내보낸 변수를 확인합니다.

echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3

샘플 출력:

echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3
/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 /dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a /dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49

이러한 환경 변수는 SBD 장치를 생성하는 데 필요합니다.

클러스터에서 SBD 포이즌필 펜싱 구성하기

차단 장치에 대한 SBD 포이즌 필 펜싱에는 포이즌 필 메시지를 전송하기 위한 감시 타이머 장치와 공유 스토리지가 모두 필요합니다. 펜싱을 사용하려면 클러스터를 구성하고 공유 스토리지에서 SBD 장치를 활성화한 다음 클러스터 펜싱을 설정합니다.

클러스터 노드에서 워치독 구성하기

pseries_wdt Power 하이퍼바이저 워치독은 기본 워치독이며 IBM Power10 서버 이상에서 사용할 수 있습니다.

Power9 프로필로 가상 서버 인스턴스를 배포하는 경우 Power 하이퍼바이저 워치독을 사용할 수 없습니다. 대안으로 소프트웨어 감시 프로그램( softdog )을 사용할 수 있지만 지원이 제한적입니다.

워치독을 구성하려면 사용 중인 환경에 따라 다음 섹션 중 하나에 설명된 단계를 따르세요.

pseries_wdt 하드웨어 워치독 구성( IBM Power10 이후 버전)

두 클러스터 노드에서 다음 명령을 실행하여 하이퍼바이저 워치독 드라이버가 로드되었는지 확인합니다.

lsmod | grep pseries_wdt
# lsmod | grep pseries_wdt
pseries_wdt           262144  0

다음 명령을 사용하여 워치독 드라이버가 로드되었는지 확인할 수도 있습니다.

wdctl

샘플 출력:

wdctl
Device:        /dev/watchdog0
Identity:      pseries-wdt [version 0]
Timeout:       15 seconds
Pre-timeout:    0 seconds

softdog 소프트웨어 워치독 구성 ( IBM Power9 )

IBM Power9 서버에서 softdog 소프트웨어 워치독을 사용하는 것도 대안이 될 수 있지만 지원 제한이 있습니다.

두 클러스터 노드에서 다음 명령을 실행하여 소프트웨어 워치독을 구현합니다.

  1. softdog 모듈을 로드합니다.

    modprobe softdog
    
  2. 노드를 다시 시작한 후 softdog 가 자동으로 로드되는지 확인합니다.

    echo softdog > /etc/modules-load.d/watchdog.conf
    
  3. systemd 모듈을 다시 시작합니다.

    systemctl restart systemd-modules-load
    

Sbd 장치 활성화

  1. pcs host authpcs cluster setup 과 같은 기본 클러스터 구성 단계를 사용합니다. 그런 다음 두 노드에서 클러스터를 시작합니다.

  2. 클러스터 노드에서 다음 명령을 실행하여 SBD 장치를 구성하고 사용 설정합니다. 앞서 기록한 iSCSI 디바이스 ID를 사용하여 새 SBD 디바이스를 만듭니다.

    pcs stonith sbd device setup \
        device=${SBD_DEV_1} \
        device=${SBD_DEV_2} \
        device=${SBD_DEV_3} \
        watchdog-timeout=30 \
        msgwait-timeout=60
    

    yes 입력하여 디바이스 초기화를 확인합니다.

    샘플 출력:

    # pcs stonith sbd device setup \
         device=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 \
         device=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a \
         device=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49 \
         watchdog-timeout=30 \
         msgwait-timeout=60
    
       WARNING: All current content on device(s) '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3', '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a', '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49' will be overwritten
       Type 'yes' or 'y' to proceed, anything else to cancel: yes
       Initializing devices '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3', '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a', '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49'...
       Devices initialized successfully
    

    상태를 확인하십시오.

    pcs stonith sbd status
    

    샘플 출력:

    # pcs stonith sbd status
    SBD STATUS
    <node name>: <installed> | <enabled> | <running>
    cl1n1: YES |  NO |  NO
    cl1n2: YES |  NO |  NO
    

    SBD 장치를 활성화합니다.

    pcs stonith sbd enable \
        device=${SBD_DEV_1} \
        device=${SBD_DEV_2} \
        device=${SBD_DEV_3} \
        SBD_WATCHDOG_TIMEOUT=60 \
        SBD_STARTMODE=always \
        SBD_DELAY_START=yes
    

    샘플 출력:

    # pcs stonith sbd enable \
        device=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 \
        device=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a \
        device=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49 \
        SBD_WATCHDOG_TIMEOUT=60 \
        SBD_STARTMODE=clean \
        SBD_DELAY_START=yes
    Running SBD pre-enabling checks...
    cl1n2: SBD pre-enabling checks done
    cl1n1: SBD pre-enabling checks done
    Distributing SBD config...
    cl1n1: SBD config saved
    cl1n2: SBD config saved
    Enabling sbd...
    cl1n2: sbd enabled
    cl1n1: sbd enabled
    Warning: Cluster restart is required in order to apply these changes.
    

    클러스터를 다시 시작하여 변경 사항을 활성화합니다.

    • 클러스터를 중지합니다.

      클러스터 노드에서 다음 명령을 실행합니다.

      pcs cluster stop --all
      
    • 클러스터를 시작합니다.

      각 클러스터 노드에서 다음 명령을 실행합니다.

      pcs cluster start
      

      단일 클러스터 노드에서 pcs cluster start --all 을 실행하면 시간 초과가 발생할 수 있습니다.

    • sbd 장치의 상태를 확인합니다.

      pcs stonith sbd status
      

      샘플 출력:

      # pcs stonith sbd status
      SBD STATUS
      <node name>: <installed> | <enabled> | <running>
      cl1n2: YES | YES |  NO
      cl1n1: YES | YES | YES
      Messages list on device '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3':
      0       cl1n1        clear
      1       cl1n2        clear
      Messages list on device '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a':
      0       cl1n2        clear
      1       cl1n1        clear
      Messages list on device '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49':
      0       cl1n2        clear
      1       cl1n1        clear
      

클러스터 펜싱 장치 구성

클러스터 노드에서 pcs stonith create 명령을 실행하여 스토니스 디바이스를 생성합니다. pcmk_reboot_timeout 매개변수를 설정하여 재부팅 작업의 시간 제한 값을 늘립니다.

pcs stonith create res_fence_sbd fence_sbd \
   devices="${SBD_DEV_1},${SBD_DEV_2},${SBD_DEV_3}" \
   pcmk_reboot_timeout=90

클러스터 펜싱을 테스트합니다. 그런 다음 다른 모든 클러스터 구성 단계를 진행합니다.