Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Vraagje over MDADM software raid 5 met 3 schijven.(google heeft niet echt geholpen)

When creating a RAID5 array, mdadm will automatically create a degraded array with an extra spare drive. This is because building the spare into a degraded array is in general faster than resyncing the parity on a non-degraded, but not clean, array. This feature can be over-ridden with the -I --force option.

Dit begrijp ik nou niet helemaal.
Raid 5 heeft minstens 3 schijven nodig om te garanderen dat als er 1 schijf er mee kapt, dat je data niet verloren gaat. Dus een raid 5 met 2 schijven is al degraded.
Dus als ik 3 schijven heb en ik maak een raid 5 aan. Wat of hoe maakt hij dat? Moet ik dan nog een 4e schijf toevoegen die als spare dient?
Of maakt hij een raid 5 met 2 schijven en die 3e schijf is dus de ''extra spare drive'' ? Zoja, dan snap ik het alsnog niet, want dat is toch de bedoeling dan?

Goed. Nu even een makkelijke vraag.
Straks voor het eggie... Ik heb 3x 1TB schijven. 1 daarvan zit vol met data (890GB)
Dus ik ga beginnen met een degraded raid 5 van 2 schijven (zover ik degraded begrijp..)
Dan zet ik mijn data over en voeg ik mijn 3e schijf toe aan de raid array. mdadm -a /dev/md0 /dev/sdd
Vervolgens moet ik mn array op 3 devices zetten dmv. mdadm --grow /dev/md0 --raid-devices=3
So far so right toch?
En dan gaat hij de 890 GB resyncen over 3 schijven, dus kan ik heel lang gaan wachten...

En dan heb ik bij State : Clean
i.p.v. degraded

Nog een kleine bonus vraag:
Stel ik doe ''perongeluk'' mdadm -f /dev/md0 /dev/sdd (dus ik markeer een schijf als faulty)
Nu denk ik ****** verkeerde commando.. Hoe kan ik dit weer ongedaan maken zonder dat ik het hoef te removen en dan weer te adden en dan weer te wachten op het resyncen?

Vriendelijk bedankt.

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 07:44
Hij begint in degraded mode met twee schijven en vervolgens wordt de array gerebuild met schijf 3. Zo werkt het intern.

Alleen als je zelf een RAID-5 array aanmaakt met mdadm, moet je wel alle schijven beschikbaar hebben. Je kunt (voor zover ik weet) niet zelf een degraded RAID 5 array aanmaken in mdadm. Je zult dus de data van schijf 3 ergens anders moeten parkeren.

Klopt niet:
7.4 Creating a Degraded RAID Array

A degraded array is one in which some devices are missing. Degraded arrays are supported only for RAID 1, RAID 4, RAID 5, and RAID 6. These RAID types are designed to withstand some missing devices as part of their fault-tolerance features. Typically, degraded arrays occur when a device fails. It is possible to create a degraded array on purpose.

[ Voor 41% gewijzigd door Jaap-Jan op 25-03-2009 23:14 ]

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

Verwijderd

Jaap-Jan schreef op woensdag 25 maart 2009 @ 23:03:
Alleen als je zelf een RAID-5 array aanmaakt met mdadm, moet je wel alle schijven beschikbaar hebben. Je kunt (voor zover ik weet) niet zelf een degraded RAID 5 array aanmaken in mdadm. Je zult dus de data van schijf 3 ergens anders moeten parkeren.
Je kan blijkbaar zelfs een non-degraded RAID 5 array met 2 schijven maken met mdadm. Het is dan in essentie een RAID 1 array.

Ik weet niet hoe die dat gedaan heeft, maar met een beetje prutsen in een VM kan je er wel achter komen.

Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 07:45

DukeBox

loves wheat smoothies

Je kan altijd eerst nog een raid0 maken en deze dan breken.. vervolgens maak je met de 3e disk en een van de raid0's de degraded raid5 (=raid1).. gaat dat goed dan kun je de raid0 die je dan appart hebt inzetten als rebuilddisk voor je raid5. Met deze tussenstap heb je tenminste nog een backup tijdens je raid migratie.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Jaap-Jan schreef op woensdag 25 maart 2009 @ 23:03:
Hij begint in degraded mode met twee schijven en vervolgens wordt de array gerebuild met schijf 3. Zo werkt het intern.

Alleen als je zelf een RAID-5 array aanmaakt met mdadm, moet je wel alle schijven beschikbaar hebben. Je kunt (voor zover ik weet) niet zelf een degraded RAID 5 array aanmaken in mdadm. Je zult dus de data van schijf 3 ergens anders moeten parkeren.

