Létrehozása megbízható tárolás iSCSI-on linux, 2. rész

folytatódik


Létrehozásának folytatása a klaszter indult az első rész.
Ebben az időben, azt fogja megvitatni a konfiguráció a klaszter.

Az utolsó alkalommal ért véget, hogy kezdődött DRBD szinkronizálást.
Ha mint elsődleges szerver erőforrások mind a választott egy és ugyanazon a szerveren, akkor a szinkronizálás befejeződött, meg a / proc / drbd látnunk a következő kép:

A legérdekesebb területén van ds: UpToDate / UpToDate. ami azt jelenti, hogy mind a helyi és a távoli másolás releváns.

Ezután fordítsa le a források másodlagos mód - ők továbbra is kezeli a klaszter:


Így a klaszter menedzser.


Pacemaker használ Corosync infrastruktúra közötti kommunikáció a fürt csomópontjai, így először be kell állítani.

Corosync elég széles funkcionalitást és több üzemmódot támogató kommunikációs csomópontok között (unicast, multicast, broadcast), van egy RRP támogatás (redundáns gyűrű Protocol), amely lehetővé teszi a használatát számos különböző módon kommunikálnak egymással csomópontjain kockázatának minimalizálása érdekében a Split-agy, a vannak olyan helyzetek, amikor a kapcsolat a csomópontok teljesen elveszett, és mindketten úgy vélik, hogy a szomszéd meghalt. Ennek eredményeként mind a csomópont bemegy üzemmódot és elkezdi a káosz :)

Ezért fogjuk használni mind a replikáció és a külső felületek klaszter kapcsolat.

Azt viszont, hogy tuning

Meg kell tenni néven / etc / corosync / authkey mindkét szerveren.

Ezután hozzon létre egy konfigurációt, azonosnak kell lennie mindkét nodah:

Minden lehetséges futás Pacemaker (indul Corosync próbaképpen).

Minden konfiguráció pacemakerek jön át a segédprogram CRM. és lehet futtatni bármely szerver a klaszter - akkor automatikusan frissíti a konfiguráció minden nodah a változás után.

Lássuk az aktuális állapotot:

Ha minden olyan, mint ez, akkor a kapcsolat jön létre, és a csomópontok látják egymást.

Most kell a forrásokat, hogy SCST kezelése.
Egyszer találtam őket valahol a végtelenség az interneten, módosított, hogy illeszkedjen az Ön igényeinek, és tegye a GitHub.

Onnan, szükségünk lesz két fájlt:
  • SCSTLun - irányítja a teremtés eszközök
  • SCSTTarget - sikerül létrehozni egy iSCSI Target

Ez valójában a szokásos bash-script, hogy végre egy egyszerű API-pacemaker.
Ezeket meg kell tenni /usr/lib/ocf/resource.d/heartbeat. A klaszter menedzser láttam őket.

Ezután futtassa a CRM és adja meg a beállítási mód:

Itt egy példa konfiguráció:

Általános Cluster Configuration


Ezek az alján. Fontos itt nincs-határozatképes politika = «figyelmen kívül» és várható-quorum szavazat = «2» - van egy klaszter 2 szerver és a határozatképesség nem lehet itt is bármilyen módon, így figyelmen kívül hagyja azt.

Mégis vannak olyan speciális eszközöket, mint például a vízgyűjtő kerület (OKF: linbit: drbd), akik a Master / Slave módban.
Az átmenet az éber állapotban node cluster erőforrás-kezelő lefordítja a master üzemmódba, és fordítva. DRBD majd átállítjuk a Másodlagos Elsődleges. Számára mi adja meg a megosztás nevét és elérési útját a konfigurációs vízgyűjtő kerület (talán el is hagyható, nem emlékszem pontosan).

Ezután kövesse samopisnye források.
Mert OKF: szívverés: SCSTLun megadjuk a célt IQN, amelyben azt hozzáadjuk, az eszköz nevét. S LUN számot (a célt LUN kell lennie 0, különben bizonyos iniciátorok a fúj a tető), az út, hogy az exportált eszközök és kezelő (felvezető).

A felvezető kell leállítani - ez a módja SCST fogunk működni a készüléket.

