===== MGMT =====
==== Feladat ====
Az mgmt gépeken fut a teljes cluster managementje. LDAP, DHCPD, PXE, NFS, stb.
==== Hozzáférések ====
=== LDAP ===
* Username: cn=admin,dc=ldap,dc=dwsc
* Password: ohYaetie1uth
==== Modulok ====
=== Corosync ===
A két mgmt gép közötti kapcsolatot egy közvetlen kábel biztosítja. A rendszerek magas rendelkezésreállásáról a Corosync nevű szoftver gondoskodik. Az Load Balancer funkcionalitást Ldirectord-vel oldottuk meg.
A CRMben (Cluster Resource Manager) több erőforrás van definiálva, VIP címek és szolgáltatások, melyek csoportokba vannak szervezve és megfelelő indulási sorrenddel vannak konfigurálva.
=== IP filter ===
A felhasználók számára létezik egy IP filter nevű felület, ahol lehetőségük van szűrni IP címeket a rendszerből. Egy shell script (/usr/local/sbin/ipfilter.sh) keresi a block/* authorizedService-t a ou=Users,dc=ldap,dc=dwsc fában, majd ezeket felveszi egy láncba, melynek a neve a fileban van definiálva. A script cronból fut percenként.
==== Corosync ====
=== Resources ===
A resource listat a ''crm status'' paranccsal tudjuk lekerdezni.
root@mgmt1:~# crm status
============
Last updated: Fri May 3 10:50:16 2013
Last change: Thu May 2 11:01:36 2013 via cibadmin on mgmt1
Stack: openais
Current DC: mgmt1 - partition with quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
15 Resources configured.
============
Online: [ mgmt1 mgmt2 ]
Clone Set: ping2 [ping1]
Started: [ mgmt2 mgmt1 ]
Resource Group: mgmt
mgmtVIP (ocf::heartbeat:IPaddr2): Started mgmt1
mgmtIntVIP (ocf::heartbeat:IPaddr2): Started mgmt1
TFTPD (lsb:tftpd-hpa): Started mgmt1
lvs (ocf::heartbeat:ldirectord): Started mgmt1
ftpd (lsb:pure-ftpd-ldap): Started mgmt1
vip-5.159.232.30 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.31 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.33 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.34 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.35 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.36 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.37 (ocf::heartbeat:IPaddr2): Started mgmt1
vip-5.159.232.38 (ocf::heartbeat:IPaddr2): Started mgmt1
A kimenet jól mutatja, hogy mely szolgáltatások mely gépen futnak.
=== Új VIP cím ===
Új ügyfél esetén az Edge VIP címét fel kell venni a load-balancerbe. Ehhez egy új primitive -et kell felvenni és az erőforrás nevét a ''coloc_vips'' colocation és az ''ord_vips'' order részbe fel kell venni.
root@mgmt1:~# crm
crm(live)# configure
crm(live)configure# primitive vip-5.159.232.38 ocf:heartbeat:IPaddr2 params ip="5.159.232.38" cidr_netmask=24 lvs_support=true
edit
Az edit parancs után bejön az EDITOR környezeti változóból vett szerkesztő
colocation coloc_vips inf: vip-5.159.232.30 vip-5.159.232.31 vip-5.159.232.33 vip-5.159.232.34 vip-5.159.232.35 vip-5.159.232.36 vip-5.159.232.37 vip-5.159.232.38 mgmt
order ord_vips inf: vip-5.159.232.30 vip-5.159.232.31 vip-5.159.232.33 vip-5.159.232.34 vip-5.159.232.35 vip-5.159.232.36 vip-5.159.232.37 vip-5.159.232.38 mgmt
Fontos, hogy az új vip primitive az ''mgmt'' group elé kerüljön, különben nem fog sikerülni az Ldirectord bind. \\
Ha sikerült a ''verify'' paranccal ellenőrizhető a konfiguráció. Amennyiben megfelelő a ''commit'' paranncsal érvényesíthető a változás.
Bővebb dokumentációt a Corosyncről a project oldalán lehet találni. \\
http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/
=== Új ügyfél port és kimenő VIP ===
IP cím takarékosság miatt az ügyfelek bejövő streamje nem kap külön IP címet, csak a kimenő. Ezért minden ügyfél a megfelelő portra tudja küldeni a forgalmat, melyet az Admin felületen talál (Stream group lista).
Az ügyfelek portját fel kell venni az ''ldirectord.cf'' fájlba. Ha az ügyfél port 2250 és az Origin VIP 5.159.232.31, akkor ''/etc/ha.d/ldirectord.cf'':
virtual=5.159.232.31:2250
real=origin1.dwsc:2250 gate
real=origin2.dwsc:2250 gate
scheduler=wrr
persistent=5
protocol=tcp
checktype=negotiate
checkport=2250
service=http
request="lvs"
Az ügyfél porton kívül az Edge IP címet is be kell konfigurálni, ha még nem volt használva ''/etc/ha.d/ldirectord.cf'', a checkport-ot az origin konfigban megadott portra kell beállítani (az előbbi példában 2250):
virtual=5.159.232.30:1935
real=edge1.dwsc:1935 gate
real=edge2.dwsc:1935 gate
scheduler=wrr
persistent=30
protocol=tcp
checktype=negotiate
checkport=2250
service=http
request="lvs"
virtual=5.159.232.30:80
real=edge1.dwsc:80 gate
real=edge2.dwsc:80 gate
scheduler=wrr
persistent=30
protocol=tcp
checktype=negotiate
checkport=2250
service=http
request="lvs"
A konfiguráció után a Ldirectord szolgáltatást újra kell tölteni:
root@mgmt1:~# /etc/init.d/ldirectord reload
[....] Running ldirectord: reload
Az elkészült beállíást az ''ipvsadm -L'' paranccal tudjuk ellenőrizni. \\
Az LVS tábláit közvetlenül nem érdemes konfigurálni, mert a periodikusan futó Ldirectord vissza fogja állítani az eredeti állapotra. \\ \\
**Az /etc/ha.d/ldirectord.cf fájlt másolni kell 2 szerver között!**