* epel-release 레포지토리

다음 링크에 RHEL8 등 공식적으로 사용 가능한 레포지토리 링크 확인이 가능하다.

https://docs.fedoraproject.org/en-US/epel/

 

RHEL8에서 해당 epel-release 레포지토리 설치를 위해 아래와 같이 수행한다. (인터넷 연결 필요)

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

 

 

아래와 같이 잘 설치된다.

 

 

repository가 있는 디렉토리에서도 아래와 같이 추가된 것을 확인할 수 있다.

 

 

* rpmfusion 레포지토리

공식 사이트는 다음과 같다. https://rpmfusion.org/  rpmfusion 레포지토리도 다음과 같이 설치할 수 있다.

dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm

 

'Redhat Linux' 카테고리의 다른 글

RHEL8 그래픽 웹 콘솔 (Cockpit) 사용하기  (2) 2024.04.23
RHEL8 exfat 마운트를 위한 구성  (0) 2024.04.19

1. 패키지 설치

 

- 다음 명령을 수행한다. (qemu-kvm은 이미 있었음)

- qemu-img가 아래 캡쳐에 빠져있는데, 누락된것임.. 아래 명령대로 하면 된다.

yum install qemu-kvm libvirt virt-install virt-manager libvirt-client qemu-img

 

qemu-kvm : 호스트와 게스트 가상 머신간의 통신을 가능하게 하는 package
qemu-img : 게스트 가상머신에 disk management를 제공
virt-install : 가상 머신을 생성하기 위한 virt-install command를 제공
virt-manager : 가상 computer 를 관리하기 위한 virt-manager 도구를 제공하며 graphic 도구
libvirt-client : 명령행 또는 가상화 쉘에서 가상시스템과 hypervisor 를 관리하고 제어하는 virsh command-line tool 이 포함됨.

 

- 참고로, 위 yum 명령을 수행하기 위해 레포지토리 등을 구성해야 하나, 이 부분은 여기서 설명하지 않는다.

 

 

2. 데몬 활성화 및 상태 확인

- 다음 명령을 수행한다.

systemctl enable libvirtd
systemctl start libvirtd

 

- 아래와 같이 validate 명령을 수행한다.

virt-host-validate

 

3. GUI에서 가상머신 구성 실행

- 다음 명령을 수행한다.

virt-manager

 

- 여기서 해당 ssh 프로그램은 mobaxterm 인데, 서버의 GUI 화면도 위와 같이 불러올 수 있다. (굉장히 편리하다)

- 해당 프로그램은 무료에 포터블버전도 있으므로 사용해보길 권한다. (FTP도 쉽게 가능)

https://mobaxterm.mobatek.net/download.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

 

- 이 virt-manaver는 우리가 많이 사용하는 virtual box 또는 vmware workstation과 같은 형식의 프로그램이다.

- 사용법도 거의 비슷하므로 이전에 가상머신 프로그램을 써본 사람이라면 쉽게 사용할 수 있다.

4. 가상머신 네트워크 구성

 

# 네트워크 장치 확인

- virt-manager에서 가상머신 네트워크를 구성하기 전에, 미리 아래 ip a 명령어 결과를 봐두자.

- lo는 모든 서버에 있는 서버 자신을 가리키는 루프백이다. 

- enp4s0 은 이 물리적 서버가 가지고 있는 NIC 포트 하나를 의미한다. 포트는 단 하나만 확인된다.

- virbr0 은 GUI로 RHEL8 설치시 자동으로 설치되는 가상브릿지이며 무시해도 무방하다.

 

 

# 구축 시작

- 아래와 같이 QEMU/KVM을 오른클릭 후 Details 를 선택한다.

- 이후 Virtual Network를 선택하면 아래와 같이 default 네트워크가 확인된다.

- 이게 위에서 얘기했던 virbr0 가상브릿지이며, 쓸일이 없으므로 오른쪽 하단 붉은 동그라미를 눌러서 중지시킨 후 오른쪽 붉은원안에 x표를 눌러 삭제한다.

 

- 왼쪽 하단 파란색 더하기를 누르면 아래와 같이 새로운 가상 브릿지를 생성한다. 