Ebből érdekes:
  • disk - valójában ez csak egy egyenes fuvarozás SCSI parancsokat a kezdeményezője a SCSI eszköz, a legegyszerűbb mód, de csak akkor működik, igazi SCSI-eszközök nem tetszik nekünk, mert exportáló DRBD-készülék
  • vdisk_blockio - megnyitja blokkeszközt, megkerülve a page-cache operációs rendszer. Akkor alkalmazzák, amikor nem szükséges a cache IO
  • vdisk_fileio - megnyitja a készüléket, mint egy fájl, amely lehetővé teszi, hogy használja az oldalt-cache az operációs rendszer, a legtermékenyebb állapotban, és válasszuk

A vdisk_fileio fontos paraméter, amely befolyásolja a sebességet - nv_cache = 1. ő megszilárdult SCSTLun.
Ez az opció megmondja a parancsot, hogy figyelmen kívül hagyja a SCST kezdeményezője, hogy törölje a cache a készüléken. Potenciálisan ez vezethet az adatvesztés esetén energiatároló mert A kezdeményező azt fogja hinni, hogy az adatok a lemezen, és ezek még a memóriában. Így használja a saját felelősségére.

Akkor láthatod a jelenlegi helyzetet:

Látjuk, hogy a források inaktív állapotban, DRBD Slave módban (másodlagos).

Most próbálja, hogy aktiválja őket:

Ha minden így van, akkor gratulálok magának - cluster futás!
Minden erőforrás-csoport fut a szerver, amint azt a config irányelv helyét.

Annak igazolására, láthatjuk a naplót a kernel - dmesg - a vízgyűjtő kerület és SCST abból a diagnózist.

Második végrész


A harmadik és egyben utolsó része, meg fogom mutatni, hogyan kell beállítani a ESXi szerver optimális teljesítményét ebben a csoportban.

1. Mindenkinek normális erőforrás API-team Monitor, amely egy pacemaker, hogy ellenőrizze az állapotát a forrás. Her kihívás aktiválódik paramétereit ellenőrizzük az erőforrás, akkor azt a műveletet hiba esetén. Alapértelmezett cluster újraindítja a forrás, de lehet készenlétben. amelynek hatására a migráció származó források csomópont meghibásodása. Megadhatja száma újraindítás hiba, ami után kerül sor a migráció.

Megkezdése előtt a klaszter rendszer hosszú ideig én megkínozták, és a stabilitás a lágy részeit nekem több, mint rendezett, így nem kap, hogy aktiválja ezt a módot - ha valaki szüksége van rá, akkor ez nem azt egy pillanat alatt.

Általában pacemaker annyi lehetőséget - az érdekelt nézd át a dokumentációt, ez nem a téma, egy vagy akár néhány cikket.

Mi a „Check for shatdaunu” nem értették meg. Igen, és drbd életét a kernel, akkor kill -9 nem vállal.

2. Milyen vizsgálatok, például? Hálózati húz, élelmiszer kidöntött egyik csomópont, egy kapcsoló levágták. Minden teljesül, ahogy kellene.

És mégis, hiszen szinte az egész operációs szoftver tárolja a nucleus (SCST, DRBD), annak hiánya vezet mag összeomlás (főleg ha tartalmazhat további panic_on_oops) csomópont között, és valójában halott, amely érzékeli a második csomópont.

Transfer IP-shnika ESXi simán, az alapértelmezett időkorlát Corosync - 4 másodperc, iSCSI timeout ESXi - 10 másodperc.
Annak érdekében, hogy minden megy nagyon gyorsan és szinte észrevétlenül a VM.

1. Hmm. On-fail = készenléti? Amikor megpróbáltam, hogy - ez működött nem volt rossz. Nem emlékszem, az igazság az, hogy ez nem így van. És megjósolni a súly, azaz, hogy tervezze meg a munkát a fürt súlya - nem igazán működik. Ennek eredményeként, a tömeg meg kell változtatni a szabályt, hogy megnézte a beállítást házi OKF erőforrás.

Ellenőrzés a leállás - ebben az összefüggésben az, amikor az ellenőrzés a klaszter erőforrás nem közvetlenül állítják, és úgy vélik, hogy az erőforrás mindig elérhető - mindaddig, amíg a csomópont él. Noda meghalt - így az erőforrás nem áll rendelkezésre.

2. Lásd hipotetikusan leesik DRBD az egyik csomópont.
Először is, ez elég lehet, hogy az egész pacemaker csomópont nem fog menni a gép újraindítása után kernelpánik azonnal.
Másodszor, még ha ez a helyzet - ez csak egy erősen terhelt Dev 4 másodpercig fog lógni vár lemez hozzáférés?

