( ggallo | 2022. 08. 04., cs – 13:09 )

Bocsánat, ha megbántottalak, nem az volt a szándékom. Igyekszem tanulni folyamatosan. Jelen esetben is sajnálom, hogy nem szántam néhány sort pluszban annak, hogy az IOPS miért _fontosabb_ random IO esetén és a throughput miért _fontosabb_ szekvenciális IO esetén. Pongyonlán fogalmaztam.

De ahogy sokan sok helyen írják, akinek nem tetszik, görgessen tovább. Vagy: szóljon be, magyarázza el, mutassa meg, és akkor tanulok újra valamit, amit eddig nem, vagy rosszul tudtam. A vita építi a jellemet és a tudást (amennyiben nem parttalan).
Te odavetettél egy alapjában véve hamis állítást, nem indokoltad semmivel, nem hivatkoztál semmi referenciára. Aztán most jössz a válaszodban azzal, hogy az valóban nem úgy van, de a sokmilliós vagy sok tízmilliós vállalati tároló eszközök ezt másképp csinálják, és ezért tanuljam újra a dolgokat. És én vegyek vissza az arcomból.

Ennek az iskolai rendszernek pont az a lényege, hogy olyan kicsi teljesítményű a tároló alrendszere a sima HDD-k használata miatt (ráadásul kevés van belőlük), hogy minden IO-t ki kell belőle préselni, amit csak lehet. Ráadásul RAID5 esetén egy diszk kiesésével teljesen elveszíti a tömb a redundanciáját a helyreállítás végéig, míg RAID10 tömbbel még van esély rá, hogy egy második meghibásodó lemez a másik tükör része, így a tömb életben marad. Ez nagyon nem utolsó szempont ott, ahol a gépet várhatóan jóval tovább tartják használatban, mint amennyit a garancia lefed, és garanciaidő után napokat-heteket kell kilincselni, hogy adjanak pénzt egy nyomorult csere HDD-re.

Amit leírtál, mind szép és jó, de ebben a topic-ban hol került elő az enterprise storage, mint lehetőség? Te egy olyan felállásról beszélsz, ahol külön kontroller (jellemzően valami szerver alapú vagy célhardver) szolgál arra, hogy a tömb olvasását/írását a végletekig optimalizálja, így hozza ki a legnagyobb teljesítményt az adott felállásból. Ráadásul mindez valamilyen HA módon, teljesen egyedi szoftver-hardver eszközön, csilliárdért.

Itt meg szó van egy összesen kb. 800 ezer Ft-os szerverről, benne 4 db 7200 rpm-es HDD-vel, és egy "integrált" RAID vezérlővel...

Ezt külön kiemelem, hogy erre reagálok: "Egészen pontosan egy darab IO műveletet egyszerre két diszkre ír ki. Attól nem lesz több az IOPS, ha duplán írsz mindent." Egy RAID10 tömb esetében egyészen pontosan (minimum) 4 diszkre ír a rendszer egyszerre, ebből kettő az írandó (új) adat fele-fele (stripe kapcsolat), a másik kettő ezek másolata (mirror kapcsolatok). Ergo valóban dupla olyan tempóval ír a RAID10 tömb, mint a RAID1. Amit leírtál, az a RAID1 tömb működése (1 eredeti írása és mellé egy másolat írása), és ott valóban 1 diszknyi az IOPS.

A RAID5-re mint jelenségre reagálva:

Ha egy random informatikus az egy szem szerverébe berak 4 db 10 TB-os HDD-t, aztán csinál belőle egy RAID5 tömböt (mert azt írták a HUPon, hogy az enterprise storage-ba is jó az, akkor nekem pláne jó lesz), és egy diszk meghal, majd az újraépítés során egy másik diszken lesz egy bit olvasási hiba, és összeomlik miatta a tömb, akkor utólag elmagyarázod majd neki, hogy valójában mégiscsak figyelembe kell venni a RAID5 sajátosságait méretezéskor, és ilyen kis méretben számolni kell olyasmikkel, amikkel az enterprise storage tervezői számoltak anno, hogy aztán majd az üzemeltetőnek ne kelljen? Vagy egyszerűen csak beírod majd, hogy "ugye van biztonsági mentés, nem voltál olyan amatőr, hogy nem csináltál, amiből most visszaállhatnál"?

Újabb pongyola fogalmazás volt részemről, a "vállalati környezetben". "Kisvállalati" környezetet kellett volna írnom, de ezek topic tartalma alapján nem gondoltam, hogy ennyire pontosításre szorul a dolog. (nagy)vállalati környezetben elhiszem, hogy az van amit írsz. Azt persze - mivel nem dolgozom olyan helyeken - nem tudom, hogy megszokásból vagy tudományos/műszaki alapon van úgy, ahogy. Tippre az előbbi. Az utóbbi 15 év ilyen irányú írásaiban soha, senki semmilyen méretű rendszerben nem javasol egy diszkes redundanciát. Meg olyanra sem sikerült bukkannom - pedig most újra nekifutottam a Google-nek - hogy bármi gyártó sima RAID5-6 tömböt javasolna virtualizáció alá bármilyen méretezésű eszközön RAID1, RAID10 helyett.

Az, hogy milyen tárolót, milyen konfigurációval minek a kiszolgálására használsz Te magad, még nem feltétlen jelent igazolást az állításaidra. Megnéztem ezt az eszközt, és az IBM oldala szerinti adatok alapján olyan óriási nagy teljesítményt nem tud leadni, csak ha ki van tömve diszkekkel. (Itt ugye négy elérhető lemezről beszélünk.) Az, hogy több tucat VM fut róla, megintcsak nem jelent igazából sokat, mert az a több tucat VM mit csinál? IO intenzív dolgot, vagy CPU intenzívet? Ha azt írnád, hogy átlagosan X IOPS írási és Y IOPS olvasási teljesítményt ad le a VM-ek felé, ezzel párhuzamosan az átlagos blokkméret Z, és W átviteli sebességet tud elérni ilyen felállás mellett, az mutatna valamit a tárolóról számunkra. De az, hogy RAID6 konfigban (diszkszám, méret és típus nélkül) több tucsat VM-et kiszolgál (a VM-ek jellemzése nélkül) a majdnem semm információ.

Az én itthoni játszós szerveremben ZFS alapú tárolás van, 8 lemezes RAID6 (jellegű) konfigurációban, és nagyon meg vagyok vele elégedve, majdnem 10 TB-nyi adat kiszolgálására használom, javaslom bárkinek, kisebb szerverbe!

(Ja, a VM-ek egy SSD tükörről futnak, az alap rendszer egy másik SSD tükrön van, csak a TrueNAS VM-nek 16 GB memóriája van a 8 HDD-hez, és a 10 TB adat csak film és sorozat, ami egyetlen TV-n szoktunk nézni; de ezek teljesen mellékes paraméterek, elég lett volna csak az első mondatot beírnom, az alapján tuti mindenkinek jó a RAID6 szerverbe, mindenre is).