Thecus N299 heeft de geest gegeven, RAID Recover howto

Pagina: 1
Acties:

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 10:00
Goedemorgen Tweakers

Mijn zéér oude NAS heeft onlangs de geest gegeven en daar stond toch wel wat belangrijke data op dus die wou ik wel terug hebben. De N299 heeft een capaciteit van 2 disks dus had ik RAID-1 (mirroring) geconfigged.
Eerst heb ik proberen te recoveren via partition tools en andere maar uit frustratie dat die tools allemaal zo langzaam werken was ik ondertussen op internet aan het zoeken naar een manier om een raid array te recoveren die in een NAS gezeten had. Ik kwam een post tegen die de volgende commando's gaf (ik vind de orginele post nu niet meer terug natuurlijk :( ) :

code:
1
mdadm --assemble --scan

Vervolgens kreeg ik zéér goed nieuws:
code:
1
2
mdadm: /dev/md0 has been started with 1 drive (out of 2)
mdadm: /dev/md1 has been started with 1 drive (out of 2)

Verder heb ik dan gekeken waar dat de disk gemount werd via het volgende commando

code:
1
mount

Daarna kon ik naar de map cd'en en ownership nemen door het volgende commando te geven

code:
1
chown -R xdragon backup/


Ik weet niet precies wat de kans is dat mijn gewoon linux systeem en het systeem dat in de N299 draaide van ongeveer dezelfde versie mdadm voorzien waren, maar ik vermoed dat ik enorm geluk heb gehad.
Ik heb alleszins een nieuwe NAS gekocht ondertussen en alles zal binnenkort daar opnieuw naar gekopieerd worden.

En omdat een screenshot altijd meer zegt als een lap tekst:
Afbeeldingslocatie: http://i.imgur.com/z5vxoCa.png

  • Uncle Mel
  • Registratie: December 2010
  • Laatst online: 25-01 12:01
Verwijderd

[ Voor 96% gewijzigd door Uncle Mel op 30-01-2014 21:30 ]


Verwijderd

@Uncle Mel: daarom is het ook stom en gevaarlijk om RAID op ruwe device nodes uit te voeren. Altijd op partities uitvoeren dan heb je dat soort problemen niet. Met software RAID kan dat gewoon. Helaas heb je altijd vendor implementaties voor NAS appliances die hier geen rekening mee houden, met dus mogelijk catastrofale gevolgen.

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 10:00
Verwijderd schreef op donderdag 25 juli 2013 @ 11:37:
@Uncle Mel: daarom is het ook stom en gevaarlijk om RAID op ruwe device nodes uit te voeren. Altijd op partities uitvoeren dan heb je dat soort problemen niet. Met software RAID kan dat gewoon. Helaas heb je altijd vendor implementaties voor NAS appliances die hier geen rekening mee houden, met dus mogelijk catastrofale gevolgen.
Leg dat eens even uit al je wilt CiPHER, daar begrijp ik namelijk niet veel van.
RAID op partities? Hoe zou dat betere bescherming moeten zijn? Hoe zou je dat implementeren?

Verwijderd

Nou jij kan daar niets aan doen; Thecus en ook andere NAS appliances hebben hun eigen manier van doen en daar ligt dus het probleem. Zij voeren RAID uit op ruwe device nodes, in plaats van partities wat om meerdere redenen beter is:
  • Je hebt niet de potentiële problemen dat een nieuwe disk nét een paar kilobyte kleiner is dan je huidige gefaalde disk en je die dus niet kunt gebruiken voor het vervangen van de gefaalde disk.
  • Je hebt ruimte aan het eind van de capaciteit vrij voor extra features zoals encryptie op disk-niveau. Bij full-disk RAID is dat niet mogelijk op deze manier; dan moet je encryptie binnen de RAID container uitvoeren.
  • Je hebt met partities mogelijk beter overzicht welke naam overeenkomt met welke disk. Een devicenaam kan zomaar veranderen, maar een zelfgekozen label zoals 'SamsungDisk3' blijft dankzij de partitie gewoon behouden. Dit maakt het makkelijker om disks te vervangen als je bijvoorbeeld een label opplakt bij de disks of een natuurlijk volgorde vasthoudt (van 1 t/m 8 van boven naar beneden bijvoorbeeld).
  • Wellicht nog de belangrijkste reden is dat Windows enorm gevaarlijke berichten laat zien bij hardeschijven die geen partitietabel hebben. Veel mensen zullen om wat voor reden hun RAID schijven op Windows aansluiten. Dan geeft Windows een bericht weer of je de schijven wilt 'initialiseren' wat heel onschuldig klinkt. Klik je op volgende, dan heb je data vernietigt op alle RAID schijven en is RAID recovery bijna onmogelijk geworden in elk geval volledige recovery kun je vergeten. De schuldige hier is natuurlijk Windows die met zijn fikken van de RAID disks af moet blijven, of op zijn minst een duidelijke waarschuwing had moeten plaatsen: WAARSCHUWING: ALLE GEGEVENS GAAN VERLOREN!!!! in plaats van Wilt u deze schijf initialiseren? Hoe dom kun je zijn.... zoveel mensen hebben hierdoor hun gegevens verloren. In dit geval dus: shoot the messenger!

  • Uncle Mel
  • Registratie: December 2010
  • Laatst online: 25-01 12:01