- 클러스터에서는 최소 아래 4가지 네트워크가 필요하다.

 

   - 퍼블릭 네트워크 (실제 접속 및 서비스용)

   - Heartbeat 네트워크 (클러스터간 Heartbeat 통신)

   - 스토리지 네트워크 (1/2)

   - 스토리지 네트워크 (2/2)  -> 스토리지는 최소 2개의 경로가 있어야 하기 때문 (multipath 사용)

- 퍼블릭 네트워크는 브릿지를 통해 만들 것이며, 조금 복잡하므로 아래를 참고한다.

2024.04.20 - [High Availability] - [QEMU-KVM] RHEL8 에서 브릿지 네트워크 (bridge network) 만들기

 

[QEMU-KVM] RHEL8 에서 브릿지 네트워크 (bridge network) 만들기

* 개요 KVM 가상머신을 쓰는 경우, KVM 물리적 서버에서 생성된 가상머신과 네트워크 통신을 할 때 보통 NAT를 사용한다. 하지만 이 NAT는 해당 KVM 가상머신 내에서만 사용하므로 외부 네트워크는 접

watch-n-learn.tistory.com

 

- Heartbeat은 아래와 같이 만든다.

 

- NW-STG-PATH-1 은 캡쳐를 깜빡했는데 아래와 동일하고 아이피 대역만 10.10.2.0 이다.

 

- 최종적으로 아래와 같이 구성된다.

- 이렇게 3개의 가상네트워크가 구성되면, 아래 ip a 명령어도 동일하게 가상 브릿지가 생성된다.

- IP대역도 맞는것을 알 수 있다. 이렇게 되면 이 브릿지를 스위치처럼 생각하면 된다.

 

* 가상머신 선택

가상머신은 Virtual Box나 VMware Workstation 보다, 리눅스OS 위에 올라가는 KVM 구성을 권장한다. KVM으로 구성하면 대부분의 Fence를 사용할 수 있다. KVM 서버 구축은 여기서 다루지 않는다.

 

 

* 개요

High Availability Cluster 구성을 위해서는 4개의 가상머신(노드)를 생성해야 한다.

 

node1 / node2 / node3 / iscsi-stroage

 

node1~3은 클러스터 노드가 되며, iscsi-storage는 공유디스크를 위한 스토리지가 된다. 클러스터 노드, 스토리지 각각 설정이 다르다.

 

 

* 전체 기본 서버 세팅

 - VM에서 TEMPLATE용 VM을 만든다. (예를들어 RHCS8-RHEL8.6-template 이런식으로)

- 아래 세팅을 먼저 수행해둔다.

 

1. /etc/hosts setting

 

vi /etc/hosts


### External (Service) Network ###
###192.168.1.193 node1.service
###192.168.1.118 node2.service
###192.168.1.102 node3.service
###192.168.1.109 storage.service

### hb network ###
10.10.1.11 node1.example.com
10.10.1.12 node2.example.com
10.10.1.13 node3.example.com

### storage networks ###
10.10.2.11 node1.storage.patha.com
10.10.2.12 node2.storage.patha.com
10.10.2.13 node3.storage.patha.com
10.10.2.100 storage.patha.com

10.10.3.11 node1.storage.pathb.com
10.10.3.12 node2.storage.pathb.com
10.10.3.13 node3.storage.pathb.com
10.10.3.100 storage.pathb.com

 

 

2. Default firewalld setting

- 방화벽 자동시작 세팅

 

 

3.. yum config 및 iso 파일 준비

- Base, High Availability, Resilient Storage 3가지 iso를 각 노드에 /iso에 복사

- /mnt 에 마운트포인트인 /mnt/base , /mnt/ha, /mnt/rs 3가지 생성

- 위 정보를 가지고 yum repository 구성

- etc/rc.d/rc.local 에 아래 자동 실행하도록 세팅 후 chmod +x /etc/rc.d/rc.local 명령 실행

     - mount -o loop /iso/rhel-8.3-x86_64-dvd.iso /mnt/base

     - mount -o loop /iso/rhel-8.3-x86_64-dvd-ha.iso /mnt/ha

     - mount -o loop /iso/rhel-8.3-x86_64-dvd-rs.iso /mnt/rs

 

 

- 작업해둔 template 파일을 아래와 같이 4개의 VM으로 클론을 만들면 된다.

 

 

