Portál AbcLinuxu, 29. dubna 2024 02:27

FreeBSD v malej firme - 3 (RAID a Xserver)

4. 11. 2005 | Michal Kyseľ
Články - FreeBSD v malej firme - 3 (RAID a Xserver)  

Ukážeme si, ako možno veľmi jednoducho spojazdniť zrkadlenie diskov (známe aj ako RAID1 alebo pod anglickým pojmom disk mirroring) a ako čo najjednoduchšie nastaviť grafický subsystém vrátane lokalizácie.

V tomto dieli budem nadväzovať na predchádzajúcu kapitolu o inštalácii, keď som popísal inštaláciu základného systému. Začnem po poriadku najprv RAIDom. Zoberiem to dosť všeobecne, keďže tento článok je určený hlavne tým, ktorí sa touto problematikou nikdy nezaoberali a začínajú s návrhom small business riešenia.

RAID - čo to je, ako to funguje a prečo sa tým zaoberať

Pre firemné účely je nesmierne dôležité, aby boli dáta uložené bezpečne a spoľahlivo. Nesmie nikdy dôjsť ku strate alebo k poškodeniu dát z dôvodu fyzickej poruchy disku. Takáto porucha by mala pre firmu samozrejme veľmi tvrdé nepríjemné dôsledky, preto je dobré na túto eventualitu myslieť už pri samotnom návrhu a zostavení systému a za každú cenu sa jej snažiť vyhnúť.

Pre zamedzenie havarijných situácií spojených s poruchou diskov a následnou stratou dát sa používajú dve základné stratégie. Jednou z nich je klasická záloha dát na iný nosič. Bez zálohy sa nedá hovoriť o spoľahlivom uložení dát. Záloha však nerieši jednu dôležitú vec, a to je funkčnosť systému aj po výskyte havarijnej udalosti. Predstavme si napríklad server, na ktorom sú údaje na jedinom disku. Tento disk náhodne zhavaruje (napríklad prehriatím, skrytou vadou, prirodzeným opotrebením, ...) a stane sa nečitateľný. Obsah disku bol pravidelne odzálohovaný na nejaké záložné médium (páska, DVD-RW, vymeniteľný disk ...). Firemné dáta sa teda nestratia. Systém je však po poruche nefunkčný, je nutné v ňom vymeniť disk, odznova nainštalovať systém, skonfigurovať ho a následne obnoviť dáta. To samozrejme nejaký čas trvá. A počas tohto času firma nemôže pracovať so svojimi dátami, čo pre ňu znamená rôzne problémy a komplikácie, dokonca aj finančnú stratu.

O veľa lepšie je mať systém, ktorý aj po výpadku disku je schopný ďalšej práce a minimalizuje potrebu prestojov v prevádzke. Táto funkcionalita sa dosahuje pridaním viacerých diskov a redundantným (laicky povedané "nadbytočným") uložením dát. To značí, že dáta nie sú fyzicky uložené iba raz, ale viackrát. Od toho vznikol pojem RAID (Redundant Array of Independent Disks) - redundantné pole nezávislých diskov.

RAID má niekoľko foriem (RAID 0, RAID 1 atď ...), tie tu nebudem bližšie rozoberať. V našom prípade sa zameriame na RAID 1, teda mirorring. Znamená to, že dáta sú uložené na dvoch (alebo teoreticky viacerých) diskoch, pričom na každom z nich je samostatná kópia súborového systému. Diskové pole sa pritom systému javí ako jeden fyzický disk. V prípade výpadku ktoréhokoľvek disku je k dispozícii minimálne jedna alebo viac kópií filesystému a k zlyhaniu servra nedôjde, je možné na diskové pole zapisovať aj čítať z neho. Zápis trvá približne rovnako dlho ako na jeden fyzický disk, ale čítanie je v prípade RAID 1 s 2 diskami cca 2-krát rýchlejšie! To je pri výrazne zvýšenej odolnosti voči zlyhaniu ďalší výrazný argument v prospech nasadenia diskového poľa v malom firemnom riešení IS.

Vo väčšine prípadov sa používajú pre RAID 1, teda mirroring, iba dva disky, pri diskovom poli s viacerými diskami je tento spôsob ukladania už neefektívny a používajú sa iné spôsoby uloženia (napr. RAID 5), ktoré umožňujú pri zväčšení počtu diskov zväčšovať kapacitu diskového poľa pri rovnakej odolnosti proti výpadku dát. Pre server small business systému je preto RAID 1 ideálnym kompromisom, ako získať za rozumnú cenu rozumne vysokú mieru spoľahlivosti.