DRBD adunk a kernel után? Nos ez szükséges. Cool.

3. Voltak használata során egy ilyen rendszer a gyártási hibáit, ha a csomópontok számára egy vagy más okból ősszel? Tedd teljesíti szabványos kapcsoló klaszter és nem volt semmilyen probléma a Dev ESXi?

Hadd magyarázzam kérdésemre - az ilyen rendszerek képesek élni évekig, mígnem egy bizonyos ponton, nem úgy találja, hogy nem működnek.

1. Abban a pillanatban dolgozik ahogy meg van írva a dokumentációban - ha esik legalább egy erőforrás minden erőforrás költözött az alternatív csomópontra.

Azt általában, és nem biztosítják a szolgáltatás - én nagyon elérhető tárhelyet azonos vSphere klaszter, semmi több.
Megértem, hogy ez lehet sok mindent navertet, és adjunk hozzá egy pár kilences rendelkezésre állás, de nekem elég, és ez :)

A szolgáltatás nyújtását, és az összes többi paramétert (a lemezek, tömbök, DRBD, hálózatok, stb) már külön felügyeljék a Zabbix ohmos és ha valami nem biztosított config klaszter, akkor azt fogja válaszolni, hogy nagyon.

Mintegy STONITH Azt hittem (az IPMI), de úgy döntött, hogy felesleges.

Egy harmadik tanú a csomópont-igen, a szó van köze, de ez nem könnyű pacemakerek sbosoba hozzá nyirokcsomó-tanú.
Tudod, hogy egy harmadik csomópont készenlét = on, de ez legyen mindegy források (DRBD legalább), mert A klaszter megpróbálja nyomon követését. A második módon - nem fut minden Pacemaker, és hagyja csak Corosync, de nem vagyok benne biztos, hogy ez jó ötlet, akkor ellenőrizni kell. De a legvalószínűbb, ez a módszer a legjobb.

2. Mit jelent - leesik? Hiba történt a szoftver? Ezután a rendszermag bemegy rezet egyszerre van beállítva a sysctl (kernel.panic)

Másodszor, még ha ez a helyzet - ez csak egy erősen terhelt Dev 4 másodpercig fog lógni vár lemez hozzáférés?
Mi a probléma? Minden közös tengely timeout az I / O lemezre sokkal nagyobb (a Linux perces Windows is egyfajta), és ez mindig lehetséges, hogy csavarja fel, ha szükséges.
Én konkrétan nem Dev, amely teljes sebességgel írható lemezre, és megölt egy aktív csomópont étrend - nem visszaélés a részét a vendég operációs rendszer nem volt, minden továbbra is működik, ahogy kellene.

DRBD adunk a kernel után? Nos ez szükséges. Cool.
Igen, tette hozzá, de ez nem változtat semmit.
Modul integrálva van a kernel, vagy - a különbség a teljesítmény nem.
Azt nyilván, hogy gyűjtse be modulként Az atommag egy régebbi verzió.

3. Voltak használata során egy ilyen rendszer a gyártási hibáit, ha a csomópontok számára egy vagy más okból ősszel?
Tedd teljesíti szabványos kapcsoló klaszter és nem volt semmilyen probléma a Dev ESXi?
Nem, pfuj pfuj, minden jól működik, amíg kitisztul. De mielőtt prodakshenom a fenti, minden, amit a szimulált és vezette azt kiszámíthatóan.

Hadd magyarázzam kérdésemre - az ilyen rendszerek képesek élni évekig, mígnem egy bizonyos ponton, nem úgy találja, hogy nem működnek.
Egyetértek azzal, hogy az én konfiguráció nem biztosított minden, de különösen a követelményeknek is több mint elég.
És megpróbáltam ellenőrizni a viselkedését a klaszter minden többé-kevésbé valós helyzetekben.

Valósítottam másképp van freebsd + ZFS + ponty és két azonos szerverek, az egész dolog működik, mint mester-szolga, amikor a dump mester emelkedik szolga ölje vesz a mester snepshoty és hengerek jelenleg tároló fa snepshotov, a kinevezése a rabszolgatartó, tekercs snepshotov megálló és lehet tekerni előre fordított sorrendben.