Klopt niet:


[...]
Oke, dus ik kan wel een degraded raid maken (2 schijven) en dan de 3e toevoegen..

Dat is wat ik lees uit jouw bron.. of snap ik het niet?

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 07:44
peak schreef op woensdag 25 maart 2009 @ 23:32:
[...]


Oke, dus ik kan wel een degraded raid maken (2 schijven) en dan de 3e toevoegen..

Dat is wat ik lees uit jouw bron.. of snap ik het niet?
klopt. Gewoon de stappen volgen. :)

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
DukeBox schreef op woensdag 25 maart 2009 @ 23:26:
Je kan altijd eerst nog een raid0 maken en deze dan breken.. vervolgens maak je met de 3e disk en een van de raid0's de degraded raid5 (=raid1).. gaat dat goed dan kun je de raid0 die je dan appart hebt inzetten als rebuilddisk voor je raid5. Met deze tussenstap heb je tenminste nog een backup tijdens je raid migratie.
Mwaaa, ik ga liever niet van raid 0 naar raid 1 raid 5 etc etc...

Tenzij dit de enige oplossing is. Ik had begrepen dat ik met een degraded raid 5 kon beginnen en dan later de 3e schijf kan toevoegen, echter mocht een schijf het begeven als ik nog niet die 3e heb toegevoegd.. jah dan ben ik alles kwijt. Dat was het enige risico heb ik begrepen.

Acties:
  • 0 Henk 'm!

Verwijderd

peak schreef op woensdag 25 maart 2009 @ 23:34:
[...]


Mwaaa, ik ga liever niet van raid 0 naar raid 1 raid 5 etc etc...

Tenzij dit de enige oplossing is. Ik had begrepen dat ik met een degraded raid 5 kon beginnen en dan later de 3e schijf kan toevoegen, echter mocht een schijf het begeven als ik nog niet die 3e heb toegevoegd.. jah dan ben ik alles kwijt. Dat was het enige risico heb ik begrepen.
Dus het is het waard om even te kijken of je uit kan vinden hoe je een non-degraded RAID 5 array met 2 disks maakt.

Wikipedia zegt ook dat het kan:
mdadm supports a fully-functional (non-degraded) RAID 5 setup with two disks - which function as a slow RAID-1, but can be expanded with further volumes.

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

peak schreef op woensdag 25 maart 2009 @ 23:34:
[...]


Mwaaa, ik ga liever niet van raid 0 naar raid 1 raid 5 etc etc...

Tenzij dit de enige oplossing is. Ik had begrepen dat ik met een degraded raid 5 kon beginnen en dan later de 3e schijf kan toevoegen, echter mocht een schijf het begeven als ik nog niet die 3e heb toegevoegd.. jah dan ben ik alles kwijt. Dat was het enige risico heb ik begrepen.
Dat kan wel. Het is zelfs de standaard-manier om een raid-array op te bouwen uit 1 schijf waar je al data op hebt staan plus 2 lege schijven (die je er bijvoorbeeld net bij hebt gekocht): maak van de 2 nieuwe disks een degraded array, copypaste de data van de oude disk naar de array en gooi dan die disk erbij in de array.

Een snelle google-actie levert bijvoorbeeld deze blogpost op; daarmee zou je volgens mij een eind verder moeten kunnen.

Wbt je bonus-vraag: Volgens mij kan dat door de disk te re-adden, mits er tussen het faulty zetten van de schijf en de re-add actie geen enkele byte naar schijf geschreven is. Als dat wel zo is word je array namelijk dirty en zal het hele zaakje alsnog gesynct worden.

