Pacemaker klastr se dvema linkami

Jan Kasprzak kas na fi.muni.cz
Úterý Srpen 11 17:05:38 CEST 2020


Pavel Kankovsky wrote:
: On Tue, 4 Aug 2020, Jan Kasprzak wrote:
: 
: >A ted bych si chtel nasimulovat vypadek jedne linky.
: >
: >Pokus 1: odriznu sitovy provoz jedne linky pres iptables:
: >
: >pcs2# iptables -I INPUT -i eth1 -j DROP
: >pcs2# iptables -I OUTPUT -o eth1 -j DROP
: >
: >Tohle se projevi tak, ze "pcs cluster status" si porad mysli
: >ze je vse v poradku, akorat ve /var/log/cluster/corosync.log pribudou
: >radky o vypadku jedne z linek, a "best link" je ta druha.
: >Toto je v zasade to co chci, nicmene bylo by pekne, aby v nejakem
: >prikazu bylo videt, ze neni vsechno uplne v poradku.
: >
: >DOTAZ 1: ve kterem prikazu by byl videt vypadek jedne z linek?
: 
: Prý by to měl umět příkaz "corosync-cfgtool -s".

	Jo, je to tak.

: >Pokus 2: misto zariznuti provozu pres iptables shodim cely interface:
: >
: >pcs2# ifdown eth1
: >
: >Tohle se projevi tak, ze pcs1 nejprve zaznamena vypadek linky
: >a "best link" je ta druha. V tuto chvili zacne corosync na pcs2
: >zrat temer 100 % casu, [...]
: >
: >DOTAZ 2: proc v tomto pripade corosync nefunguje normalne po zbyvajici lince?
: 
: Je to z má strany naprosto divoká spekulace, ale možná ho nějak
: vytočí fakt, že mu zmizela IP adresa, se kterou chtěl pracovat, a
: nedokáže se z toho zotavit. Možná mu začne selhávat nějaký syscall,
: což neočekává, a začne se z toho točit v nějaké smyčce a celé se to
: rozbije.
: 
: Šlo by to ověřit tak, že by se místo "ifdown" zkusilo jen "ip link
: down" nebo naopak "ip addr remove".

Nakonec jsem vyrobil https://github.com/corosync/corosync/issues/569
a sice se ukazalo, ze je to chyba kronosnet, ale v upstreamu je davno
opravena. Ale tak aspon jsem to timto trochu popostrcil k tomu,
aby se oprava backportovala i do downstreamu CentOSu/RHELu.

Ted uz to vicemene dela co chci, snad jen s vyjimkou toho, ze nevim
jak se nastavi timeout na prevzeti sluzeb pri vypadku. Umim nastavit
timeout cekani na druhy uzel po rebootu (pcs property set dc-deadtime=XXX),
ale ten vypadek nikoliv.

-Y.

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
IORING_OP_NOP ... the benefits of doing nothing asynchronously are minimal,
but sometimes a placeholder is useful.             --Jonathan Corbet at LWN


Další informace o konferenci Linux