ZFS Szeretem teljes szívemből (különösen klón pillanatfelvételek és az ellenőrző összegeket) yuzayu lakását, de a teljesítmény ez akár a szokásos razziák elmarad, lebegett, tudjuk. És ha letilthatja az összes zsemle, csökkentheti a teljesítményt, kiderül, nem jobb, mint a hagyományos módszerek - nincsenek csodák.

A 6 Gb vezérlő jól érzi magát.
Adj Kérjük, ellenőrizze a megoldás (írás, olvasás, rendomnaya rekord)

A 6 Gb vezérlő jól érzi magát.
Adj Kérjük, ellenőrizze a megoldás (írás, olvasás, rendomnaya rekord)
Mit jelent a vezérlő nem egyértelmű, különösen, ami a ZFS, amely a vezérlő általában ellenjavallt.

ZFS tesztek a kezében nem tudok vezetni, amíg a szabad tároló RAID10 tömbök LSI 9271, de nincs meglepetés, azt hiszem, nem.

Ennek következtében számos ZFS és Linux MD RAID felhasználó, mint én, meg a nem-RAID-vezérlők, amelyek egyszerűen megbízható, gyors, olcsó, és egyébként, nincsenek harangok és a síp. A legtöbb alaplap akár 4 vagy 6 fedélzeti port (biztos, hogy mindig engedélyezze AHCI módban a BIOS-ban, mivel ez a legjobb tervezett hardver interfész, hogy a chip képes bemutatni az operációs rendszer lehetővé teszi a maximális teljesítmény)
(C) blog.zorinaq.com/?e=10

Adj legalább egy összehasonlító szintetikus teszt, nem dd. És mondjuk egy pár égő helyezze millió sort. Ha érdekel hozhat az adataikat. Elkezdtem minusovat csak annyira vicces. Kritika és véleményük nem szívesen?
Tudom tesztelni a szoftvert Fio, de mi az értelme? Összehasonlítani a leolvasott kell azonosnak lennie a vasúti rendszer szempontjából, hogy ez az összehasonlítás korrekt. Tudom tesztelni a backend SCST_NULLIO függetlenül a lemez alrendszer, de akkor nem világos, hogy mi mérjük.

ahol megemlítettem, hogy tudom használni raid? én vezérlő nem működik a raid módban, de csak ad nekem a kívánt sebességet. És ez így van benne meghatározott egyik linkeket. Talán csak nem tudom, hogyan kell főzni raidz? Amennyire én tudom, az egyik orosz CDN használható ugyanabban a módban tartottam komoly terhelést.
Ez az intézkedés igen művelet másodpercenként, hogy még.
Mondtam, hogy a számokat vizsgáltuk a rendszert, például, csatlakoztassa a hold és bővíteni az alap, például teszteltem indított Diasoft bázis mellett a betöltött Loong küldte inkrementális mentések a postgres,

ahol megemlítettem, hogy tudom használni raid? én vezérlő nem működik a raid módban, de csak ad nekem a kívánt sebességet
Mi a különbség a kontroller „így a kívánt sebesség”, és közvetlen kapcsolat a merevlemez-vezérlő az alaplapon, vagy valahol máshol?

Talán csak nem tudom, hogyan kell főzni raidz?
Lehet, és nem, van némi titkos varázsa, megosztani?

Ez az intézkedés igen művelet másodpercenként, hogy még.
Hol? Hány lemezek? 2, 5, 7, 10, 30? Milyen szinten RAID? Vagy talán az SSD? Mit ír ki \ olvasni?
Egyértelmű, hogy a befolyásoló tényezők következtében nagyon sok. Nekem van több különböző tárolók különböző lemezes rendszerek és a különböző kapcsolódási technológiák (iSCSI 1Gb / 10Gb, FC) és az eredmények mind nagyon különbözőek.

raidz összeállítva 16 tárcsa által a lemez egy 2 TB Spera + gyorsítótárak két SSD. Anélkül, hogy további szabályozó nem tud, plusz beállításokat. Ez hogyan felkészülni ZFS Productions.
Mérjük meg a medence zpool iostat. Ami a csatorna azt mondta, nyilván nem olvassa el figyelmesen a gigabit port gyűjtik a LACP.
Ezáltal fenntartják a csatornát újra. Ha a ZFS a linux, akkor neked nincs több kérdés.

Kapcsolódó cikkek