* node 구성

클러스터 노드 역할을 하는 서버 구성이다. 클론으로 만든 node1,2,3 3개 가상머신에 대해 각각 아래 세팅을 수행한다.

 

1. 퍼블릭 네트워크 설정 진행, SSH 연결 수행

- 해당 서버는 아래와 같이 4개의 네트워크가 필요하다.

     - 외부 연결 (서비스)네트워크 1개

     - Heartbeat 네트워크 1개

     - 스토리지 네트워크 2개

- 우선 가상머신의 서비스와 외부 연결을 위한 네트워크 설정을 각각 콘솔에서 수행한다. 다 되면 이후에는 ssh로 연결할 수 있다.

 

2. network setting

- 아래 남은 3개의 네트워크를 구성한다.

    - Heartbeat 네트워크 1개

    - 스토리지 네트워크 2개

 

네트워크 구성시 예를 들어, 이런식으로 현재 있는 네트워크 정보들을 삭제하고

nmcli con del enp0s2

 nmcli con del enp0s3

 nmcli con del enp0s4

 

이런식으로 새로 등록한다.

nmcli con add con-name "enp2s0" ifname enp2s0 autoconnect yes type ethernet ip4 10.10.1.11/24 gw4 10.10.1.1

nmcli con add con-name "enp3s0" ifname enp3s0 autoconnect yes type ethernet ip4 10.10.2.11/24 gw4 10.10.2.1

nmcli con add con-name "enp4s0" ifname enp4s0 autoconnect yes type ethernet ip4 10.10.3.11/24 gw4 10.10.3.1

 

3. hostname

- 원하는 호스트명을 설정한다. EX436 시험에서는 이런 식의 호스트명을 사용한다. node1.example.com 

 

 

* storage 구성

iscsi 스토리지 역할을 하는 서버 구성이다.

 

1. 퍼블릭 네트워크 설정 진행, SSH 연결 수행

- 해당 서버는 아래와 같이 3개의 네트워크가 필요하다.

     - 외부 연결 (서비스)네트워크 1개

     - 스토리지 네트워크 2개

- 우선 가상머신의 서비스와 외부 연결을 위한 네트워크 설정을 각각 콘솔에서 수행한다. 다 되면 이후에는 ssh로 연결할 수 있다.

 

2. network setting

- 아래 남은 2개의 네트워크를 구성한다.

    - 스토리지 네트워크 2개

 

네트워크 구성시 예를 들어, 이런식으로 현재 있는 네트워크 정보들을 삭제하고

 nmcli con del enp4s0

 nmcli con del enp5s0

 

이런식으로 새로 등록한다.

nmcli con add con-name "enp4s0" ifname enp4s0 autoconnect yes type ethernet ip4 10.10.2.100/24 gw4 10.10.2.1
nmcli con add con-name "enp5s0" ifname enp5s0 autoconnect yes type ethernet ip4 10.10.3.100/24 gw4 10.10.3.1

 

3. hostname

- 원하는 호스트명을 설정한다. EX436 시험에서는 이런 식의 호스트명을 사용한다.  storage.example.com 

 

4. 추가 방화벽 작업

- firewall-cmd --permanent --add-port=3260/tcp 명령 실행 후 firewall-cmd --reload 실행

 

5. 가상머신에서  1GB 디스크 한개 추가

- 가상머신 프로그램단에서 수행한다.  해당 가상머신 장치 수정에서 디스크를 추가하면 된다.

- 디스크는 원하는 용량대로 원하는 개수만큼 설정하면 된다. 여기서는 5기가 1개를 추가하였다.

 

6. targetcli 설정 (자세한 구성은 설명하지 않는다)

- install targetcli

- setting 1G LUN * 1EA

- 아래 정보대로 정보를 구성한다. 해당 서버들만 iscsi 서버에 연결할 수 있다.

iqn.2023-12.com.example:node1

iqn.2023-12.com.example:node2

iqn.2023-12.com.example:node3

 

 

6번 부분은 아래를 참고한다.

2024.04.21 - [High Availability/Lab Environment] - iSCSI (targetcli) 구성

 

iSCSI (targetcli) 구성