Verwijderd

[ Voor 94% gewijzigd door Uncle Mel op 30-01-2014 21:30 ]


  • bvk
  • Registratie: Maart 2002
  • Laatst online: 02:20

bvk

Het gaat nooit snel genoeg!

Maar is het niet zo dat dit alleen bij de nieuwe generatie file systems kan? Even kijken of ik het goed begrijp: Ik heb in mijn server de schijven in het BIOS als losse schijven geconfigureerd en daar in Windows Server 2012 een virtuele RAID-1 (mirror) config op gemaakt.

Als nu het mobo in de server doorfikt heb ik geen probleem als ik de schijven in een een andere Server 2012 machine hang, die ziet dezelfde RAID config ondanks dat de schijven aan een ander moederbord en chipset hangen. Als ik de schijven wél in het BIOS in RAID had opgenomen heb je wel een probleem omdat dat andere moederbord de schijven niet herkend?

Klopt dit en zo ja, hoe doe je dat dan met oudere file systems en besturing systemen of in dit geval een NAS?

Specs


Verwijderd

bvk: je begrijpt nog niet helemaal hoe Software RAID werkt. Daar wil ik een blogpost over schrijven, dus misschien interessant om te houden voor de toekomst. Maar in het kort:

Iedere RAID implementatie slaat ergens zijn gegevens op. Vrijwel altijd is dit de laatste sector (de laatste 512-bytes) op iedere schijf. Dit wordt de metasector genoemd die de RAID metadata opslaat. Dus RAID level, stripesize, disk order en array status en nog wat dingen.

Omdat iedere RAID implementatie een ander formaat heeft voor deze metadata, kun je niet zomaar een Hardware RAID naar onboard RAID overzetten en verwachten dat het out of the box werkt. De andere RAID engine zal de metadata van hardware RAID niet herkennen. Nu is het zo dat bij Linux en BSD software RAID deze in tegenstelling tot de rest WEL andere formaten kan herkennen. Daarom werkt onboard RAID ook op Linux/BSD omdat deze de Intel/AMD/Silicon Image/Promise/enz. RAID metadata formaten kan lezen en zijn eigen software RAID aanstuurt met die informatie.

RAID heeft in principe niets met filesystems te maken; dus wat voor filesystem je op de RAID hebt staan maakt in principe niets uit. ZFS is een bijzonder geval omdat dat RAID en filesystem in één is; die twee kunnen niet worden gescheiden.

Waar je het vervolgens over hebt is een RAID array migreren van implementatie A (windows software RAID) naar implementatie B (Intel onboard RAID). Dat werkt dus doorgaans niet. Het is verder niet aan moederbord gekoppeld; je kunt in principe van merk naar merk migreren. Dus de disks aangesloten op een oud Intel moederbord met onboard RAID migreren naar een nieuw Intel moederbord met RAID ingeschakeld zou moeten werken. Wel geldt dat eenzelfde merk (Intel) verschillende versies metadata formaat kunnen hebben, dus er zijn uitzonderingen.

  • bvk
  • Registratie: Maart 2002
  • Laatst online: 02:20

bvk

Het gaat nooit snel genoeg!

Verwijderd schreef op donderdag 25 juli 2013 @ 16:23:
bvk: je begrijpt nog niet helemaal hoe Software RAID werkt. Daar wil ik een blogpost over schrijven, dus misschien interessant om te houden voor de toekomst. Maar in het kort:

Waar je het vervolgens over hebt is een RAID array migreren van implementatie A (windows software RAID) naar implementatie B (Intel onboard RAID). Dat werkt dus doorgaans niet. Het is verder niet aan moederbord gekoppeld; je kunt in principe van merk naar merk migreren. Dus de disks aangesloten op een oud Intel moederbord met onboard RAID migreren naar een nieuw Intel moederbord met RAID ingeschakeld zou moeten werken. Wel geldt dat eenzelfde merk (Intel) verschillende versies metadata formaat kunnen hebben, dus er zijn uitzonderingen.
Dit heb ik dan wellicht niet goed verwoord.. Ik bedoel dus niet het overzetten van software RAID naar hardware RAID, maar naar een ander systeem en daar de schijven óók als losse disks configureren in het BIOS. Met ook Server 2012 en Software RAID (ReFS). Dan zou het toch goed moeten gaan?

