This shows you the differences between two versions of the page.
dwsc:mgmt [2013/04/12 12:51] efpe |
dwsc:mgmt [2013/05/03 11:36] (current) ivan |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== MGMT ===== | ===== MGMT ===== | ||
==== Feladat ==== | ==== Feladat ==== | ||
- | Az mgmt gépeken fut a teljes cluster managementje. LDAP, DHCPD, PXE, NFS, HDFS namenode, stb. | + | Az mgmt gépeken fut a teljes cluster managementje. LDAP, DHCPD, PXE, NFS, stb. |
==== Hozzáférések ==== | ==== Hozzáférések ==== | ||
Line 9: | Line 9: | ||
==== Modulok ==== | ==== 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 === | === 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/* authorizedServciet 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. | + | 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. | ||
+ | <code> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | 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. | ||
+ | <code> | ||
+ | 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 | ||
+ | </code> Az edit parancs után bejön az EDITOR környezeti változóból vett szerkesztő | ||
+ | <code>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 | ||
+ | </code> | ||
+ | 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'': | ||
+ | <code>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" | ||
+ | </code> | ||
+ | |||
+ | 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): <code> | ||
+ | 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" | ||
+ | </code> | ||
+ | |||
+ | A konfiguráció után a Ldirectord szolgáltatást újra kell tölteni: | ||
+ | <code> | ||
+ | root@mgmt1:~# /etc/init.d/ldirectord reload | ||
+ | [....] Running ldirectord: reload | ||
+ | </code> | ||
+ | |||
+ | 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!** |