* iSCSI란? - iSCSI는 IP 네트워크를 통해 SCSI 스토리지 프로토콜을 에뮬레이트 하는 TCP/IP 기반 프로토콜이다. - 가상환경이나 테스트환경에서 SCSI를 사용하기 어려우므로, iSCSI를 통해 테스트용으로

watch-n-learn.tistory.com

 

 

* stickiness 기본 개념

location constraint를 사용하여 특정 노드에 점수를 주어서 리소스 시작시 해당 노드에 리소스를 올리는 기능은 많은 엔터프라이즈 환경에서 사용하는 구성이다.

 

다만 이 방법의 문제는 해당 노드에 문제가 발생 시, 리소스가 다른 노드로 이동하고 이후 문제가 발생한 노드가 정상화 되었을 때 자동으로 해당 노드로 리소스들이 다시 원복되는 점에 있다. 실제 서비스 운영에서는 일시적인 다운타임이 고객사에 아주 무서운 영향을 줄 수 있어, 이러한 리소스 이동은 최대한 줄여야 한다.

 

이를 위해 stickiness 기능이 있다. 이는 리소스 재배치를 피하기 위한 기능이다. stickiness 는 간단하게 이야기하면, 장애 발생시 리소스를 받는 노드에게 주는 "점수" 이다. 

 

 

* stickiness 관련 명령

 

stickiness 점수 설정 (stickiness 점수로서 100점을 준다)

pcs resource defaults update resource-stickiness=100

 

stickiness 점수 해제 (= 뒤에 아무것도 입력하지 않는다)

pcs resource defaults update resource-stickiness=

 

 

 

* stickiness 예시

 

다음과 같은 클러스터 구성이 있다.

 

그리고 아래와 같이 location constraint 가 구성되어 있다.

- node1.hb = 선호도 100

- node2.hb = 선호도 50

- node3.hb = 선호도 10

 

이상태에서 node1.hb 가 fence를 당하면, 아래와 같이 node2.hb 로 리소스가 이동한다.

 

그리고 fence 된 노드가 다시 정상화되면, 다시 node1.hb로 원복된다.

 

즉, 한번의 장애로 두번의 리소스 이동이 발생하였다. 영 좋지 않다.

 

 

이제 여기서 stickiness 설정을 준다. 설정은 아래와 같다.

- node1.hb = 선호도 100

- node2.hb = 선호도 50

- node3.hb = 선호도 10

- stickiness = 150

 

 

다시 node1.hb를 fence 하였고, 아래와 같이 node2.hb 로 리소스가 이동했다.

 

이후 node1.hb가 원복되어도 node2.hb에 리소스가 그대로 유지되는것을 알 수 있다.

 

이 절차는 아래와 같이 설명할 수 있다.

 

1. node1.hb가 3개의 노드 중 가장 점수가 높으므로 (100점) 클러스터 시작시 node1.hb 에 리소스가 올라간다.

2. node1.hb에 문제가 발생하여 fence 되었고, 그 다음 순위인 node2.hb (50점) 에 올라간다.

3. 그리고 node2.hb는 stickiness 점수인 150점이 추가되어 200점이 된다.

4. node1.hb 가 정상화되어 클러스터에 다시 조인했을 때, node1.hb는 100점, node2.hb는 200점으로 node2.hb가 점수가 더 높기 때문에 리소스 위치는 변경되지 않고 유지된다.

 

 

location constraint의 점수와 stickiness는 사실 리소스의 개수나 여러 복잡한 점수 계산이 있는데, 자세한 부분은 다루지 않는다. 상세한 부분은 다음 링크를 참고할 것

2024.02.13 - [High Availability] - High Availability 주요 명령어 정리

 

High Availability 주요 명령어 정리

* 클러스터 시작/중지 pcs cluster stop --all pcs cluster start --all * 상태확인 pcs status --full pcs status corosync pcs status quorum pcs config * 클러스터 관리 pcs node standby/unstandby 노드명 클러스터에서 제거하지 않고

watch-n-learn.tistory.com

 

 