[ Voor 47% gewijzigd door Sprite_tm op 25-03-2009 23:54 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Sprite_tm schreef op woensdag 25 maart 2009 @ 23:48:
[...]


Dat kan wel. Het is zelfs de standaard-manier om een raid-array op te bouwen uit 1 schijf waar je al data op hebt staan plus 2 lege schijven (die je er bijvoorbeeld net bij hebt gekocht): maak van de 2 nieuwe disks een degraded array, copypaste de data van de oude disk naar de array en gooi dan die disk erbij in de array.

Een snelle google-actie levert bijvoorbeeld deze blogpost op; daarmee zou je volgens mij een eind verder moeten kunnen.

Wbt je bonus-vraag: Volgens mij kan dat door de disk te re-adden, mits er tussen het faulty zetten van de schijf en de re-add actie geen enkele byte naar schijf geschreven is. Als dat wel zo is word je array namelijk dirty en zal het hele zaakje alsnog gesynct worden.
Ah mooi, die blog was ik nog niet tegen gekomen tijdens t googlen. (mn google zoek criteria was o.a. mdadm degraded raid 5 2 disks upgrade )
Maar ik wou even zeker zijn of er meer mensen die dit konden bevestigen.

Betreft mn bonus vraag:
Dat probeerde ik. Had geen nieuwe data toegevoegd of wat dan ook. Maar nadat ik de disk als faulty had gemarkeerd, moest ik hem uit de array verwijderen en weer toevoegen. Oke, geen probleem.. maar dan gaat hij resyncen.. Straks heb ik daar geen zin in als het +1TB aan data is.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb zojuist in VirtualBox een non-degraded RAID 5 array gemaakt met 2 disks. Kwestie van:
sudo mdadm --create /dev/md0 --level=5 --raid-devices=2 /dev/sdb /dev/sdc

Dit resulteert in een active array:
remco@ubuntu-vm:~$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc[1] sdb[0]
      102336 blocks level 5, 64k chunk, algorithm 2 [2/2] [UU]

unused devices: <none>

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Verwijderd schreef op donderdag 26 maart 2009 @ 00:46:
Ik heb zojuist in VirtualBox een non-degraded RAID 5 array gemaakt met 2 disks. Kwestie van:
sudo mdadm --create /dev/md0 --level=5 --raid-devices=2 /dev/sdb /dev/sdc

Dit resulteert in een active array:
remco@ubuntu-vm:~$ cat /proc/mdstat
Personalities : \[raid6] \[raid5] \[raid4]
md0 : active raid5 sdc\[1] sdb\[0]
      102336 blocks level 5, 64k chunk, algorithm 2 [2/2] \[UU]

unused devices: <none>
Yep... Dit heb ik ook uitgevoerd in mijn testopstelling.
Maar dan snap ik nog steeds niet wat mdadm bedoelt met mijn quote. '' mdadm will automatically create a degraded array '''

iemand die me hier een beter beeld over kan geven?

Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

RAID FAQ

hardware RAID 5 heeft minimaal 3 HD's nodig. Een RAID5 array met twee disken is dus qua terminologie een degraded array.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Acties:
  • 0 Henk 'm!

  • orillion
  • Registratie: April 2006
  • Laatst online: 07:06
Een vriend van me wilde pas geleden hetzelfde doen. We zijn toen tot de volgende oplossing gekomen:

http://blog.mycroes.nl/20...ingle-disk-to-3-disk.html

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
alt-92 schreef op donderdag 26 maart 2009 @ 08:05:
RAID FAQ

hardware RAID 5 heeft minimaal 3 HD's nodig. Een RAID5 array met twee disken is dus qua terminologie een degraded array.
Ik weet dat een raid 5 met 2 schijven degraded is. Maar ik snap dus niet wat ze ermee bedoelen bij MDADM.

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
orillion schreef op donderdag 26 maart 2009 @ 10:04:
Een vriend van me wilde pas geleden hetzelfde doen. We zijn toen tot de volgende oplossing gekomen:

http://blog.mycroes.nl/20...ingle-disk-to-3-disk.html
Yep, zo ging het in mijn hoofd --> test opstelling ook. Echter blijf bij mij de vraag nog steeds.. wat bedoelt MDADM met de zin die ik in de ts heb.. Default degraded..

Acties:
  • 0 Henk 'm!

  • orillion
  • Registratie: April 2006
  • Laatst online: 07:06
Ze voegen 2 schijven samen, dat is een degraded array. Vervolgens voegen ze hier 1 schijf aan toe om hem weer healthy te maken. Dat is goedkoper (lees: sneller) dan dat ze drie schijven samenvoegen en die gaan rebuilden. Niets om je zorgen over te maken dus.

Acties:
  • 0 Henk 'm!

  • berties
  • Registratie: Januari 2000
  • Laatst online: 30-09 09:24
Zoals ik het interpreteer;

mdadm maakt een raid5 met 3 schijven aan door de 3 schijven in de array te hangen en ze te syncen. Dat syncen is cpu intensief en duurt lang.
Als je een raid5 array hebt op basis van 3 schijven en er gaat er 1 stuk heb je een degraded raid5 array die dus eigenlijk nog maar uit 2 schijven bestaat. Raid5 met 2 schijven werkt wel, maar je hebt geen redundancy meer, gaat er 1 stuk heb je niets meer.
Omdat je aan een raid ook een reserve / spare schijf toe kunt voegen kun je een raid5 array maken met 2 of 3 schijven + 1 extra spare.
Het is dus mogelijk een raid5 met 2 schijven (degraded) te voorzien van een spare (1 extra schijf), je hebt dan dus in totaal 3 schijven. De degraded raid5 weer terugbrengen naar een goed werkende actieve array door er de spare aan toe te voegen gaat veel sneller dan de raid5 met 3 schijven syncen.
Het resultaat is in beide situaties het zelfde; actieve raid5 met 3 schijven. Alleen de laatste optie is sneller en daarom maakt mdadm hier gebruik van.

hmm... verhaal is toch een beetje lang geworden, kan vast korter;
builden van raid5 met 3 schijven; duurt lang
builden van raid5 met 2 schijven en 1 spare; duurt minder lang; daarom voorkeur; daarom doet mdadm dit.

Ik wist dat ik het in minder regels kon :?
edit; orillion was me voor; krijg je met die lange verhalen 8)7

Acties:
  • 0 Henk 'm!

Verwijderd

alt-92 schreef op donderdag 26 maart 2009 @ 08:05:
RAID FAQ

hardware RAID 5 heeft minimaal 3 HD's nodig. Een RAID5 array met twee disken is dus qua terminologie een degraded array.
Behalve dus als je MDADM gebruikt. RAID 5 met 2 disks in mdadm is een soort RAID 1 opstelling. De missende schijf wordt als 0 beschouwd, en A XOR 0 = A, dus dat is een mirror. Die FAQ heeft dan ook maar weinig waarde voor NOS-gebruikers.

Het voordeel ten opzichte van de andere methodes is dus dat er nu een disk kapot mag gaan.

Edit:
Maar dan moet je dus niet een schijf als 'missing' opgeven bij het maken van een raid-array! Dan krijg je wel een degraded array. Je moet gewoon zeggen dat je een RAID 5 array wil met 2 schijven. Die kan je later altijd nog growen naar 3 schijven.

[ Voor 18% gewijzigd door Verwijderd op 26-03-2009 17:22 ]


Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
berties schreef op donderdag 26 maart 2009 @ 17:07:
Zoals ik het interpreteer;

mdadm maakt een raid5 met 3 schijven aan door de 3 schijven in de array te hangen en ze te syncen. Dat syncen is cpu intensief en duurt lang.
Als je een raid5 array hebt op basis van 3 schijven en er gaat er 1 stuk heb je een degraded raid5 array die dus eigenlijk nog maar uit 2 schijven bestaat. Raid5 met 2 schijven werkt wel, maar je hebt geen redundancy meer, gaat er 1 stuk heb je niets meer.
Omdat je aan een raid ook een reserve / spare schijf toe kunt voegen kun je een raid5 array maken met 2 of 3 schijven + 1 extra spare.
Het is dus mogelijk een raid5 met 2 schijven (degraded) te voorzien van een spare (1 extra schijf), je hebt dan dus in totaal 3 schijven. De degraded raid5 weer terugbrengen naar een goed werkende actieve array door er de spare aan toe te voegen gaat veel sneller dan de raid5 met 3 schijven syncen.
Het resultaat is in beide situaties het zelfde; actieve raid5 met 3 schijven. Alleen de laatste optie is sneller en daarom maakt mdadm hier gebruik van.

hmm... verhaal is toch een beetje lang geworden, kan vast korter;
builden van raid5 met 3 schijven; duurt lang
builden van raid5 met 2 schijven en 1 spare; duurt minder lang; daarom voorkeur; daarom doet mdadm dit.

Ik wist dat ik het in minder regels kon :?
edit; orillion was me voor; krijg je met die lange verhalen 8)7
Oke, ik ben er op een andere manier naar gaan kijken en kom tot de conclusie dat dit het beste uitgelegd kan worden met 4 schijven.
3 Schijven in een RAID en de 4e als hotspare.
Ja, dan is het rebuilden een stuk sneller en dan begrijp ik het.

In raid 5 met 3 schijven heb je al eigenlijk een ''hotspare'' ''parity schijf'' ''back-up schijf'' Hoe je het ook wilt noemen.

@DOT

Oke, daar twijfel ik dus aan... Moet ik een raid maken met 3 devices en missing opgeven.
Dan is de situatie gewoon dat er 2 schijven zijn met data en hij moet resyncen als ik de 3e toevoeg.

Maak ik een raid aan met 2 devices en ga ik later een --grow doen.
Dan is de situatie gewoon dat er 2 schijven zijn met data en hij moet alsnog resyncen..

Dus het maakt denk ik niet uit of wel? (tenzij ik 4 schijven ga gebruiken.. denk ik)

Acties:
  • 0 Henk 'm!

Verwijderd

peak schreef op donderdag 26 maart 2009 @ 17:59:
Oke, daar twijfel ik dus aan... Moet ik een raid maken met 3 devices en missing opgeven.
Dan is de situatie gewoon dat er 2 schijven zijn met data en hij moet resyncen als ik de 3e toevoeg.

Maak ik een raid aan met 2 devices en ga ik later een --grow doen.
Dan is de situatie gewoon dat er 2 schijven zijn met data en hij moet alsnog resyncen..

Dus het maakt denk ik niet uit of wel? (tenzij ik 4 schijven ga gebruiken.. denk ik)
Het verschil tussen die 2 opties is dat je met de degraded 'missing' manier de ruimte van de volledige 2 schijven hebt, maar dat je geen pariteit hebt. Met de non-degraded 2-disk manier heb je slechts de ruimte van 1 schijf, maar wel pariteit. Je hebt dan op elk moment de zekerheid dat er 1 schijf kapot mag gaan. Ik heb zojuist 1 van de 2 schijven van de RAID 5 array eruit gehaald, en nu heb ik nu dus een degraded RAID 5 array met 1 schijf. :P

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Verwijderd schreef op donderdag 26 maart 2009 @ 18:05:
[...]

Het verschil tussen die 2 opties is dat je met de degraded 'missing' manier de ruimte van de volledige 2 schijven hebt, maar dat je geen pariteit hebt. Met de non-degraded 2-disk manier heb je slechts de ruimte van 1 schijf, maar wel pariteit. Je hebt dan op elk moment de zekerheid dat er 1 schijf kapot mag gaan. Ik heb zojuist 1 van de 2 schijven van de RAID 5 array eruit gehaald, en nu heb ik nu dus een degraded RAID 5 array met 1 schijf. :P
Jaaaaaaaaaaaah heeeey, kijk nu begrijp ik je helemaal.

Aangezien het voor mij toch maar 890 GB is wat ik moet overzetten, heb ik de garantie dat mocht er 1 down gaan, dat ik nog altijd verzekerd ben dat ik niks kwijt raak.

En daarna dus growen. Yep. Top helemaal duidelijk.

Nu nog iets, aangezien je een schijf eruit hebt gehaald..

Heb je de schijf fysiek eruit gehaald of met een mdadm command -f en dan -r ?
Want hoe zit het nu als je die schijf er weer terug in wilt stoppen zonder dat hij moet resyncen.(er van uit gaande dat je geen data hebt weg geschreven tijdens de degraded situatie)

Want in mijn opstelling kon ik een schijf die ik als faulty heb gemarkeerd, niet meer terug adden zonder dat het weer opnieuw moest resyncen.

Acties:
  • 0 Henk 'm!

Verwijderd

Nee, ik heb gedaan alsof de schijf kapot is gegaan. Ik heb dus de Vbox afgesloten, 1 van de schijven gedelete, en vervolgens de Vbox weer gestart. Dan moet je wel ff een hotspare toevoegen om de boel te fixen, of je RAID 5 array met 1 schijf assemblen zoals ik deed: "mdadm -A /dev/md0" (maar dan heb je dus geen parity meer :P).

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Verwijderd schreef op donderdag 26 maart 2009 @ 18:27:
Nee, ik heb gedaan alsof de schijf kapot is gegaan. Ik heb dus de Vbox afgesloten, 1 van de schijven gedelete, en vervolgens de Vbox weer gestart. Dan moet je wel ff een hotspare toevoegen om de boel te fixen, of je RAID 5 array met 1 schijf assemblen zoals ik deed: "mdadm -A /dev/md0" (maar dan heb je dus geen parity meer :P).
Oke... zou je aan jouw kant even wat willen proberen? Waarschijnlijk zal dat hetzelfde resultaat zijn als bij mij..

Als ik een schijf als faulty markeer en dat weer ongedaan maken lukt mij voor geen meter..
Want het scheelt een resync van uren met data van meer dan een TB

Acties:
  • 0 Henk 'm!

Verwijderd

peak schreef op donderdag 26 maart 2009 @ 18:34:
[...]


Oke... zou je aan jouw kant even wat willen proberen? Waarschijnlijk zal dat hetzelfde resultaat zijn als bij mij..

Als ik een schijf als faulty markeer en dat weer ongedaan maken lukt mij voor geen meter..
Want het scheelt een resync van uren met data van meer dan een TB
Ik zie geen resync, maar dat kan ook zijn omdat dat met 100MB disks erg snel gaat natuurlijk. Ik deed mdadm -f /dev/md0 /dev/sdc, en na een reboot mdadm --re-add /dev/md0 /dev/sdc. Ik deed de reboot omdat /dev/sdc busy was, maar ik denk dat je dat ook met mdadm -r kan verhelpen.

Edit:
Nee, ik deed het nog eens, met mdadm -f, vervolgens mdadm -r, dan mdadm --re-add, en toen meteen cat /proc/mdstat, en ik zie dan heel kort inderdaad een recovery bezig.

[ Voor 12% gewijzigd door Verwijderd op 26-03-2009 19:01 ]


Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Verwijderd schreef op donderdag 26 maart 2009 @ 18:59:
[...]

Ik zie geen resync, maar dat kan ook zijn omdat dat met 100MB disks erg snel gaat natuurlijk. Ik deed mdadm -f /dev/md0 /dev/sdc, en na een reboot mdadm --re-add /dev/md0 /dev/sdc. Ik deed de reboot omdat /dev/sdc busy was, maar ik denk dat je dat ook met mdadm -r kan verhelpen.

Edit:
Nee, ik deed het nog eens, met mdadm -f, vervolgens mdadm -r, dan mdadm --re-add, en toen meteen cat /proc/mdstat, en ik zie dan heel kort inderdaad een recovery bezig.
Yep, Hier hetzelfde...
Er moet toch wel een mogelijkheid zijn om een -f ongedaan te maken? Goed, wachten op mensen die wel het antwoord hierop hebben.

anyhow, ik leer zo steeds meer over linux en met de CLI te werken.. begin het nu al fijner te vinden dan met een GUI

Acties:
  • 0 Henk 'm!

Verwijderd

probeer eens: man mdadm

is zeer veel leesvoer maar wel erg goed uitgelegt. zo wordt uitgelegt dat je -re-add kunt gebruiken om een schijf weer aan een array toe te voegen en als de superblocks nog in sync zijn, dat wil zeggen dat er geen write naar de array is geweest, hoeft de schijf niet te syncen.

een raid5 met 1 of 2 schijfen is echt natuurlijk nooit een raid1 maar eerder een raid0. raid5 vereist immers altijd minimaal 3 schijfen dus als 1 schijf mist is het effectief raid0 omdat bij het verlies van nog 1 schijf de array niet meer bruikbaar is.

raid5 met 1 schijf bestaat niet maar ik denk dat mdadm een trukje uithaalt en er eigenlijk een raid0 van maakt en die dan migreert en growt naar een degraded raid5. hierbij moet dan ook de grote van de array verdubbelen omdat je eigenlijk eerst grow'd van een raid0 met 1 schijf naar een raid0 met 2 schijfen en vervolgens migreert naar een degraded raid5.

al dit sync'en kost natuurlijk tijd maar je kunt opgeven hoeveel bandwijdte dit mag innemen en dit gebeurt uiteraard in de achtergrond met de idle bandwijdte dus normale writes en read krijgen altijd prioriteit. standaard staat er dacht ik ook een limiet van 200MB/s maar dit kun je bijvoorbeeld naar 5MB/s zetten zodat het allemaal nog veel langer duurt maar je er nog minder last van hebt. zelf moet ik zeggen dat het sync'en onder linux heel smooth gaat en nauwlijks merkbaar is. gebruik: cat /proc/mdstat om de voortgang en snelheid te volgen.

@TS:
ik zou gewoon met een degraded raid5 van 2x 1TB beginnen en dan inderdaad zoals al was gemeld de boel overkopieren naar de degraded raid5 en dan de 3e 1TB schijf toevoegen. zo even uit mijn hoofd wordt dat dus:

1) mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 missing
2) mount /dev/md0 /mnt/raid5
3) cp -av /mnt/data /mnt/raid5
4) umount /mnt/data
5) fdisk /dev/sdc (maak 1 grote partitie en zet het type naar: fd)
6) mdadm -add /dev/md0 /dev/sdc1

ondertussen kun je raid5 array gewoon gebruiken en als de cpu/hdd load je te veel is kun je de limiet lager zetten maar ik denk niet dat dat echt nodig is. rebuilden kan natuurlijk wel een paar uur duren.

je kunt de sync speed of limiet eigenlijk beinvloeden als volgt:

1) echo 250000 > /proc/sys/dev/raid/speed_limit_max (veranderd de maximum snelheid naar 250 MB/s)
2) echo 2000 > /proc/sys/dev/raid/speed_limit_min (veranderd de minimum snelheid naar 2 MB/s)

iets meer achtergrond informatie over raid5 met 1 schijf:
de reden dat mdadm eerst een degraded raid5 maakt en deze dan repareert met de 3e schijf is omdat dit sneller omdat de raid5 niet hoeft te grow'en en er dus geen stripes hoeven te worden verplaatst. in een raid5 met 2 schijfen wordt de parity om-en-om naar schijf 1 en 2 geschreven. wanneer je een een 3e schijf toevoegt moet de parity opnieuw worden verdeelt. stripe 3 die eerst op schijf 1 stond moet nu naar schijf 3 en stripe 4 op schijf 2 moet naar 1. kortom een enorme stoelendans met als enig voordeel dat hierbij ook schijf 2 mag ontbreken en je dus een raid5 met 1 schijf kunt maken. echter nadat de array dan eindelijk 3 schijfen is moet je het filesystem ook nog eens oprekken wat ook niet zonder risico's is. bij een degraded raid5 doet mdadm gewoon alsof de 3e schijf al is aangesloten maar alle writes worden niet echt uitgevoerd. hierdoor hoeven als de 3e schijf wordt bijgevoegd geen stripes op schijf 1 en 2 aan te worden gepast en dat gaat een heel stuk sneller.

Acties:
  • 0 Henk 'm!

  • peak
  • Registratie: Januari 2007
  • Laatst online: 08:58
Verwijderd schreef op woensdag 01 april 2009 @ 05:36:
probeer eens: man mdadm

is zeer veel leesvoer maar wel erg goed uitgelegt. zo wordt uitgelegt dat je -re-add kunt gebruiken om een schijf weer aan een array toe te voegen en als de superblocks nog in sync zijn, dat wil zeggen dat er geen write naar de array is geweest, hoeft de schijf niet te syncen.

een raid5 met 1 of 2 schijfen is echt natuurlijk nooit een raid1 maar eerder een raid0. raid5 vereist immers altijd minimaal 3 schijfen dus als 1 schijf mist is het effectief raid0 omdat bij het verlies van nog 1 schijf de array niet meer bruikbaar is.

raid5 met 1 schijf bestaat niet maar ik denk dat mdadm een trukje uithaalt en er eigenlijk een raid0 van maakt en die dan migreert en growt naar een degraded raid5. hierbij moet dan ook de grote van de array verdubbelen omdat je eigenlijk eerst grow'd van een raid0 met 1 schijf naar een raid0 met 2 schijfen en vervolgens migreert naar een degraded raid5.

al dit sync'en kost natuurlijk tijd maar je kunt opgeven hoeveel bandwijdte dit mag innemen en dit gebeurt uiteraard in de achtergrond met de idle bandwijdte dus normale writes en read krijgen altijd prioriteit. standaard staat er dacht ik ook een limiet van 200MB/s maar dit kun je bijvoorbeeld naar 5MB/s zetten zodat het allemaal nog veel langer duurt maar je er nog minder last van hebt. zelf moet ik zeggen dat het sync'en onder linux heel smooth gaat en nauwlijks merkbaar is. gebruik: cat /proc/mdstat om de voortgang en snelheid te volgen.

@TS:
ik zou gewoon met een degraded raid5 van 2x 1TB beginnen en dan inderdaad zoals al was gemeld de boel overkopieren naar de degraded raid5 en dan de 3e 1TB schijf toevoegen. zo even uit mijn hoofd wordt dat dus:

1) mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 missing
2) mount /dev/md0 /mnt/raid5
3) cp -av /mnt/data /mnt/raid5
4) umount /mnt/data
5) fdisk /dev/sdc (maak 1 grote partitie en zet het type naar: fd)
6) mdadm -add /dev/md0 /dev/sdc1

ondertussen kun je raid5 array gewoon gebruiken en als de cpu/hdd load je te veel is kun je de limiet lager zetten maar ik denk niet dat dat echt nodig is. rebuilden kan natuurlijk wel een paar uur duren.

je kunt de sync speed of limiet eigenlijk beinvloeden als volgt:

1) echo 250000 > /proc/sys/dev/raid/speed_limit_max (veranderd de maximum snelheid naar 250 MB/s)
2) echo 2000 > /proc/sys/dev/raid/speed_limit_min (veranderd de minimum snelheid naar 2 MB/s)

iets meer achtergrond informatie over raid5 met 1 schijf:
de reden dat mdadm eerst een degraded raid5 maakt en deze dan repareert met de 3e schijf is omdat dit sneller omdat de raid5 niet hoeft te grow'en en er dus geen stripes hoeven te worden verplaatst. in een raid5 met 2 schijfen wordt de parity om-en-om naar schijf 1 en 2 geschreven. wanneer je een een 3e schijf toevoegt moet de parity opnieuw worden verdeelt. stripe 3 die eerst op schijf 1 stond moet nu naar schijf 3 en stripe 4 op schijf 2 moet naar 1. kortom een enorme stoelendans met als enig voordeel dat hierbij ook schijf 2 mag ontbreken en je dus een raid5 met 1 schijf kunt maken. echter nadat de array dan eindelijk 3 schijfen is moet je het filesystem ook nog eens oprekken wat ook niet zonder risico's is. bij een degraded raid5 doet mdadm gewoon alsof de 3e schijf al is aangesloten maar alle writes worden niet echt uitgevoerd. hierdoor hoeven als de 3e schijf wordt bijgevoegd geen stripes op schijf 1 en 2 aan te worden gepast en dat gaat een heel stuk sneller.
Super duidelijk. Heb komende week tentamens dus ga daarna even testen.

Ontzettend bedankt!

  • YeroonL
  • Registratie: December 2001
  • Laatst online: 05-10 17:46
Nog een kleine bonus vraag:
Stel ik doe ''perongeluk'' mdadm -f /dev/md0 /dev/sdd (dus ik markeer een schijf als faulty)
Nu denk ik ****** verkeerde commando.. Hoe kan ik dit weer ongedaan maken zonder dat ik het hoef te removen en dan weer te adden en dan weer te wachten op het resyncen?

Vriendelijk bedankt.
volgens mij kun je een (handmatig) ge-failde disk terug in het RAID 5 array krijgen als volgt:
uiteraard OP EIGEN RISICO, ik heb het getest op ubuntu 8.04, mdadm 00.90.03
voorwaarde is dat het array status: degraded, clean heeft.


SITUATIE:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
root@LINUX01:/mnt/MD0_DATA# mdadm --det /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Thu Feb 17 18:45:02 2011
     Raid Level : raid5
     Array Size : 208768 (203.91 MiB 213.78 MB)
  Used Dev Size : 104384 (101.95 MiB 106.89 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Feb 17 18:56:08 2011
          State : clean, degraded
 Active Devices : 2
Working Devices : 2
 Failed Devices : 1
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 79e66e39:48d12695:ee122b2d:dcd6ab12 (local to host LINUX01)
         Events : 0.6

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       0        0        2      removed

       3       8       48        -      faulty spare   /dev/sdd


STAP 1: umount mountpoints waarin /dev/md0 gekoppeld is
bijv:
code:
1
umount /mnt/MD0

STAP 2: stop het betreffende raid device
code:
1
mdadm --stop /dev/md0

STAP 3: voorbeeld bij een RAID5 met 3 schijven bestaande uit /dev/sdb /dev/sdc en /dev/sdd
code:
1
mdadm --create /dev/md0 --assume-clean --level=5 n=3 /dev/sd[bcd]

STAP 4: check de status van je RAID
code:
1
mdadm --detail /dev/md0

STAP 5: mount je volume opnieuw en controleer of er data opstaat
code:
1
 mount -t ext3 /dev/md0 /mnt/MD0


zolang je superblock niet overschreven wordt kun je het array weer aanmaken. Belangrijk is dat je niet naar het degraded array heb geschreven. Test niet niet op je live data uit alsjeblieft.

OPMERKING: Sowieso adviseer ik om een re-sync te doen in plaats van een create.

Het opnieuw creëren van een bestaande RAID5 set met behoud van data is niet per se succesvol.

Als de data toch gewijzigd is op een degraded array nadat je een disk handmatig gefaild hebt weet ik niet goed hoe MDADM dat oplost.

Mocht je echter 2 of meer disken handmatig gefaild hebben, dan kan dit een laatste redmiddel zijn.

[ Voor 8% gewijzigd door YeroonL op 21-02-2011 11:39 ]


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 07:45

DukeBox

loves wheat smoothies

Die ubuntu versie hadden we toen nog niet ;)

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • YeroonL
  • Registratie: December 2001
  • Laatst online: 05-10 17:46
*verwijderde post*

[ Voor 113% gewijzigd door YeroonL op 21-02-2011 11:40 ]

Pagina: 1