Pacemaker With RHEL7 Part 07 - Configuring HA KVM guest
원본출처 : http://www.unixarena.com/2015/12/rhel-7-pacemaker-configuring-ha-kvm-guest.html
UnixArena에서 KVM 기사 시리즈를 읽은 적이 있다면 KVM 게스트 라이브 마이그레이션 에 관한 기사를 읽었을 것 입니다. KVM은 게스트 라이브 마이그레이션 (VMware vMotion과 유사)을 지원하지만 고 가용성을 제공하려면 클러스터 설정이 필요합니다. (VMware HA와 마찬가지). 이 기사에서는 라이브 마이그레이션을 지원하는 KVM 게스트를 클러스터 리소스로 구성 할 것입니다. KVM 게스트 리소스를 수동으로 이동하면 클러스터는 실시간 마이그레이션을 수행하고 KVM 호스트에서 하드웨어 오류나 하이퍼 바이저 오류가 발생하면 게스트는 사용 가능한 클러스터 노드에서 시작되며 (가동 중지 시간은 최소화 됨) 기존 KVM 및 Redhat 클러스터 설정을 사용하여 이를 보여줍니다.
- KVM 하이퍼 바이저 - RHEL 7.2
- Redhat 클러스터 노드 - UA-HA 및 UA-HA2
- 공유 저장 장치 - NFS (GFS2를 사용할 수도 있음)
- KVM 게스트 - UAKVM2
1. 클러스터 노드 중 하나에 로그인하고 KVM 게스트를 중지합니다.
[root@UA-HA ~]# virsh shutdown UAKVM2 [root@UA-HA ~]# virsh list --all Id Name State ---------------------------------------------------- - UAKVM2 shut off [root@UA-HA ~]#
2. 게스트 도메인 구성 파일 (XML)을 NFS 경로로 복사합니다.
[root@UA-HA qemu_config]# cd /etc/libvirt/qemu/ [root@UA-HA qemu]# ls -lrt total 8 drwx------. 3 root root 40 Dec 14 09:13 networks drwxr-xr-x. 2 root root 6 Dec 16 16:16 autostart -rw------- 1 root root 3676 Dec 23 02:52 UAKVM2.xml [root@UA-HA qemu]# [root@UA-HA qemu]# cp UAKVM2.xml /kvmpool/qemu_config [root@UA-HA qemu]# ls -lrt /kvmpool/qemu_config total 4 -rw------- 1 root root 3676 Dec 23 08:14 UAKVM2.xml [root@UA-HA qemu]#
3. KVM 가상 게스트의 정의를 해제합니다. (클러스터 리소스로 구성하려면)
[root@UA-HA qemu]# virsh undefine UAKVM2 Domain UAKVM2 has been undefined [root@UA-HA qemu]# virsh list --all Id Name State ---------------------------------------------------- [root@UA-HA qemu]#
4. pacemaker 클러스터 상태를 확인합니다.
[root@UA-HA ~]# pcs status Cluster name: UABLR Last updated: Mon Dec 28 22:44:59 2015 Last change: Mon Dec 28 21:16:56 2015 by root via crm_resource on UA-HA2 Stack: corosync Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum 2 nodes and 4 resources configured Online: [ UA-HA UA-HA2 ] Full list of resources: Resource Group: WEBRG1 ClusterIP (ocf::heartbeat:IPaddr2): Started UA-HA2 vgres (ocf::heartbeat:LVM): Started UA-HA2 webvolfs (ocf::heartbeat:Filesystem): Started UA-HA2 webres (ocf::heartbeat:apache): Started UA-HA2 PCSD Status: UA-HA: Online UA-HA2: Online Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled [root@UA-HA ~]#
5. KVM 게스트를 관리하려면 “VirtualDomain”이라는 리소스 에이전트를 사용해야합니다. /kvmpool/qemu_config
에 저장된 UAKVM2.xml
파일을 사용하여 새 가상 도메인을 만듭니다.
[root@UA-HA ~]# pcs resource create UAKVM2_res VirtualDomain hypervisor="qemu:///system" config="/kvmpool/qemu_config/UAKVM2.xml" migration_transport=ssh op start timeout="120s" op stop timeout="120s" op monitor timeout="30" interval="10" meta allow-migrate="true" priority="100" op migrate_from interval="0" timeout="120s" op migrate_to interval="0" timeout="120" --group UAKVM2 [root@UA-HA ~]#
6. 클러스터 상태를 점검하십시오.
[root@UA-HA ~]# pcs status Cluster name: UABLR Last updated: Mon Dec 28 22:51:36 2015 Last change: Mon Dec 28 22:51:36 2015 by root via crm_resource on UA-HA Stack: corosync Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum 2 nodes and 5 resources configured Online: [ UA-HA UA-HA2 ] Full list of resources: Resource Group: WEBRG1 ClusterIP (ocf::heartbeat:IPaddr2): Started UA-HA2 vgres (ocf::heartbeat:LVM): Started UA-HA2 webvolfs (ocf::heartbeat:Filesystem): Started UA-HA2 webres (ocf::heartbeat:apache): Started UA-HA2 Resource Group: UAKVM2 UAKVM2_res (ocf::heartbeat:VirtualDomain): Started UA-HA PCSD Status: UA-HA: Online UA-HA2: Online Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled [root@UA-HA ~]#
7. KVM 게스트 “UAKVM2”가 자동으로 생성되고 시작되어야합니다. 다음 명령을 사용하여 실행중인 VM을 확인하십시오.
[root@UA-HA ~]# virsh list Id Name State ---------------------------------------------------- 2 UAKVM2 running [root@UA-HA ~]#
8. Pacemaker는 또한 라이브 KVM 게스트 마이그레이션을 지원합니다. 즉시 KVM 게스트를 다른 KVM 호스트로 마이그레이션하려면 다음 명령을 사용하십시오.
[root@UA-HA ~]# pcs resource move UAKVM2 UA-HA2 [root@UA-HA ~]#
위의 명령에서,
UAKVM2는 리소스 그룹 이름을 나타내고 UA-HA2는 클러스터 노드 이름을 나타냅니다.
9. 클러스터 상태를 점검하십시오.
[root@UA-HA ~]# pcs status Cluster name: UABLR Last updated: Mon Dec 28 22:54:51 2015 Last change: Mon Dec 28 22:54:38 2015 by root via crm_resource on UA-HA Stack: corosync Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum 2 nodes and 5 resources configured Online: [ UA-HA UA-HA2 ] Full list of resources: Resource Group: WEBRG1 ClusterIP (ocf::heartbeat:IPaddr2): Started UA-HA2 vgres (ocf::heartbeat:LVM): Started UA-HA2 webvolfs (ocf::heartbeat:Filesystem): Started UA-HA2 webres (ocf::heartbeat:apache): Started UA-HA2 Resource Group: UAKVM2 UAKVM2_res (ocf::heartbeat:VirtualDomain): Started UA-HA2 PCSD Status: UA-HA: Online UA-HA2: Online Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled [root@UA-HA ~]#
10. virsh 명령을 사용하여 VM을 나열하십시오. VM이 UA-HA에서 UA-HA2로 이동되었음을 알 수 있습니다.
[root@UA-HA ~]# virsh list --all Id Name State ---------------------------------------------------- [root@UA-HA ~]# ssh UA-HA2 virsh list Id Name State ---------------------------------------------------- 2 UAKVM2 running [root@UA-HA ~]#
이 마이그레이션 중에는 단 하나의 패킷조차 유실되지 않았습니다.