Stavba serveru doma - mýty a realita
Seznam kapitol
Tím jak se počítače pomalu stávají spotřebním zbožím, posouvá se i hranice mezi tím co je běžně přístupné a "civilní" a tím, co je určeno specializovaným firmám. Zatímco v minulosti byly servery doménou specialistů, kteří často navíc kolem sebe schválně vytvářeli téměř gotický neprůhledný závoj, dnes se do stavby těchto "profesionálních" PC pouštějí i naprostí amatéři. Jako obvykle, v běžných situacích je pravda někde uprostřed - serveroví specialisté o svůj "džob" nepřijdou, ale taky je tady prostor pro stavbu kvalitního serveru "v kanceláři". Jeden z návodů jak na to, najdete právě tady.
Pokud vám někdo bude říkat, že server je vlastně běžný počítač, tak nemá rozhodně pravdu. Je to jako u automobilu - závodit se dá i s "civilními" vozy, ale není to to pravé malinové. Špičkové servery bychom mohli přirovnat k WRC rallye a stavbu serveru svépomoci pak k zásadní přestavbě civilního vozu se kterým se už dá dělat opravdu hodně.
To, že se dá na koleně (nebo v redakci) postavit opravdu výkonný stroj, na který se budete moci spolehnout, ukážeme i v tomto článku - postavíme totiž server střední třídy. Základem bude výkonná jednoprocesorová serverová deska využívající 3GHz Pentia 4 (frekvence FSB 800MHz) s dvoukanálovým řadičem paměti DDR400 (ECC) s pokročilým diskovým řadičem, který bude pohánět diskové pole RAID 1 (zrcadlení disků) sestavené ze dvou disků SerialATA s 10 000ot/min, s okolím pak bude komunikovat siťová karta IntelŽ 82547GI CSA. Jako dodatečnou zálohu využijeme externí diskbox připojený přes FireWire.
Poznámka: Pokud vás nebaví teoretické rozvahy, přejděte k další části článku.
Co je důležité
U běžných počítačů jsou priority stanovené jinak než u serverů. U PC požadujeme výkon, běžný počítač není obvykle v chodu non-stop několik let, navíc spolehlivý chod PC nebývá tak kritický jako v případě serveru (stane se, že počítač občas "spadne" a nikdo se nad tím příliš nepozastavuje).
Selhání serveru, naproti tomu, obvykle ovlivní (samozřejmě negativně) mnohem více uživatelů - v případě populárního www serveru mohou výpadek zaznamenat desítky tisíc osob. Zaklínadlem serverů je tedy tato matra: spolehlivost, spolehlivost, spolehlivost...
Výkonné profesionální servery jsou často v plochém provedení "rack" - lze je ze serverových skříní
vysouvat a zasouvat jako šuplík. V praxi pak vystačíme s klasickým provedením "tower".
U serverů dále (tedy až po spolehlivosti3) vstupují do hry další pomocná kritéria, například: modularita, snadná výměna komponent (pokud možno za chodu) a redundance (zdvojení, ztrojení některých komponent). Výkon je důležitý, ale u serverů není rozhodně rozhodující.
Na druhou stranu můžeme v praxi v mnohých případech z některých věcí a vlastností slevit - pravděpodobně nebudeme stavět server pro ČNB ale pro menší firmu, případně www server. Pokud si vhodně stanovíte priority a rozpočet, můžete postavit nečekaně výkonné řešení, které vás nechá v noci v klidu spát.
PC a server - rozdíly ve způsobu práce
Možná si to hned neuvědomíte, ale zatížení a způsob práce se u serveru a osobních PC dost zásadně liší. U osobního počítače je disk v běžné situaci zatížen jen málo (většinu doby jen rotuje), při spuštění náročné aplikace (typicky hry) je zatížen procesor a paměťový subsystém. Nároky na systémové zdroje (paměť, výpočetní výkon, propustnost sběrnice, disk) má většinou právě ta aplikace, která pracuje na popředí. Pokud není náročná (jako v té chvíli můj editor), počítač je téměř ve stavu klidu - podívejte se na graf:
U serveru je situace zcela jiná - nejdůležitějším rozdílem je, že server typicky pracuje na celé řadě požadavků souběžně (obsluhuje více klientů, provádí více souběžných a konkurenčních přístupů do databáze atd.). Proto se u serveru uvádí ne výkon jako propustnost paměti a frekvence určitého procesoru, jako u běžných PC - tady rozhoduje počet uskutečněných transakcí za sekundu (to u databázových serverů) a také počet vstupně výstupních operací (IO/s), kterých server musí zvládnout co nejvíce.
základní deska Intel SE7501BR2 pro 2x Xeon - už na první pohled je mnoho věcí jinak...
Záleží také na konkrétním nasazení serveru:
- databázový server: zde jsou kladené nároky na paměť (zejména na její velikost) a výkon procesoru, disk je zatěžován středně, poměrně hodně je zatížená síťová karta. Pro náročná nasazení se používají víceprocesorové stroje. Pokud budete stavět takový server, nešetřete na paměti - měla by být s korekcí chyb ECC (viz dále) ani na serverové základní desce. Data musí být na spolehlivém úložišti (stačí mirroring / RAID 1) a pravidelně zálohovaná (externím boxem, na DVD-RAM). Mezi databázovým a aplikačním serverem doporučuji nasadit rychlý Gb Ethernet (LAN).
- aplikační server: zde záleží na typu aplikace (firewall, obsluha pracovních stanic, server pro informační systém, účetnictví...) - zde jsou nároky kladené na komponenty rozložené poměrně rovnoměrně. Pokud jsou data důležitá (rozsáhlé účetnictví) je nutné je chránit v diskovém poli (i zde stačí RAID 1) a pravidelně zálohovat (často stačí záloha na CD nebo DVD - rozhodně doporučuji DVD-RAM).
- souborový server: zde jsou kladené velké nároky na diskový subsystém a síťovou kartu (tyto komponenty musí být serverové), méně důležitý je použitý procesor a velikost paměti. Pokud uvažujete o souborovém serveru, uvažujte především o discích SCSI (málo zatěžují procesor a zvládnou obsloužit více souběžných požadavků), v extremním případě je vhodné nasazení diskových polí typu RAID 5 s disky vyměnitelnými za chodu. Kvůli velikosti dat nelze souborový server často prakticky vůbec zálohovat. Doporučuji Gigabitový Ethernet.
- www / internetový server: mezi servery nepatří webové stroje mezi příliš zatížené stroje. Jako síťová karta stačí kvalitní 100Mb LAN, disky v krajním případě nemusí být serverové, měly by být však zrcadlené (RAID 1). Mimo 200-500 serverů v republice, stačí jednoprocesorové stroje. Pokud je webová aplikace náročná na výpočetní výkon (velký internetový obchod, velký publikační systém), je důležitý i výkon procesoru a propustnost paměti. I zde platí pravidlo o zálohování - zejména provozujete-li diskusní fórum, shop, publikační systém nebo weby jiných firem.
V našem případě se zaměříme na webový server - připravíme ho tak, aby mohl být snadno instalován v libovolném server housingu* (Casablanca, Contactel, GTS...). Pokud mi pošlete informace na mail kwolek@pctuning.cz název housingové firmy a www stránek, zveřejním zde seznam housingových služeb v ČR. Vzorový server by však mohl posloužit i jako databázový (po rozšířeni paměti), případě i jako relativně výkonný aplikační server.
*Housing je místo kde si můžete umístit vlastní server, většinou do uzamykatelného boxu umístěného v klimatizované serverovně, a housingová společnost vám zaručí jeho připojení do Internetu.
V další částí se podíváme na to, co si musíme u serverů pohlídat.