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