Fence_xvm 은 High Availability Cluster에서 리눅스 위에 kvm으로 가상머신 올리는 경우, 간단하게 구성할 수 있는 Fence 방법이다. 이 구성을 위해서는 kvm 호스트 머신에서 세팅, 그리고 클러스터 노드가 될 가상머신에서의 세팅 두가지 세팅이 필요하다.  이 구성은 RHEL8 기준이며, 다른 버전이나 상세 정보는 아래 Redhat KB 를 참고해야 한다. (로그인 필요)

 

https://access.redhat.com/solutions/917833

 

 

 

* kvm 호스트에서 세팅

 

1. 패키지 설치

아래와 같이 yum install fence-virt* 명령 수행 후 Installing 항목에서, 맨 위부터 serial로 끝나는 패키지까지만 설치하는것으로 기억하면 편하다.

 

# yum install  -y fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicast fence-virtd-serial

 

 

2. fence_xvm 키파일 생성

먼저 /etc/cluster 디렉토리를 생성 후, dd명령으로 키파일을 생성한다. 이 키 파일은 kvm 호스트, 그리고 각 클러스터 노드의 /etc/cluster에 배치해야 한다.

 

# mkdir -p /etc/cluster 

# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4k count=1

#scp /etc/cluster/fence_xvm.key 각클러스터노드호스트명또는아이피:/etc/cluster

  (만약 각 클러스터 노드에 /etc/cluster 경로가 없는경우 만들어줘야 한다)

 

 

3. fence_xvm 구성

fence_virtd -c 명령을 통해 conf 파일을 구성한다. 모든 설정은 엔터로 넘어가면 되는데, interface 부분은 클러스터 노드들이 통신하는 대역의 네트워크 장치를 입력하면 된다.

 

