Helló!
Kedvenc tagunk, dap iránymutatása alapján egész jól haladok a DRBD-re rakott LXC konténerek útján.
Most ami van, CentOS 7 alapokon:
- működő DRBD, /drbd/
- működő LXC libvirt használattal
- port forward használattal az LXC-s konténerek elérhetőek a host gépen, így elérhetőek a szolgáltatások
Ami még hátra van mindenképp:
1. - Az LXC és a libvirt szolgáltatásokat a DRBD-re átrakni, ha failover van, a másik gép is el tudja indítani azokat. Egyszerűen csak átmozgatom ami érintett file a /drbd/ alá valami strukturába, majd rakok symlink-et a régi helyre és kész? Selinux mit fog szólni hozzá?
2. - Selinux most permissive állapotban van, mert ha kikapcsolom, a libvirt nem működik megfelelően az LXC-vel. Érdemes küzdeni a bekapcsolt Selinx-szal?
3. - LXC-be beállítani, hogy közös webes könyvtárból dolgozzanak, például /drbd/www/ : Csak rakjak sima symlinket ln -s -sel és kész? Még nem próbáltam, de ez a legjobb? Vagy hard link?
4. - Létrehozni a szolgáltatás konténereket, hogy a drbd-n legyenek. De ha az első pontot megcsinálom, akkor elvileg a többi is jó lesz és ott lesz.
5. - Beállítani a port forward-okat a megfelelő privát IP-re, ahol az LXC konténerben futnak a szolgáltatások. Amit csináltam port forward-ot a firewalld-be, az jelenleg érdekesen működik, mert ha nem is módosítok semmit, akkor kell firewall-cmd --reload hogy mondjuk a 80-as port működjön egy picit... :-) Gondolom ez erős jelzés arra, hogy még nem tökéletes valami enyhén szólva... :-)
6. - Megoldani a drbd failover-t... Pacemaker + corosync? Ez ráér, ha már működik drbd-n jól az LXC, vagy az elején kellene?
7. - Most a libvirt a 192.168.122.x-es privát hálózaton éri el a konténereket. Van értelme ezt átrakni a 10.1.y.z-s tartományba? Ez volt az eredeti terv, de mivel úgyis egyszerre csak 1 szerver fog futni, valamint úgyis port forwardolva lesznek a szolgáltatások a fő szerverre, így szerintem maradhat itt. Valami ellenvélemény, vagy más érv a változtatásra?
8. Van értelme, hogy az LXC-s konténerekben legyen internet kapcsolat? Most például így telepítek fel új csomagokat, frissítek:
yum install wget --installroot=/var/lib/libvirt/lxc/nginx/ --nogpgcheck -y
Ahol a /var/lib/libvirt/lxc/nginx/ a konténer könyvtára.
9. Van jobb, logikusabb útja, hogy a konténerek IP-n (192.168.122.x) címen át kommunikáljanak egymással? Tehát a MySQL például a 2-es IP-n lesz, akkor a php-cgi a 3-as IP-n a 192.168.122.2 -re csatlakozik, mint adatbázis kapcsolat, amit az nginx az 5-ös IP-ről hív meg. Van ennél ésszerűbb módja a kivitelezésnek?
10. A konténereken belülre kell raknom firewalld-t és beállítani? Még most nem raktam. A szolgáltatások konténeren belül nem root-ként futnak, hanem külön felhasználóként, azaz most a master process root-ként:
ps aux|grep ng
root 3393 0.0 0.2 47964 1128 ? Ss 09:19 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 3394 0.0 0.3 48404 2028 ? S 09:19 0:00 nginx: worker process
11. Az LXC konténerekben systemctl disable avahi-daemon és systemctl disable auditd. Van bármi ellenérv ezekre?
Ti milyen sorrendben csinálnátok ezt? Kihagytam valami fontosat?
- 4366 megtekintés
Hozzászólások
Nem tudok teljes valaszt adni, de en megprobaltam osszerakni az LXC+DRBD+Pacemaker kombot es haaaaat... ugy tunik, ott meg a resource agenteken kellene reszelgetni egy kicsit, mert nem 100%-os, nekem sikerult osszeborulnia idonkent.
--
Pásztor János
Üzemeltető Macik
- A hozzászóláshoz be kell jelentkezni
Szia János!
Köszönöm a válaszodat. Hogy borult össze időnként, mi miatt?
A fent leírtakban te mit csinálnál máshogy?
Sakk-matt,
KaTT :)
- A hozzászóláshoz be kell jelentkezni
Valami olyasmi volt, hogy random eldobalta "unmanaged" allapotba az LXC eroforrast. Hogy miert, arrol fogalmam sincs, nem jartam utana reszletesebben.
Egyebkent itt van a config, kiszedtem belole a kenyes reszeket. Remelem, segit valamit:
node host2 \
attributes standby="off"
node host3 \
attributes standby="off"
node host1 \
attributes standby="off"
primitive res-***-hun-db01-drbd ocf:heartbeat:drbd \
params drbd_resource="***-hun-db01" ignore_deprecation="true" \
op start interval="0" timeout="240s" \
op stop interval="0" timeout="100s" max-clone-node="1" clone-node="1" \
op promote interval="0" timeout="240s" \
op demote interval="0" timeout="100s" \
op monitor interval="30s" timeout="240s"
primitive res-***-hun-db01-lxc ocf:heartbeat:lxc \
params container="***-hun-db01" config="/var/lib/lxc/***-hun-db01/config" \
op start interval="0" timeout="240s" \
op stop interval="0" timeout="100s" max-clone-node="1" clone-node="1" \
op monitor interval="30s" timeout="240s" \
meta target-role="Started"
group group-***-hun-db01 res-***-hun-db01-lxc \
meta target-role="Started" is-managed="true"
ms ms-***-hun-db01 res-***-hun-db01-drbd \
meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" target-role="Master" globally_unique="false" is-managed="true" target-role="Started"
location cli-prefer-group-***-hun-db01 group-***-hun-db01 \
rule $id="default-group-***-hun-db01-host1" 100: #uname eq host1 \
rule $id="failover-group-***-hun-db01-host2" 50: #uname eq host2 \
rule $id="cli-prefer-rule-group-***-hun-db01" inf: #uname eq host1
location never-host3-***-hun-db01-drbd ms-***-hun-db01 -inf: host3
location never-host3-***-hun-db01-lxc res-***-hun-db01-lxc -inf: host3
colocation col-***-hun-db01-drbd inf: group-***-hun-db01 ms-***-hun-db01:Master
order order-***-hun-db01 inf: ms-***-hun-db01:promote group-***-hun-db01:start
--
Pásztor János
Üzemeltető Macik
- A hozzászóláshoz be kell jelentkezni
Szia!
Közel 2 éve használok lxc-t debianon, de nem libvirten keresztül.
Később érdemben is hozzászólok.
Ez csak a feliratkozás.
- A hozzászóláshoz be kell jelentkezni
Én azért libvirt-en keresztül használom jelenleg az LXC-t, mert az nélkül CentOS 7-en furcsa bug-ok voltak és nem működött megfelelően. Libvirt-en keresztül eddig minden tökéletesen működik.
Lehetséges, az én rutintalanságom miatt nem megy libvirt nélkül, de ha megnézed ezt a témát: http://hup.hu/node/135517 akkor látni fogod, hogy mikbe futottam bele. Alap CentOS 7 sablon használattal, default minimum CentOS 7 install-on nem működik az LXC ha CentOS 7 konténert akarok, az a vicc. De az Ubuntu vagy Fedora 20 konténer egyből ment, tökéletesen. Csak pont a saját változatú konténer nem. Több gépen, több módon is kipróbáltam, és ez volt mindig. Libvirt-en keresztül egyből jó a CentOS 7 konténer is.
Tudja valaki, milyen hátrány, overhead van a libvirt használattal LXC esetén, mintha simán LXC-t használnék libvirt nélkül?
Sakk-matt,
KaTT :)
- A hozzászóláshoz be kell jelentkezni
Várom a hozzászólásodat nagysa.
Azt tudja valaki pontosan, hogy a DRBD-nek konkrétan milyen portokat kell megnyitni?
Firewalld és Selinux beállítása még hátra van.
Selinux miatt a permissive mód mennyit lassít, ha nincsen beállítva semmi selinux szabály?
Tud a permissive mód a kikapcsolt módhoz képest jelentős lassulást okozni?
Úgy tervezem, hogy elsőnek menjen permissive módban, aztán a log-ok alapján beállítom a jogokat. Ez jó út?
Sakk-matt,
KaTT :)
- A hozzászóláshoz be kell jelentkezni
A DRBD device-onkent egy dedikalt portot eszik meg, mas egyebre nincs szuksege.
--
Pásztor János
Üzemeltető Macik
- A hozzászóláshoz be kell jelentkezni
Köszönöm. Úgy néz ki az a banális hiba volt, hogy a firewalld-ben nem volt hozzárendelve az internal-hoz az adott hálókártya.
Mi a legésszerűbb megoldás arra, hogy definiáljak ring0, ring1-et, hogy alapból a gigabit crossover részen kommunikáljon, ha azzal van valami, akkor a switch-en keresztül?
Sakk-matt,
KaTT :)
- A hozzászóláshoz be kell jelentkezni
UNIX-haladó -> Linux-haladó
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Trey, köszönöm az áthelyezést és legközelebb figyelek, hogy jó helyre hozzam létre.
KaTT
- A hozzászóláshoz be kell jelentkezni