Test tal-failover: jibqa' ħaj fluss TCP stabbilit?
Ħruġ ta' riżerva jista' jaċċetta kull konnessjoni ġdida u xorta jkisser it-trasferiment li diġà għaddej. Ipprova ż-żewġ riżultati, u żżomm il-każ tal-failback fil-pjan.
Żewġ riżultati jinħbew fil-frażi li r-riżerva taħdem. Talba ġdida tirnexxi, u dik hija rkupru. Trasferiment li diġà għaddej ikompli, u dik hija kontinwità. Dawn huma wegħdi differenti, u ħafna mill-proġetti tal-failover jagħtu l-ewwel waħda filwaqt li t-tieni tinżel għal xejn bil-kwiet. Iddeċiedi liema waħda għandek bżonn qabel tagħżel mekkaniżmu, u ikteb it-test b'tali mod li jkun jista' jiddistingwihom.
Żewġ riżultati li jidhru bħala suċċess wieħed
Immaġina klijent f'10.90.0.42 b'konnessjoni lejn 198.51.100.20:443. Il-ħruġ primarju jittraduċiha f'indirizz u port pubbliċi wieħed, u l-ħruġ ta' riżerva jittraduċiha f'ieħor. L-indirizz intern tal-klijent qatt ma jinbidel, u għalhekk in-nies jistennew li l-konnessjoni tibqa' ħajja.
Is-server ma jarax indirizz intern. Jara t-tarf tradott, u dak it-tarf huwa differenti wara l-iswiċċ.
Għalhekk il-fluss antik jinżel għal xejn filwaqt li konnessjoni ġdida lejn l-istess servizz taħdem mill-ewwel. Iż-żewġ osservazzjonijiet huma veri fl-istess ħin.
X'jara s-server meta jinbidel il-ħruġ
Konnessjoni TCP tiġi identifikata mill-erbgħa tagħha, u l-bidla tal-indirizz jew tal-port tas-sors toħloq konnessjoni differenti mill-perspettiva tal-host li jirċievi. Il-pakketti li jaslu minn sors ġdid fuq konnessjoni li s-server ma jafx jintremew jew jiġu mwieġba b'reset. Xejn fl-indirizz tal-klijent VPN ma jippreserva l-assoċjazzjoni matul dik il-bidla.
Il-failover bl-istat jeżisti preċiżament biex jevita dan, u jaħdem billi jiskambja l-istat tat-traduzzjoni u l-istat tal-konnessjonijiet bejn l-apparati li jgħaddu. Din hija karatteristika tal-par, mhux tal-mina, u trid tiġi ddisinjata u ttestjata minflok ma tiġi preżunta.
Ivverifika jekk il-par tassew iżommx l-istat qabel ma twiegħed kontinwità lil ħadd. Il-kmandi hawn taħt juru l-istat attwali fuq iż-żewġ naħat.
conntrack -L -d 198.51.100.20 2>/dev/null | head
ss -tin dst 198.51.100.20
tcpdump -ni any host 198.51.100.20 -c 10Għaliex l-istess indirizz pubbliku mhuwiex biżżejjed
Li żżomm indirizz pubbliku wieħed fuq iż-żewġ mogħdijiet huwa bidu tajjeb, għax is-server imbagħad jara l-istess tarf tas-sors. Waħdu però mhuwiex biżżejjed. L-apparat li jgħaddi għadu jeħtieġ l-istat tat-traduzzjoni, l-istat tal-firewall u mogħdija lura li tista' tintuża, u dawn iridu jkunu fuq l-apparat li jġorr it-traffiku wara l-iswiċċ.
RFC 3022 jiddeskrivi t-traduzzjoni tal-indirizzi u jqis l-iskambju tal-istat bejn apparati li jittraduċu bħala parti minn disinn ta' riżerva. Indirizz li jżomm f'wiċċ l-ilma jew profil ikkupjat iċaqlaq il-konfigurazzjoni mingħajr ma jċaqlaq l-istat.
Għalhekk test li jagħmel biss ping mir-riżerva jipprova ftit ħafna. Il-ping m'għandux stat ta' konnessjoni li jitlef.
Iddeċiedi kemm hi b'saħħitha l-ħtieġa
Jekk l-utenti jistgħu jerġgħu jikkonnettjaw wara falliment, id-disinn huwa disinn ta' rkupru u t-test ta' aċċettazzjoni huwa talba ġdida. Jekk trasferiment ta' fajl irid jibqa' ħaj, id-disinn jeħtieġ sinkronizzazzjoni tal-istat u test ferm aktar attent. Jekk sessjoni remota trid tibqa' ħajja, il-ħtieġa hija saħansitra aktar b'saħħitha u tista' teżiġi mekkaniżmu fil-livell tal-applikazzjoni minflok fil-livell tan-netwerk.
Ikteb il-ħtieġa bħala sentenza b'riżultat li jista' jitkejjel, pereżempju l-upload jitlesta mingħajr ma jerġa' jibda jew l-operatur jerġa' jikkonnettja fi ħdan minuta. Imbagħad agħżel l-irħas mekkaniżmu li jissodisfaha, u spiss dak ikun id-disinn ta' rkupru.
Għid b'mod espliċitu x'jiġri meta l-mogħdija primarja terġa' lura, għax failback awtomatiku jista' jaqta' konnessjoni li kienet għadha kif irkuprat fuq ir-riżerva. Dak il-każ jappartjeni għall-pjan tat-test, mhux għan-nota f'qiegħ il-paġna.
Ivverifika l-fluss antik u t-talba l-ġdida
Ibda trasferiment twil li ma jagħmilx ħsara mill-mogħdija primarja, imbagħad talba ġdida separata lejn l-istess servizz. Irreġistra l-kuntest tal-applikazzjoni, l-indirizz tal-ħruġ osservat u l-ħin. Aqta' l-primarja b'mod approvat u kompli osservah it-trasferiment oriġinali waqt li tibgħat it-talba l-ġdida mir-riżerva.
Irrapporta tliet valuri: jekk il-fluss antik kompliex, ġie rrisettjat jew niżel għal xejn; meta l-operazzjoni l-ġdida ħadmet għall-ewwel darba; u jekk il-failback qata' xejn. Dawk it-tliet linji huma r-rekord tal-aċċettazzjoni.
ss -tin dst 198.51.100.20
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' https://198.51.100.20/
tcpdump -ni any port 443 -c 20Jekk ix-xogħol jikteb data, terġax tirrepeti operazzjoni inċerta bl-addoċċ wara timeout. Il-kitba setgħet waslet qabel ma ntilfet it-tweġiba. Staqsi lill-applikazzjoni għar-riżultat, jew erġa' pprova biss fejn l-operazzjoni hija idempotenti. Imbagħad ikteb id-dikjarazzjoni tal-aċċettazzjoni fi tliet partijiet: operazzjonijiet ġodda jirkupraw taħt il-politika tal-ħruġ, il-flussi eżistenti għandhom l-imġiba tad-daqqa dokumentata, u l-applikazzjoni tkompli b'mod sigur. Dik id-dikjarazzjoni tista' tiġi ttestjata, u hija onesta dwar dak li d-disinn ma jwegħedx.