Portál AbcLinuxu, 1. května 2025 11:28
Z okolností vyplynulo, že se stanu adminem celkem pěkného serveru, na kterém budeme ještě s jedním známým provozovat určitou (převážně) LAMP službu. A vzhledem k tomu, že jsem totální nováček v administraci serverů, budu zde psát, jak bych chtěl vše dělat a spolehnu se na komunitu, že mi poradí a pomůže :) První díl se týká výběru filesystému na server, konfigurace RAIDu a výhledu do budoucnosti, ohledně použitého síťového FS.
Takže. Na serveru budou dva 320GB SATAII disky, druhý disk by měl sloužit jako záloha. Nejsme si jistý konfigurací softwarového RAIDu, ale to jsem schopný nastudovat. Moje nejistota je spíš v oblasti toho, jak se "to" vlastně chová. Co se týče rozdělení, bude jednoduché - maximálně 10GB systém, swap a potom velký oddíl na data (databáze, samotné webové aplikace). Jde o spolehlivost služby, tedy pokud RAID, tak zrcadlení, ale uvažuji o tom, zda nezrcadlit jen systém a z dat dělat pravidelné a automaticky obnovitelné zálohy. Možná je to moc komplikované, ale vzhledem k povaze služeb by to možná ušetřilo místo. každopádně spolehlivost je na prvním místě. takže - jak se chová SW RAID, když jeden z disků spadne? Jak je na tom co se týče rychlosti v porovnání s HW RAIDem (případným) a zpomaluje zrcadlení souborové operace (hodně)?
Teď něco k filesystémům. Hlavní bude dobrá práce s malými soubory, kde je většinou favorizován (právem) ReiserFS. U toho mi bohužel vadí, že jeho spolehlivost prostě není na té úrovni, na jaké bych ji (na serveru) chtěl mít. Nechci rozpoutávat další FS flame, jenom pokud má někdo nějaké zvláštní zkušenosti nebo tajné informace o tom, že pro Reiser4 mají brzy vyjít pořádné utility (zmenšování/zvětšování FS a podobně :D), tak se prosím podělte. Jinak XFS bych asi vyřadil (právem?) kvůli jeho pomalosti při práci s malými soubory, jak je na tom JFS netuším, vylepšuje tohle nějak hodně ext4?
A teď proč (to slůvku "síťové" v nadpisu ... Ačkoliv budeme mít zatím server jeden, myslím do budoucna a jakýmsi nedopatřením jsem si začal číst (tady) o ditribuovaných síťových filesystémech a začal jsem uvažovat o tom, jestli bude klasické NFS nejlepší volba ... Proč se ptám už teď, kdy ani nevíme, zda nějaký druhý server budeme kdy potřebovat? Objevil jsem OCFS2 (wiki a HOWTO na gentoo-wiki - hlavně je zajímavý poslední odstavec). Ten umožňuje (jak zmíněno na gentoo-wiki) připojovat a odpojovat zařízení v clusteru bez zastavení služby, jejího restartování a podobně, celkově má pár hezkých vlastností (také je narozdíl od NFS umožněno paralelně zapisovat několika uzly). Když jsem hledal ještě kousek kolem, našel jsme Codu. O té jsem toho nenašel tolik, snad jen že je též paralelní, umožňuje např. tzv. off-line mód (když se peer odpojí, tak stále může zapisovat - do cache - a po zpětném připojení k serveru se změny provedou), atd.
To všechno je rozhodně hezké, ale zpět do reality - co doopravdy potřebuji? Chci, abych mohl sdílet všechny disky mezi servery a ty tak mohly mezi sebe rozdělovat požadavky, zároveň ale chci, aby když spadne jeden server, další běžel spokoje ně dál (proto jsem taky zavrhl šílené řešení nasdílení disků přes ATA over Ethernet a následné vytvoření jedné velké partition pomocí LVM - dobrý overkill ...) a chci, aby to bylo pokud možno rychlé. Ještě drobná poznámka, proč se ptám už teď - OCFS2 vyžaduje pro svou funkci přímo naformátovanou partition an tento FS - podle informací v jádře se jedná o FS velmi podobný ext3, takže s výkonem by to nemělo být ani nejlepší, ani nejhorší, každopádně pro mně to znamená, že si musím tyhle věci rozmyslet, než začnu instalovat.
Takže prosím všechny zkušené i nezkušené, kteří jen někde něco zaslechli, o reakci, radu a pomoc :) Předem děkuji za všechyn odpovědi.
Takže - můj návrh, jak bych to asi viděl, je přibližně následující (za předpokladu, že nástroj mdadm používaný v tomto HOWTO platí i pro SW RAID):
/ - max. 10GB - RAID1 - Reiserfs/Reiser4 (JFS se mi při mých testech ani při testech, které jsem našel jinde na internetu neosvědčilo tak dobře jako ReiserFS - navíc jsem o něm našel snad ještě méně materiálů než o Reiser4. Ten naopak uvažuji kvůli tomu, že / nejspíš v budoucnu zvětšovat nebudu a na mnoha serverech se lidé zmiňovali o tom, že Reiser4 provozují už delší dobu bezproblémově. Jakékoliv připomínky samozřejmě stále vítány!) swap - to ještě pořád nevím. Buď RAID1, nebo dva swapy ve fstabu s pri=1 (tedy stripping), ale to (prý) není odolné vůči poruše jednoho disku (z principu to tak vážně vypadá :/ ) /storage1 - Zbytek (cca. 300GB) - RAID1 - xfs - zde umístím (změnou cest v konfiguráku) databázi + větší soubory toho redakčního systému. Ten totiž samozřejmě nejvíce narůstá soubory, které se tam přidávají, obrázky a další věci na stažení. Tzn. ideálně tady bude velký podíl souborů >200kB, s čímž by si už měl XFS poradi dobře. Navíc jsem si přečetl něco o jeho ladění a navíc se mi líbí rozsah podpory, možnost resize za běhu, xfsdump a podobně.jako síťový FS použiju (pokud to vůbec někdy přijde) buď Codu, nebo pokud se ukáže, že je to zbytečný overkill, tak prostě NFS.
Díky všem, kdo se zúčastnili diskuze, čímž nechci říct, že má skončit ;) Let the flame begin! ;)
Tiskni
Sdílej:
Hmm, tak tohle jsou dobré připomínky - o JFS jsem si vždycky myslel, že je na tom jako XFS - dobrý filesystém pro databázi a spolehlivý, ale že by byl i rychlý ;) Dík za doporučení.
V čem je výhoda LVM, když by se disk na serveru (v mém případě) měl rozdělit a nechat, jak je (a potom jenom nasdílet v případě přírůstku serveru)? LVM jsem používal, ale nevím, proč přidávat další vrstvu - ačkoliv to moc výkonu asi nesebere, tak minimálně další vrstva, která může selhat. A k mirrorování - myslíte ten SW RAID, který jsem uváděl? Každopádně díky za přípsěvek :)
Ještě k těm zálohám - doporučil byste mi vytvořit další oddíl na zálohy? Protože mít zálohy právě v tom disku, který může být onou nešťastnou náhodou smazán, přeci jenom není tak chytré, ne?
Snaha o maximalní dostupnost - to, co mě na pipni.cz vždycky tak štvalo, bylo to, že jim prostě vypadne server, neběží půl hodiny, hodinu, dvě, půl dne ... a nikoho to neštve. Ano, mají to ošetřené, takže další servery jedou v pohdoě (toho bych chtěl taky dosáhnout), ale dá se tohle dělat jenom s NFS/jak si myslíte, že j eto dělané?
Jak nacpat jedno terra mirrorovany? Další řadiče? Celkem by mě to zajímalo - do současné doby jsem se zajímal jenom desktopy, takže když jsem viděl desku, na kterou je možno připojit 6 PATA disků a 6 SATA disků, tak se mi to líbilo (teda - ne že by to někdo na té desce využil, je to jenom desktopová deska s PATA a SATA řadičem navíc ...). High avaivibility - myslíme tím spolehlivost/dostupnost serveru? No, myslím, že ta je hoděn důležitá, ne? Viz zmínku o pipni.cz ;)
Dík az reakci ;)
al-QuaknaaTakže inkrementální zálohy? O těch jsem četl tady - nevím, jestli je opravdu svn a cvs nejlepší volba - obzvlášť když by to pro mě bylo první setkání s nimi, kromě svn/cvs/git checkout při updatu mých svn/cvs/git aplikací :D - takže ... myslíte, že je ten návod dobrý?
Umí XFS zmenšení (I třeba ne za běhu)? A dále - LVM by pro mě byla výhoda při přidání disku do stávajícího serveru, že ano? Jinak to co doporučujete, je vytvořit si /boot a potom velkou partition, z té udělat LVM volume a v tom si normálně čachrovat s LVM partitionama? Tedy nějak jako ukazuje tohle HOWTO? LVM umí tedy i RAID?
I přes pomalost XFS při práci s malými soubory? Budu tam provozovat (v několika instalacích - postupem času několika desítkách ...) redakční systém, který je sestaven z asi ~1000 php souborů, ~2kB laždý. takže nevím. XFS se mi líbí rozsahem svých možností a tím, jak funguje (cachování atp.), ale ... proč JFS ne?
al-QuaknaaŽe si vystačím s extem neznamená, že mi dobře poslouží i XFS, ne? Jinak s tim rozšířením - každopádně nepočítám s tím, že bychom to nějak rychle naplnili, já jen .. co kdyby někdy bylo třeba rozšířit ;) A porno tam vážně nebude ... Jo, a KISS bych chtěl samozřejmě zachovat. proto jsem nejprve byl taky proti LVM, ale .. to HOWTO vypadá celkem spolehlivě.
sestaven z asi ~1000 php souborů, ~2kB laždý.
IMHO se ty 2 MB načtou a pak to stejně půjde z cache. Navic ta pomalost s malymi soubory nebude zas tak strasna
XFS na datový disk půjde. ZFS vypadá zajímavě co se týče funkcí, ale výkonostně (prý, žádné opravdu seriózní testy jsem nenašel) to není zas taková sláva, takže nevím. OpenSolarisu bych se zas tak moc nebál - ano, musel bych se učit něco nového, ale pokud by to vážně něco přineslo, šel bych do toho. Ale ten projekt vážně asi zas tak velký (aspoň ne hned) nebude, takže to bude linux. Dík za příspěvek :)
Díky za zkušenost! Pokud bych měl tedy OCFS2 vyloučit (ne, nebudu mít jedno centrální úložiště), tak je lepší NFS než Coda? Coda by mi měla umožnit minimálně trošku větší výkon skrze to, že povoluje paralelní zápis, ale zůstává pravdou, že s ní bude mít méně lidí zkušenost - a hlavně to teda teď nemusím řešit :)
No, ale nebude pak zase příliš komplikované to řešit nějak za běhu? Navíc - samozřejmě to teď vůbec nevypadá tak, že bychom se mohli dostat na tak vysoký provoz, ale pokud si vytvořím rozložení fungující "univerzálněji", na škodu to snad být nemůže ... Každopádně díky za všechny rady.
Další díl bude nejspíš o softwarovém vybavení, takže všichni, co rozumí konfiguraci LAMPu, zabezúpečení a podobně budou vítáni :)
al-QuaknaaISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.