pc s vice disky - trochu rozsahlejsi odpoved

Jan Dusatko jan at dusatko.org
Mon Mar 12 13:24:28 CET 2007


Zdravim,
tak doufam, ze mne za tuto odpoved nebudete kamenovat ;o) Pokusil jsem se to
napsat z jedne vody nacisto.

> mame pc s dvema pci/sata radici, ktere ma dohromady 12 pevnych disku.
Server slouzi jako domaci uloziste multimedialnich dat. V soucasne chvili je
na kazdem disku vytvoren separatni filesystem - tedy 12 filesystemu.
>
> A rad bych se vas zeptal, zda-li mate nekdo pozitivni zkusenosti s
pouzitim nejakeho sw raid-u nebo spolecneho logical volume slozeneho z vice
disku. Cilem by melo byt vytvoreni kontinualniho datoveho uloziste narozdil
od situace, kdy je dostupny diskovy prostor "rozsekan" do 12-ti casti podle
disku.
>
> Kdyby v pripade poruchy jednoho disku, byla data na tomto disku ulozena
ztracena, vubec by to nevadilo. Protoze v situaci, kdy je nyni kazdy disk
"zvlast" (bez zalohy), muze k takove situaci tak ci onak dojit a data na
nich ulozena nejsou nikterak zivotne dulezita. Spis by ale bylo vice
problematicke, kdyby v pripade vypadku jednoho disku byla ztracena veskera
data v takovem logical volume.

Takze moznosti jsou nasledujici, je to jakysi pokus o "vycuc" relevantnich
informaci - standardy a bezne pouzite nazvoslovi:
JBOD - Prakticky to co je v tuto chvili pouzito
	V pripade vypadku disku prijdete pouze o data na uvedenem disku

RAID 0 - Disk Stripping, pouhe prokladani bloku. Minimum jsou dva disky,
datove bloky jsou ulozeny na obou discich. Velikost je prostym souctem vsech
disku.
	- concate - nejprve se zaplni jeden, pak druhy disk
	- stripping - bloky dat jsou ulozeny "na stridacku" na oba disky
	V pripade vypadku jednoho disku prijdete o vsechna data.

RAID 1 - Mirroring/Duplexing/Shadowing. Minimum dva disky, na kterych je
identicky obsah. Velikost je velikosti nejmensiho z disku.
	- Mirroring - dva identicke disky
	- Duplexing - kazdy disk pres vlastni radic
	- Shadowing - tri a vice disku s identickym obsahem
	V pripade vypadku jednoho disku neprijdete o nic

RAID 2 - Hamming Code, Disk Stripping with Error Correction Code (ECC). 

RAID 3 - Parallel Access Parity RAID, Disk Stripping with ECC Stored as
Parity

RAID 4 - Independent Access Parity RAID With Dedicated Parity Disk Disk
Stripping Large Block, Parity Stored on One Drive

RAID 5 - Independent Access RAID With Distributed Parity Disk Stripping,
Parity Distributed Across the Drive. Minimum tri disky, velikost diskoveho
pole je dana velikosti nejmensiho z nich krat pocet disku. O jeden disk se
to snizuje diky parite.
Řadič dělí data na bloky a posílá postupně na jednotlivé disky. Při této
činnosti se spočítá blokový kontrolní součet (je zde je použita funkce XOR
nad bloky dat) a ten se distribuuje stridave mezi jednotlive disky stejne
jako datove bloky. HP dela radice, podporujici tzv. ADG, coz znamena
Advanced Data Guarding (vychazi z RAID 5). Zde je mozne konfigurovat pocet
disku, na ktere se "uklada parita", kazdopadne diskove pole je odolnejsi
proti vypadku konfigurovatelneho mnozstvi disku.
	V pripade vypadku jednoho disku neprijdete o nic, dva disky a
prijdete o data.

RAID 6 - Protection Against Two Simultaneous Disk Failures.

RAID level 7 - Optimized Asynchrony for High I/O Rates as well as High Data
Transfer Rates

RAID Level 10,01, atd.
Jedna se o diskove pole nekolika urovni, kde uroven na vyssi vrstve je
uvadena jako prvni. Pri pouziti techto poli je potreba si davat obrovsky
pozor rozdil v rychlosti a bezpecnosti, pokud se prohodí vyznam nizsi a
vyssi vrstvy. Napr. RAID 10 znamena zrdcadlene disky, nad kterymi je
provaden stripping. Srovnejte si rozdil v bezpecnosti dat mezi 10 a 01.

> Mate nekdo prosim nejaky typ, jak rozumne spojit nekolik disku do
spolecneho diskoveho prostoru?

Pro software verzi raid je možné použít geom driver. 
viz man geom - kde se pise:
     Currently available classes which are aware of geom(8):

           o   CONCAT
           o   ELI
           o   LABEL
           o   MIRROR
           o   NOP
           o   RAID3
           o   SHSEC
           o   STRIPE

Pro konfiguraci je tu priklad postupu pro vytvoreni zrcadla:
1) Zruseni partition table vybraneho disku (/dev/ad1)
dd if=/dev/zero of=/dev/ad1 bs=512 count=79

2) Vytvoreni oznaceni pro software zrcadlo
gmirror label -v -n -b round-robin gm0 /dev/ad1
gmirror load

3) Vytvoreni noveho virtualniho zarizeni gm0 
fdisk -v -B -I /dev/mirror/gm0
bsdlabel -w -B /dev/mirror/gm0s1 # inicializace

4) Konfigurace a pridani dalsiho disku do zrcadla (/dev/ad2)
gmirror configure -a gm0
gmirror insert gm0 /dev/ad2

5) Vytvoreni noveho filesystemu s label data
newfs -U -O2 -L data /dev/mirror/gm0s1a
mount /dev/mirror/gm0s1a /mnt

6) a pak pockat na synchronizaci disku:
gmirror list | grep SYNCHRONIZING





More information about the Users-l mailing list