# fence_virtd -c                                                

 Parsing of /etc/fence_virt.conf failed.

    Module search path [/usr/lib64/fence-virt]:

    Listener module [multicast]: 

    Multicast IP Address [225.0.0.12]: 

    Multicast IP Port [1229]: 

    Interface [none]: br0      <---- Interface used for communication between the cluster nodes.

    Key File [/etc/cluster/fence_xvm.key]: 

    Backend module [libvirt]: 

    Libvirt URI [qemu:///system]: 

 

 

4. fence_virtd 데몬 재시작                                   

데몬을 재시작하여 변경된 구성을 적용한다.

 

# systemctl restart fence_virtd                                             

# systemctl enable fence_virtd                                        

 

 

5. 방화벽 설정

firewalld를 사용하여 1229 포트 방화벽을 오픈한다. tcp/udp 모두 오픈한다.

 

# firewall-cmd --add-port=1229/tcp --permanent

# firewall-cmd --add-port=1229/udp --permanent

# firewall-cmd --reload                                                

                        

 

 

* 클라이언트 (클러스터 노드) 에서 fence_xvm 설정

 

 

1. fence-virt 설치

# yum install -y fence-virt (fence-agents-all 을 설치하는 경우 자동으로 설치된다)

 

 

2. fence_xvm.key 파일 확인

# 위 kvm 호스트 세팅의 2번째 항목에서 복사한 /etc/cluster/fence_xvm.key 파일이 잘 있는지 확인

 

 

3. fence_xvm 통신을 위한 방화벽 해제 

# firewall-cmd --permanent --add-port=1229/tcp

# firewall-cmd --reload

 

 

4. fence_xvm 통신 테스트

# fence_xvm -o list

아래와 같이 생성된 가상머신들이 확인된다.

 

 

5. fence 구성

pcs stonith create fence_all fence_xvm pcmk_host_map="node1.hb:rhel8.3-node1 node2.hb:rhel8.3-node2 node3.hb:rhel8.3-node3" key_file=/etc/cluster/fence_xvm.key

 

pcmk_host_map 항목에서 형식이 nodename:port 라고 나오는데 port는 가상머신의 이름이다.  또한, 가상머신의 이름과 호스트명이 동일한 경우 pcmk_host_map은 입력하지 않아도 된다. fence_xvm 은 멀티캐스트라 충돌이 있을 수 있어 펜스 장치는 1개만으로 3개 노드를 커버하도록 한다. 

 

 

6. fence 테스트

모든 노드에서 watch pcs status. 수행 후 아래 명령 실행, 모니터링

pcs stonith fence node1.hb

pcs stonith fence node2.hb

pcs stonith fence node3.hb

 

* 클러스터 시작/중지

pcs cluster stop --all

pcs cluster start --all

 

 

* 상태확인

pcs status --full

pcs status corosync

pcs status quorum

pcs config

 

 

* 클러스터  관리

pcs node standby/unstandby 노드명

클러스터에서 제거하지 않고 리소스 올리지 못하게 하기, 마이그레이션 테스트 등

 

pcs resource debug-start 리소스명

fail 원인 찾기. 리소스 시작 시도의 오류 메시지를 표시해줌.

 

corosync-cfgtool -s

클러스터 네트워크 확인

 

pcs properity --all

클러스터 속성값 확인 (no quorum policy 확인)

 

pcs cluster node add/remove 노드명

클러스터에 새로운 노드 넣기/제거하기

 

 

* 리소스 관련

pcs resource list

pcs resource describe 에이전트명

pcs resource delete

pcs resource enable/disable 리소스명/그룹명 : 리소스 중단. 컨스트레인트 테스트할때 사용

pcs resource update 리소스 정보 변경

pcs resource op add/remove 리소스명 이름(monitor/start/stop등)

 

 

 

* 펜스 관련

pcs stonith list 에이전트명

펜스 리스트 보기

 

pcs stonith describe 에이전트명

해당 펜스 에이전트의 상세정보 확인

 

에이전트명 -h

해당 펜스 에이전트의 상세정보 확인

 

pcs stonith delete

펜스 삭제

 

 

 

* 컨스트레인트 관련

pcs constraint list --full

현재 컨스트레인트의 상세정보

 

pcs constraint delete 컨스트레인트명 

컨스트레인트 제거

 

pcs constraint order a then b

a가 시작되어야 b 도 시작 가능하다. a가 스톱되어야 한다면 b가 먼저 스톱된다.

 

pcs constraint location A prefers/avoids 노드명

해당 리소스가 해당 노드를 더 선호하게 된다. 이것은 인피니티를 가지게 됨. / 또는 더 안선호하고 마이너스 인피니티를 가지게 함.

 

pcs constraint location A prefers node=500

해당 노드에 500점 준다

 

pcs constraint colocation add B with A

두 노드는 동일 노드에서 실행되어야만 한다. A가 메인이다. a가 시작되어야 b도 시작된다. a가 시작할 위치가 없으면 b도 실행할 수 없다. a가 먼저 실행될곳을 결정하고 그다음 b가 실행될지 여부를 결정한다.

 

pcs constraint colocation add B with A -INFINITY

둘이 절대 같이 안있게함.

 

 

# 현재 스코어 보기

crm_simulate -sL 의 옵션

-s : 스코어를 보여주기 (리소스, 리소스 그룹, stonith 장치)

-L : live cluster 에서 (현재 클러스터?인듯)

 

crm_simulate 명령은 리소스 type에 따라 특정 리소스에 대해 호출되는 할당 메서드(이전에는 color알려짐)를 사용하여 워크로드를 생성한다.

일반 리소스는 native_allocate만을 호출하는데 반면 클론된 리소스는 클론되는 레귤로 리소스에 대한 native_allocate 와 클론으로서 성격에 대한 clone_allocate 둘다 호출한다.

비슷하게, 그룹 리소스도 native_allocate와 group_allocate 두개를 호출한다.

location constraint 만을 사용해서 노드에 이동시키는 예시만 쓰므로, 리소스 할당 type은 여기서는 관련이 없다.

 

위 예시에서, location constraint 가 있는데 myweb 리소스 그룹은 노드1을 선호하도록 100점이 되어있다. 

 

클러스터가 노드1에서 webip 리소스를 시작했다. 리소스가 실행되고 있을 때, 리소스 그룹이 자동으로 클러스터 내 모든 노드에 대하여 webserver 의 리소스가 -infinity 가 되도록 세팅했다. 따라서 그 리소스는 node1에서 실행되어야만 했다. (리소스그룹안에 모든 리소스들은 동일한 클러스터 노드에서 실행되어야만 하므로)

 

또한 crm_simulate 명령은 또한 특정 클러스터 구성과 이벤트 순서에 따라 리소스가 어떻게 재배치되는지를 예측하기 위한 문제해결 도구가 되기도 한다. 

 

+ Recent posts