Diskové polia môžu byť hardwarové a softwarové. Hardwarové diskové polia nepotrebujú osobitný software na riadenie, majú vlastný procesor a firmware. Ich nevýhodou sú rozmery a samozrejme aj značne vysoká cena. Softwarové RAID riešenia sú postavené na emulácii RAID jednotky prostriedkami systému, bez použitia špeciálneho HW. Výhodou je možnosť implementácie RAID bez špeciálneho hardwaru, nevýhodou je, že je to vlastne užívateľská aplikácia a tým pádom jednak zaťažuje CPU a po druhé za istých podmienok môžu nastať problémy so stabilitou (ako u každej aplikácie). Taktiež niektoré riešenia majú problém s bootovaním z SW RAIDu (najskôr sa musí zaviesť systém a príslušný program zabezpečujúci RAID funkciu, až potom je možné RAID používať) a musia potom základ systému alebo aspoň zavádzaciu oblasť držať mimo poľa na samostatnom disku.

Zvláštnu pozornosť si zasluhujú "hybridné" radiče SATA RAID, ktorých I/O operácie sú v skutočnosti riadené procesorom počítača, ale ostatné časti sú fyzicky nezávislé a samostatné. Tvoria tak akýsi medziprechod medzi "pravými hardwarovými" radičmi a čisto softwarovými riešeniami. Najčastejšie sa jedná o rôzne integrované radiče na matičnej doske (typickým príkladom je Intel ICH6). Obvykle sa takéto periférne zariadenie správa ako RAID na úrovni BIOSu, ale v skutočnosti je jeho chipset po zavedení OS ovládaný CPU. Spájajú výhody HW RAIDu (bezproblémový boot z RAIDu, vysoká stabilita, nízka záťaž CPU ...) s nízkou cenou. To robí tieto riešenia veľmi lákavými pre small business aplikácie. Práve toto riešenie som použil na vytvorenie diskového mirroru.

Ako ho realizovať vo FreeBSD

Pre server som použil matičnú dosku s integrovaným SATA RAID radičom Intel ICH6 a dva 80 GB disky Seagate. Postup spojazdnenia je jednoduchý a logický. Prvým krokom je inštalovať holý minimálny systém bez balíčkov, grafiky, služieb, nie je nutné rozbehnúť ani sieť (spomínate si, hovoril som predtým niečo o tom, že minimálny install sa v istých prípadoch môže hodiť, a toto je jeden z nich). Inštalátor by mal vidieť oba disky, u mňa konkrétne sa hlásili ako ad4 a ad6. Systém môžeme inštalovať na hociktorý z nich, ja som ho dal na ad4. Po boote do čerstvo inštalovaného systému si necháme vypísať

dmesg | grep ata

a vo výpise by sme mali vidieť rozpoznaný radič a disky, k tomu aj číslo zbernice ATA (to je tá ata2 a ata3).

ad4: 76319MB <ST380817AS/3.42> [155061/16/63] at ata2-master SATA150
ad6: 76319MB <ST380817AS/3.42> [155061/16/63] at ata3-master SATA150

Nasledujúcim krokom je zapnutie RAIDu. To sa urobí pod rootom príkazom

atacontrol create RAID1 ad4 ad6

Po tomto kroku rebootujeme systém a znova spustíme inštaláciu. Tentokrát nám inštalátor ponúkne tri diskové zariadenia - ku ad4 a ad6 pribudne aj zariadenie ar0 (to je novovytvorené pole RAID). Urobíme inštaláciu systému, tentokrát "ostrú", na ar0, podľa návodu v minulom dieli. Na ar0 z pochopiteľných dôvodov treba dať aj bootovaciu oblasť. Po inštalácii a základnej poinštalačnej konfigurácii rebootujeme. A to je všetko. Máme bežiaci systém s RAID 1. Jednoduché, že?

Systém by už mal štartovať z RAIDu a používať ho na zápis a čítanie. Presvedčíme sa o tom príkazom df -H, ktorý by mal vrátiť tabuľku zaplnenia súborových systémov.  Mali by v nej byť uvedené oddiely z ar0, nie z ad4 či ad6. Stav RAIDU si overíme príkazom atacontrol status ar0, pochopiteľne tiež pod rootom. Mal by vracať výpis diskov zaradených do RAIDu a taktiež stav poľa, v štandardnom prípade je to READY. Príklad:

ar0: ATA RAID1 subdisks: ad4 ad6 status: READY

Čo robiť v prípade problémov?

