따라서 현재 환경은 한 쌍의 동일한 베어메탈 서버에 있는 centos7입니다. drbd를 설치하고 DRBD 미러용으로 3 x 100G 블록 장치를 할당했습니다. 그런 다음 블록 장치 중 하나에 Centos7 이미지를 설치했습니다.
저는 Pacemaker가 Xen 가상 이미지뿐만 아니라 DRBD도 관리할 수 있기를 원했기 때문에 Clusterlabs.org의 "Clusters From Scratch" 문서에 지정된 지침을 따랐습니다.
pcs cluster cib drbd_cfg
pcs -f drbd_cfg resource create XenHost01_Storage ocf:linbit:drbd drbd_resource=XenHost01 op monitor interval=60s
pcs -f drbd_cfg resource master XenHost01_StorageClone XenHost01_Storage master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
pcs cluster cib-push drbd_cfg
그런 다음 관리를 위해 Xen vm도 추가했습니다.
pcs cluster cib vmstate_cfg
pcs -f vmstate_cfg resource create XenHosts --group vminit systemd:vmstate op monitor interval=10s
pcs cluster cib-push vmstate_cfg
따라서 내 클러스터 리소스는 다음과 같습니다.
Full list of resources:
Master/Slave Set: XenHost01_StorageClone [XenHost01_Storage]
Masters: [ ha1 ]
Slaves: [ ha2 ]
Resource Group: vminit
XenHosts (systemd:vmstate): Started ha1
PCSD Status:
ha1: Online
ha2: Online
제가 알아내려고 하는 것과 이 기사를 게시하는 이유는 Xen 가상 머신이 마스터 DRBD 호스트에서만 시작되도록 DRBD 마스터/슬레이브 쌍을 vminit 그룹 아래에 붙여넣는 방법입니다. 그룹에 호스트가 없으면 클러스터는 다른 호스트가 DRBD에서 마스터로 표시되어도 상관하지 않고 여전히 가상 이미지를 시작하려고 시도하지만 실패합니다.
그룹 아래의 마스터/슬레이브 drbd 리소스를 얻는 방법을 아는 사람이 있습니까? 나는 항상 머리카락을 찢어 내고있었습니다.
답변1
vminit
마스터가 속한 그룹 만 시작할 수 있음을 클러스터에 알리려면 순서가 지정된 공동 배치 제약 조건을 사용해야 합니다 XenHost01_StorageClone
.
다음 작업을 수행해야 합니다.
# pcs cluster cib cib_constraints.xml
# pcs -f cib_constraints.xml constraint order promote XenHost01_StorageClone then start vminit
# pcs -f cib_constraints.xml constraint colocation add vminit with master XenHost01_StorageClone
# pcs cluster verify cib_constraints.xml
# pcs cluster cib-push cib_constraints.xml