Ben benieuwd naar je blog, kan inderdaad best nog wel wat leren geloof ik... ;) Maar nu heeft TS de boel kunnen redden via een ander Linux system, maar hoe doe je dit als je alleen maar een (oudere) Windows bak hebt?

Specs


Verwijderd

Met een Ubuntu Linux livecd! ;)

Windows zelf kan niets met Linux-based software RAID, al zijn er wel recovery utilities die daar iets mee kunnen, maar dat kun je beter niet gebruiken.
Ik bedoel dus niet het overzetten van software RAID naar hardware RAID, maar naar een ander systeem en daar de schijven óók als losse disks configureren in het BIOS. Met ook Server 2012 en Software RAID (ReFS). Dan zou het toch goed moeten gaan?
Het is mij niet helemaal duidelijk wat je bedoelt. Je hebt het over migreren naar Windows-based software RAID. Dat kan alleen als de bron (migreren van) ook Windows-based software RAID is. Windows is zelf nergens compatible mee behalve zichzelf, in tegenstelling tot Linux/BSD.

Of je ReFS gebruikt of andere filesystems maakt verder ook niets uit, dat staat hier los van. Alleen ZFS en in mindere mate Btrfs is hierin een uitzondering.

  • bvk
  • Registratie: Maart 2002
  • Laatst online: 02:20

bvk

Het gaat nooit snel genoeg!

Ik zal me verduidelijken: Ik heb nu een HP Microserver met AMD CPU en mobo en een bepaalde bijbehorende diskcontroller.

Stel, nu gaat dat ding stuk en krijg ik van HP een nieuwe, echter ook van een nieuwe generatie met Intel chipset/controller. Als ik nú de schijven overzet heb ik geen probleem met de RAID array, als ik die op de huidige machine in het (onboard RAID) BIOS had geconfigureerd misschien wel. Omdat het nieuwe (onboard RAID) BIOS de schijven niet meer kan lezen?

Maar ik geef toe dat de term Software RAID voor mij niet duidelijk is. Hardware RAID is voor mij een dedicated controller (Areca etc.), software RAID een chip op het mobo die via een driver in het OS de boel aanstuurt. Bij de setup van je (Windows) installatie wordt er dan al een RAID setup gezien, bij HW hoef je niets te doen, bij SW moet er een driver aanwezig zijn of mee geïnstalleerd worden.

Dit uiteraard vanuit de Windows optiek, heb al jaren geen *NIX bak meer geïnstalleerd.... Ook had ik begrepen dat ReFS in hetzelfde rijtje viel als ZFS en BTRFS, maar daar vergis ik me blijkbaar in. Blog please :P

Specs


Verwijderd

Alles hangt af wat voor RAID engine je gebruikt. Als je nu een moederbord hebt met AMD chipset en je gebruikt de onboard RAID functionaliteit daarvan, dan gebruik je nu AMD RAID. Als je software RAID in Windows gebruikt, dan maakt de controller niet uit zolang je disks maar gezien worden door Windows. Als je de AMD controller in RAID modus gebruikt en dus de AMD drivers de RAID functionaliteit laat verzorgen, dan heb je AMD RAID. Je kunt dan niet zomaar naar Intel RAID migreren.

Kortom, van A naar A kan wel, van A naar B kan niet zomaar. Wat dus wél kan is Windows software RAID op AMD moederbord naar Intel moederbord. Dan ga je van A naar A (van Windows software RAID naar Windows software RAID, ongeacht controller). Draai je echter onboard RAID aka DriverRAID dan kun je niet van AMD naar Intel onboard RAID; dat is van A naar B.
Ook had ik begrepen dat ReFS in hetzelfde rijtje viel als ZFS en BTRFS, maar daar vergis ik me blijkbaar in.
ReFS is ook een derde generatie filesystem net als ZFS en Btrfs omdat het checksums gebruikt. Maar lang niet zo geavanceerd als ZFS. Tevens werkt ReFS als een 'normaal' filesystem bovenop een ouderwetse RAID-laag of een enkele disk. Dit terwijl ZFS zijn eigen RAID uitvoert en dat heeft heel belangrijke voordelen.

Blog moet je nog even op wachten, maar wellicht wordt het dan een stuk duidelijker. :)
Pagina: 1