V prvom rade si zachovať chladnú hlavu. Pri zlyhaní jedného disku z dvoch sa nič extra nestane, systém pobeží ďalej na jednom s degradovaným poľom. Treba ho však dostať opäť do plne funkčného stavu, pretože v prípade ďalšej poruchy nás už nezachráni od pádu a straty dát nič. Postup je nasledovný:

  1. Prečítame si man stránky k príkazu atacontrol.
  2. Vypíšeme si stav RAIDu cez atacontrol status ar0
  3. Odpojíme si chybný disk príkazom atacontrol detach 2 kde 2 je číslo ATA zbernice. Tento príkaz odpojí ad4. Samozrejme ak chceme odpojiť ad6, miesto 2 dáme 3.
  4. Vymeníme chybný disk za nový so zodpovedajúcou alebo väčšou kapacitou.
  5. Pripojíme nový disk do ATA zbernice príkazom atacontrol attach 2
  6. Pripojíme disk logicky do poľa atacontrol addspare ar0 ad4
  7. Spustíme synchronizáciu RAIDu, počas ktorej sa na novom disku vytvorí kópia dát udržiavaných poľom atacontrol rebuild ar0

Po tomto by sa malo diskové pole dostať do pôvodného stavu. Oba postupy (inštalácia RAIDu aj postup rekonštrukcie) som získal cez Google. V prípade nejasností vrele doporučujem si príslušné veci dohľadať na webe, určite tam niekde budú.

Xserver - základná konfigurácia

Každý small busines systém by mal byť užívateľsky prívetivý, intuitívne ovládateľný a prehľadný aj pre bežného užívateľa s priemernými či dokonca podpriemernými znalosťami z obsluhy počítačov. Isteže, je veľa ľudí, ktorí uprednostňujú prácu v príkazovom riadku a úplne zavrhujú grafické rozhranie. Ale títo ľudia sú aj medzi skúsenými užívateľmi veľmi zriedkaví (dnes aj unixový správca, ak kráča s dobou, má rád komfort a intuitívny spôsob práce, čo si tu budeme navrávať, napríklad ja to mám hodené tak pol na pol, niektoré veci sa ľahšie a efektívnejšie robia cez X-ká a niektoré cez príkazový riadok), navyše typický užívateľ small business systému medzi týchto ľudí rozhodne nepatrí, pre návrh takéhoto systému je grafika nie spríjemnením práce či nejakou funkciou naviac, ale holá nutnosť a základná podmienka použiteľnosti. Ťažko možno chcieť od dielenského majstra alebo sekretárky, aby písala do komandlajny príkazy, to snáď pochopí aj najväčší odporca grafického prostredia. X systém je skrátka pre small business systémy zásadná vec, na ktorej takýto systém stojí a padá, preto ju netreba podceňovať.

Vo FreeBSD sa, rovnako ako v novších distribúciách Linuxu, používa ako defaultný grafický subsystém X.org (voliteľne sa však dá miesto neho nainštalovať aj XFree86). Jeho konfigurácia je úplne zhodná ako u Linuxu, nie je nijak systémovo špecifická, lebo sa jedná vlastne o aplikáciu bežiacu na systéme, nie o systémovú komponentu ako takú, tvoriacu súčasť jadra či userlandu. Záujemcovia si môžu nájsť potrebné informácie v dokumentácii na serveri projektu X.org, prípadne môžu využiť svoje skúsenosti z konfigurácie X v Linuxe. Pre začiatočníkov však uvediem  základný orientačný návod, ktorý by mal fungovať u väčšiny štandardných prípadov. Dajme sa teda do konfigurácie.

Pre úplných začiatočníkov doporučujem použiť na konfiguráciu X-servra jednoduchú grafickú utilitu xorgcfg, ktorá sa spustí z príkazového riadku pod rootom. Utilita sa sama snaží nájsť optimálne nastavenie grafického subsystému. Po nadetekovaní je možné možné niektoré nastavenia ešte ručne zmeniť (doporučujem iba vtedy, keď viete presne, čo robíte) a potom treba utilitu ukončiť, pričom pred koncom sa spýta, či chceme nastavenia uložiť. Tie sú následne uložené do súboru /usr/X11R6/lib/X11/xorg.conf. Utilita vie vo väčšine prípadov urobiť celkom dobrú konfiguráciu X-servera, ale málokedy nastaví skutočne najlepšie hodnoty rozlíšenia a obnovovacej frekvencie, niekedy sa dokonca netrafí do použiteľného nastavenia vôbec. Samozrejme treba rátať aj s tým, že táto utilita nenastaví sama od seba akceleráciu a podobné veci.

