Az indítási sorrend késleltetés, nem függőség
Az indítási sorrend beállítása mögött az a várakozás áll, hogy a második gép megvárja az első készre állását. Nem várja meg. Rögzített számú másodpercig vár, aztán mindenképp elindul, és emiatt bukik el egy valódi áramszünet reggelén az a sorrend, ami teszteléskor működött.
AtlasPVE ·
A bejegyzés ezekre válaszol
- proxmox indítási sorrend
- proxmox boot sorrend nem működik
- proxmox indítási késleltetés
- proxmox leállítási sorrend
- proxmox vm indítás késleltetése
A gazdagép visszatér egy áramszünet után, és annak a fele, aminek futnia kellene, nem fut. Az adatbázisgép elindult, de az előtte álló alkalmazás feladta, vagy egy konténer nem tudott csatolni egy tárolót, amit egy másik konténer még éppen hozott működésbe. Semmi nem romlott el, és semmi nem naplózott olvasásra érdemes hibát. A darabok egyszerűen rossz sorrendben jöttek fel.
Ez az egyetlen hely, ahol a rendszer alakja, vagyis hogy melyik vendéggép melyiktől függ, kilép a fejben őrzött ábrából, és olyasmivé válik, amit a gép ténylegesen végrehajt. Érdemes pontosan tudni, mit csinál ez a mechanizmus, mert szűkebb, mint amit a legtöbben feltételeznek.
A mondat, ami a legtöbb meglepetést megmagyarázza
Az indítási késleltetés időtartam, nem feltétel.
Ha egy vendéggépen késleltetés van beállítva, a Proxmox VE elindítja azt a vendéggépet, kivárja a megadott számú másodpercet, majd továbblép a következőre. Nem ellenőrzi, hogy a vendéggépen belül befejeződött-e a rendszerindítás. Nem ellenőrzi, hogy válaszol-e valamelyik szolgáltatás. Vár, aztán folytatja.
Vagyis a fejben élő elrendezés, "az alkalmazás megvárja az adatbázist", soha nem az, ami beállításra kerül. Ami beállításra kerül, az ennyi: "az alkalmazás kilencven másodperccel azután indul, hogy az adatbázis indítási parancsot kapott". Egy nyugodt, tesztként végzett újraindításkor a kettő megkülönböztethetetlen. Egy valódi áramszünet után, amikor a lemezek lassabbak, fájlrendszer-ellenőrzés fut, vagy egy vendéggép helyreállítási módban indul, már nem az.
Négy szabály, amit érdemes tudni a számok beállítása előtt
Az alacsonyabb indul először, és áll le utoljára. A leállítási sorrend az indítási sorrend fordítottja; nincs rá külön beállítás. Az 1-es sorszámú vendéggép áll fel elsőként és áll le utolsóként, és általában pontosan ez a kívánatos annál, amitől minden más függ.
Az azonos számok nem véletlenszerűek. Az azonos sorszámú vendéggépek további rendezése azonosító szerint, növekvő sorrendben történik. Így a holtverseny stabil és kiszámítható, és nem szükséges minden vendéggépnek egyedi számot adni ahhoz, hogy a viselkedés ismételhető legyen.
A sorszám nélküli vendéggépek mindig a sorszámmal rendelkezők után indulnak. Ez hasznosabb, mint amilyennek hangzik. Nem kell mindent megszámozni. Elég annak a három vagy négy dolognak a számozása, aminek tényleg korán kell felállnia, a többi maradhat érintetlenül.
A sorrend egy gazdagépre vonatkozik, nem a fürtre. Nem tudja kifejezni azt, hogy "az A csomóponton lévő vendéggépnek előbb kell felállnia, mint a B csomóponton lévőnek". Amint a függőség átlép egy csomóponthatárt, ennek a mechanizmusnak nincs róla mondanivalója.
A csapda, ami később jelenik meg
A HA réteg által kezelt vendéggépek figyelmen kívül hagyják az indításkori automatikus indítást és az indítási sorrendet is. Az indítási és leállítási rutin teljesen kihagyja őket, mert a HA kezelője dönti el, mikor futnak.
Ez későn harap. Egyetlen gazdagép gondosan hangolt sorrenddel egy évig működik. Aztán érkezik egy második csomópont, néhány vendéggép a HA alá kerül, és a sorrendjük csendben érvényét veszti. Semmi nem figyelmeztet, mert semmi nem hibás; a felelősség egyszerűen átkerült máshová.
A valóban szükséges késleltetés gyakran egy másik
A vendéggépenkénti késleltetés mögött gyakori indok egy külső erőforrás: hálózati tároló, aminek elérhetőnek kell lennie, mielőtt bármi csatolná, vagy egy switch, aminek kell egy kis idő. Az egyes vendéggépek széthúzása kényelmetlen módja ennek az időnek a megvásárlására, mert az egész sorozatot megnyújtja.
Pontosan erre van külön, csomópontonkénti beállítás: késleltetés a gazdagép saját rendszerindításának befejezése és az első automatikusan induló vendéggép között. Egyetlen szám, egyszer alkalmazva, ott, ahová a várakozás valóban tartozik.
A szám, amit senki nem állít be, amíg nem fáj
A leállítási időkorlát alapértelmezetten vendéggépenként 180 másodperc. A Proxmox VE megkéri a vendéggépet a leállásra, vár, és ha a vendéggép az időkorlát lejártakor még mindig fut, kényszerítve áll le. Az összes vendéggép tömeges leállításának saját, összesített három perces korlátja van, aztán ugyanez történik.
Annál a gépnél, amelyik leállításkor lemezre ürít, ezt a felső korlátot érdemes szándékosan ellenőrizni, nem üzemzavar közben felfedezni. Az alapérték a legtöbb vendéggépnek bőséges, néhánynak túl rövid, és éppen az a néhány az, ahol a kényszerített leállásnak ára van.
Amit a gyakorlatban látni
Azon a gazdagépen, amelyen az itt leírt viselkedés ellenőrzése történt, kilenc vendéggép volt beállítva, és három indult automatikusan rendszerindításkor. Egyiknek sem volt indítási sorrendje.
Ez a normál állapot, és gyakran rendben is van. Az egymástól nem függő gépeknek nincs szükségük sorrendre. A leírás célja ennél szűkebb: ha valaha elhangzott, hogy az egyik vendéggépnek előbb kell felállnia egy másiknál, akkor ez a mondat jelenleg csak az emlékezetben él, az áramszünet pedig nem olvas emlékezetet.
Mit csinál az Atlas
Az Atlas semmit nem rendez át, és nem talál ki új függőségi rendszert a Proxmox VE meglévője fölé. Amit tesz: a kapcsolatokat egyetlen képen teszi láthatóvá, vendéggépenkénti nézegetés helyett, így a kérdés, hogy "itt valójában mi mitől függ", feltehető nyugodt gép mellett is, nem csak visszatérés közben.
Az alak látása még nem beállítás. De senki nem ad értelmes sorrendet olyan elrendezésnek, amit még soha nem látott lerajzolva.
Források
A Proxmox saját dokumentációja. Angol nyelvű, és ebben a kérdésben az övé az utolsó szó.