> Am un sistem ce contine urmatoarele chestii relevante:
> p4 2.8G
> 2 hdd s-ata
> Mainboard Assus P4P800-e Deluxe cu urmatoarele controllere storage:
> ICH5 (in southbridge)
> Promise 20378

Felicitari! :)

> Ambele controllere suporta raid 0 si raid 1 configurabil dintr-un meniu
> bios.
>
> Desi eram hotarat sa pun hdd-urile intr-o matrice raid software am zis
> sa ma joc un pic si cu raid hardware.
> Ce am facut:
> 1. Am pus hdd in conectorii s-ata corespunzatori controllerului integrat
> in southbridge ICH5. Am setat controllerul dintr-un meniu bios sa
> formeze o matrice radi1 cu cele 2 hdd. Am butat cu FC3 si la partea de
> partitionare stupoare: imi apareau 2 hdd in loc de unul. Aveam /dev/sda
> si /dev/sdb, iar eu ma asteptam la ceva de genul /dev/hw_raid.

Ca sa ai /dev/hw_raid trebuie sa ai un driver pentru controller-ul 
respectiv care sa stie si de raid.

> 2. Acelasi lucru dar cu hdd infipte in controllerul promise. Tot asa,
> installerul FC3 imi vede 2 hdd in loc de un singur device hardware cum
> ma asteptam eu.
>
> Gresesc undeva? Sistemul de operare nu trebuia sa vada un sigur device
> storage ??
>
> Am abandonat pana la urma experimentele si am trecut la software raid.
> Am mutata hdd la loc pe conectorii coresp controllerului ICH5 dar fara
> sa activez vreo matrice raid hardware. Am butat cu FC3 si la
> partitionare am procedat asa: pe fiecare hard am facut 3 partitii:
>
> 1. 75M pt /boot
> 2. 256M pt swap
> 3. restul de tip raid autodetect
>
> Din cele 2 ultime partitii de pe fiecare hdd am facut o matrice raid 1.
> Am instalat sistemul ok, si apoi am clonat cu dd partitia de boot de pe
> primul hdd si pe al doilea. Totul era ok, cat /proc/mdstat spunea ca
> totul e in regula.
De ce nu ai facut RAID1 si pe boot?

> Am trecut la urmatoarea faza: testarea matricei in caza de hdd failure.
>
> Am pornit sistemul cu un singur hdd: totul ok, mdadm raporteaza ca in
> /dev/md0 am un singur hdd
> Am pornit sistemul cu celalalt hdd: idem
> Am pornit sistemul cu ambele hdd si acum apare problema:
>
> md: raid1 personality registered as nr 3
> md: Autodetecting RAID arrays.
> md: autorun ...
> md: considering sdb3 ...
> md:  adding sdb3 ...
> md:  adding sda3 ...
> md: created md0
> md: bind<sda3>
> md: bind<sdb3>
> md: running: <sdb3><sda3>
> md: kicking non-fresh sdb3 from array!
> md: unbind<sdb3>
> md: export_rdev(sdb3)
> raid1: raid set md0 active with 1 out of 2 mirrors
> md: ... autorun DONE.
>
> dupa cum se vede imi construieste matricea raid din sda3 si sdb3 dar
> apoi: kicking non-fresh sdb3 from array!

E normal pentru ca ai scris ceva pe hard-uri in momentul cind erau 
singure. Cind le-ai pus impreuna md-ul a detectat asta si pe cel mai 
vechi l-a scos din array.
Sa zicem ca ai pornit asa:
versiune disk1: 1
versiune disk2: 1

Ai butat numai cu disk1 si ai scris ceva:
versiune disk1: 2

Ai butat numai cu disk2 si ai scris ceva:
versiune disk1: 3

Ai butat cu amindoua:
versiune disk1: 2
versiune disk2: 3
Bang!

> Dupa ce am incercat zeci de metode care toate se soldau scoaterea in
> afara matricei a unui hdd, am facut urmatoarea chestie care a
> functionat:
>
> mdadm -C /dev/md0 -n2 -l1 /dev/sda3 /dev/sdb3
> dupa ce am pornit cu un live cd.

Nu ai specificat cu ce ai creat array-ul. raidtools sau mdadm?

Pentru scoaterea unui disc trebuia sa faci asa:
mdadm --set-faulty /dev/md0 /dev/sdx3
mdadm --remove /dev/md0 /dev/sdx3

Apoi, ca sa-l adaugi:
mdadm --add /dev/md0 /dev/sdx3

> In mod normal in scripturile de init o matrice se initializeaza cu
> mdadm -A /dev/md0 bla bla (-A stands for Assemble)
> iar eu am rezolvat cu
> mdadm -C /dev/md0 bla bla (-C stands for Create new array)
>
> Din fericire datele din matrice nu s-au pierdut, sau cel putin asa pare
> :)

Ai facut fsck?

> Intrebare: e normal sa se intample asa? Adica daca pornesc sistemul doar
> cu un hdd, apoi el nu mai vrea sa mearga din nou cu ambele pana nu
> recreez matricea raid ? Eu am repetat experimetul de 2 ori si de fiecare
> data am patit asa: kicking non-fresh sdb3 from array!

Trebuie sa mearga fara sa recreezi matricea.
E normal sa-ti arunce discul cu date "vechi" afara din array.

> O explicatie la care m-am gandit, desi nu stiu cat e de corecta, ar fii
> ca in mod normal, in superblocul celor 2 partitii ale matricei raid
> scrie (si) ceva de genul /dev/sda3 bala bla si /dev/sdb3 bla bla. Dar
> problema este ca atunci cand bootez cu cate un singur disc, acel disc
> va fii mereu /dev/sda3 si in consecinta cand se creaza matricea se
> actualizeaza superblocul partitiei cu acel info despre /dev/sda3. Apoi
> cand pornesc la loc cu ambele hdd, unul va fi sda iar altul sdb si cand
> se reincearca formarea matricei in superblocul celor 2 partitii se afla
> info gresite. Am vazut in man mdadm ca exista diferite optiuni cu care
> pot aborda problemele legata de superblock, dar ma intereseaza daca s-a
> mai lovit cineva de problema asta si daca are o rezolvare eleganta (nu
> ca cea folosita de mine care presupune crearea unei noi matrici )
>
> Thx
>
> -- 
> Mihai Voica
>
> ---
> Detalii despre listele noastre de mail: http://www.lug.ro/
>
>

---
Catalin(ux aka Dino) BOIE
catab at deuroconsult.ro
http://kernel.umbrella.ro/

--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui