V první části jsme podrobně vysvětlili, jak nainstalovat a nakonfigurovat 2 Node RedHat Cluster.
Následující kroky na vysoké úrovni jsme probrali v předchozím tutoriálu:
- Nainstalujte a spusťte službu clusteru RICCI
- Vytvořit cluster na aktivním uzlu
- Přidat uzel do clusteru
- Přidat oplocení do clusteru
- Konfigurujte doménu převzetí služeb při selhání
- Přidat prostředky do clusteru
V tomto tutoriálu probereme následující kroky na vysoké úrovni k dokončení nastavení clusteru:
- Synchronizace konfigurace clusteru mezi uzly
- Spusťte cluster
- Ověřte převzetí služeb při selhání vypnutím aktivního uzlu
1. Synchronizovat konfigurace napříč uzly
Kdykoli je provedena změna konfigurace nebo poprvé, když instalujete a konfigurujete cluster, měli byste synchronizovat konfigurace z aktivního uzlu se všemi uzly.
Následující příkaz synchronizuje konfigurace clusteru se všemi dostupnými uzly:
[root@rh1 ~]# ccs -h rh1 --sync --activate rh2 password:
2. Ověřte konfiguraci clusteru
Nakonec ověřte, zda jsou konfigurace platné, jak je uvedeno níže.
[root@rh1 ~]# ccs -h rh1 --checkconf All nodes in sync.
Pokud se vyskytnou nějaké problémy s konfigurací nebo když se konfigurace na aktivním uzlu neshodují s konfiguracemi na všech uzlech v clusteru, výše uvedený příkaz je náležitě vypíše.
3. Spusťte Cluster
Chcete-li spustit cluster na Node1, proveďte následující:
[root@rh1 ~]# ccs -h rh1 –start
Chcete-li spustit cluster na obou uzlech, proveďte následující:
[root@rh1 ~]# ccs -h rh1 –startall
Chcete-li zastavit cluster na Node1, proveďte následující:
[root@rh1 ~]# ccs -h rh1 –stop
Chcete-li zastavit cluster na obou uzlech, proveďte následující:
[root@rh1 ~]# ccs -h rh1 –stopall
4. Zobrazit stav clusteru
Když je vše v provozu ve vašem Redhat nebo CentOS Linux Clusteru, můžete zobrazit stav clusteru, jak je uvedeno níže:
[root@rh1 cluster]# clustat Cluster Status for mycluster @ Sat Mar 15 02:05:59 2015 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ rh1 1 Online, Local, rgmanager rh2 2 Online Service Name Owner (Last) State ------- ---- ----- ------ ----- service:webservice1 rh1 started
Jak vidíte ve výše uvedeném výstupu, znamená to, že v našem clusteru jsou dva uzly a oba uzly jsou online a rh1 je aktivní uzel.
5. Ověřte převzetí služeb při selhání clusteru
Chcete-li ověřit převzetí služeb při selhání clusteru, zastavte cluster na aktivním uzlu nebo vypněte aktivní uzel. To by mělo přinutit klastr k automatickému převzetí služeb při selhání prostředku IP a prostředku souborového systému k dalšímu dostupnému uzlu definovanému v doméně převzetí služeb při selhání.
To je to, co aktuálně vidíme na node1.
[root@rh1 ~]# clustat
Cluster Status for mycluster @ Sat Mar 15 14:16:00 2015
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
rh1 1 Online, Local, rgmanager
rh2 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:webservice1 rh1 started
[root@rh1 ~]# hostname
rh1.mydomain.net
[root@rh1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:e6:6d:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.12/24 scope global secondary eth0
inet6 fe80::a00:27ff:fee6:6db7/64 scope link
valid_lft forever preferred_lft forever
[root@rh1 ~]# df -h /var/www
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cluster_vg-vol01 993M 18M 925M 2% /var/www 5. Vynutit selhání clusteru
Nyní stáhněte uzel1 a všechny služby a prostředky by měly přejít na druhý uzel a uvidíte jako níže uvedený výstup.
[root@rh1 ~]# shutdown -h now
Poté, co je uzel 1 mimo provoz, na node1 uvidíte následující.
root@rh2 ~]# clustat Cluster Status for mycluster @ Sat Mar 18 14:41:23 2015 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ rh1 1 Offline rh2 2 Online, Local, rgmanager Service Name Owner (Last) State ------- ---- ----- ------ ----- service:webservice1 rh2 started
Výše uvedený výstup indikuje, že v clusteru jsou dva uzly (rh1 a rh2). rh1 je nefunkční a aktuálně je aktivním uzlem rh2.
Také, jak vidíte níže, na rh2, souborový systém a ip-adresa přešly z rh1 bez problémů.
[root@rh2 ~]# df -h /var/www
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cluster_vg-vol01 993M 18M 925M 2% /var/www
[root@rh2 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP ql en 1000
link/ether 08:00:27:e6:6d:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.11/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.12/24 scope global secondary eth0
inet6 fe80::a00:27ff:fee6:6db7/64 scope link tentative dadfailed
valid_lft forever preferred_lft forever 6. Plně funkční ukázkový soubor cluster.conf
Následuje konečný pracovní konfigurační soubor cluster.conf pro 2uzlový cluster redhat.
[root@rh1 ~]# cat /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster config_version="28" name="mycluster">
<fence_daemon post_join_delay="25"/>
<clusternodes>
<clusternode name="rh1" nodeid="1">
<fence>
<method name="mthd1">
<device name="myfence"/>
</method>
</fence>
</clusternode>
<clusternode name="rh2" nodeid="2">
<fence>
<method name="mthd1">
<device name="myfence"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices>
<fencedevice agent="fence_virt" name="myfence"/>
</fencedevices>
<rm>
<failoverdomains>
<failoverdomain name="webserverdomain" nofailback="0" ordered="1" restricted="0">
<failoverdomainnode name="rh1"/>
<failoverdomainnode name="rh2"/>
</failoverdomain>
</failoverdomains>
<resources>
<fs device="/dev/cluster_vg/vol01" fstype="ext4" mountpoint="/var/www" name="web_fs"/>
</resources>
<service autostart="1" domain="webserverdomain" name="webservice1" recovery="relocate">
<fs ref="web_fs"/>
<ip address="192.168.1.12" monitor_link="yes" sleeptime="10"/>
</service>
</rm>
</cluster>