Pre tých, ktorí si chcú systém nastaviť detailnejšie, doporučujem utilitu xorgconfig. Tu už treba vedieť konkrétne parametre použitej grafickej karty a monitoru. U karty je treba vedieť model a veľkosť Video RAM, u monitora zase horizontálny a vertikálny pracovný frekvenčný rozsah. Utilita beží na rozdiel od predchádzajúcej v textovom režime a prevedie užívateľa radom otázok o použitej klávesnici, myši, jazyku klávesovej mapy, frekvenčných rozsahoch monitora, parametroch grafickej karty (je možné si vybrať prednastavenia grafického adaptéra zo zoznamu) a na záver sa po určení defaultného módu zobrazenia a defaultnej bitovej hĺbky farebnej škály spýta, či chceme súbor s konfiguráciou uložiť. Tentokrát nastavenia ukladá do /etc/X11/xorg.conf. Opäť platí, že je treba ju spustiť pod užívateľom root.

Dve dôležité upozornenia:

  1. Systém ako prioritný využíva konfiguračný súbor z /etc/X11, ten z /usr/X11R6/lib/X11 používa iba vtedy, keď v /etc/X11 nijaký xorg.conf nenájde. Treba na to myslieť, ináč sa môže stať, že budem nejak meniť súbor v /usr/X11R6/lib/X11 a budem sa čudovať, prečo tie zmeny nie sú vidieť...
  2. Pri nastavovaní cez xorgconfig je potrebné vedieť potrebné parametre pracovných frekvenčných rozsahov monitora skutočne presne, lebo nevhodným nastavením môže dôjsť až k poškodeniu monitora!

Tip: ak má niekto myš s kolieskom, môže si ho v xorg.conf spojazdniť pridaním riadku

Option "ZAxisMapping" "4 5"

do sekcie parametrov myši.

Samostatnú kapitolu tvorí inštalácia špecifických ovládačov od výrobcov grafických kariet. To je niekedy nevyhnutnosťou, lebo niektoré karty majú problémy s ovládačmi dodávanými priamo s X servrom. Napríklad moja NVidia GeForce mi v nepredvídateľných náhodných intervaloch pripravovala s generickým ovládačom nepríjemné prekvapenie v podobe rozsypania sa obrazu na farebné pruhy. Riešením bola inštalácia originálneho ovládača od NVidie, po ktorom sa daný problém už nikdy nevyskytol. Tu je nemožné dať nejaký konkrétny návod, každý výrobca má iný odporúčaný inštalačný postup. Najčastejšie sa jedná o spustenie shellového skriptu, ktorý urobí automatickú kompiláciu ovládača priamo na daný systém. Po kompilácii je treba ešte podľa pokynov výrobcu upraviť xorg.conf tak, aby sa zaviedol patričný ovládač a niekedy aj ďalšie moduly potrebné na jeho bezchybnú činnosť (napríklad glx alebo dri). Tu by som rozhodne pred samotnou inštaláciou doporučoval dôkladne preštudovať konkrétny README súbor, ktorý je štandardne ku ovládaču pribalený, a pozrel si, čo všetko má byť ako nastavené.

Tým by som vyčerpal problematiku tohto článku. Pokračovať budem opäť nabudúce. Majte sa a nech vám vaše systémy idú.

Seriál FreeBSD v malej firme (dílů: 7)

První díl: FreeBSD v malej firme - 1 (Ľahko a bez námahy), poslední díl: FreeBSD v malej firme - 7 (software - správa, aktualizácie).
Předchozí díl: FreeBSD v malej firme - 2 (Inštalácia)
Následující díl: FreeBSD v malej firme - 4 (KDE, lokalizácia)

Související články

FreeBSD v malej firme - 1 (Ľahko a bez námahy)
FreeBSD v malej firme - 2 (Inštalácia)
FreeBSD v malej firme - 4 (KDE, lokalizácia)
FreeBSD v malej firme - 5 (tlačové služby)
FreeBSD v malej firme - 6 (terminálové služby)
FreeBSD v malej firme - 7 (software - správa, aktualizácie)
NetBSD 2.1 - 1 (instalace)
NetBSD 2.1 - 2 (konfigurace)
PC-BSD - výzva Linuxu? (seznámení, instalace)
PC-BSD - výzva Linuxu? (konfigurace, používání)
Solartec - síť postavená na Linuxu
Případová studie: Linuxové terminály
Linux Terminal Server Project - I
Použití Linuxu na desktopu ve firemním prostředí
OpenBoot Prompt
Solaris 10 a zóny

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.