• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Datenrettung von BIOS-RAID0-Array mit FreeBSD

cabriofahrer

Well-Known Member
Themenstarter #1
Im Zusammenhang mit RAID0 mit Hilfe von eingebauten Mainboard-Controllern ist immer wieder zu lesen, dass davon abzuraten sei, weil im Falle eines Defektes des RAID-Controllerchips oder des Mainboards die Daten "futsch" seien, es sei denn, man würde wieder an einen gleichen Controller kommen.
Das stimmt nicht, man kann den Array einfach in einen FreeBSD-Rechner einsetzen (oder ein Live-System starten) und dann wird beim Booten automatisch das Graid-Modul geladen und man kann das Device dann einfach mounten.

Dies belegt folgendes Experiment: Auf einem Testrechner mit einem K8A780LM Mainboard von ASRock mit "Promise"-Controller wurden zwei SATA-Festplatten eingebaut und im BIOS-Controller-Menü als RAID0 angelegt. Bsdinstall erkannte das als raid/r0, das sich im Menü für UFS genau wie eine Festplatte auch partitionieren ließ. FreeBSD wurde erfolgreich installiert und das System bootete problemlos.

Die beiden Festplatten wurden dann entfernt und einfach in einen anderen Rechner mit FreeBSD eingesetzt. Der Rechner hat einen anderen RAID-Controller, der aber noch nicht einmal aktiviert ist. Beim Booten wurde wie zu erwarten graid automatisch geladen und der Array aus den zwei vom Testrechner stammenden Festplatten kreiert. Der Array konnte dann schließlich gemountet werden, die Datenstruktur einer FreeBSD-Installation ist klar zu erkennen, wie folgendes Bild erläutert (ada0 und ada1 sind die Festplatten des Hauptrechners, raid/r0 der Array aus dem Testrechner):

Code:
$ graid status
   Name   Status  Components
raid/r0  OPTIMAL  ada2 (ACTIVE (ACTIVE))
                  ada3 (ACTIVE (ACTIVE))
$ gpart show
=>       34  312581741  ada0  GPT  (149G)
         34        128     1  freebsd-boot  (64K)
        162  308281216     2  freebsd-ufs  (147G)
  308281378    4298752     3  freebsd-swap  (2.0G)
  312580130       1645        - free -  (823K)

=>       34  312581741  ada1  GPT  (149G)
         34        128        - free -  (64K)
        162  312475520     2  freebsd-ufs  (149G)
  312475682     106093        - free -  (52M)

=>       34  312581741  diskid/DISK-S08HJ1QL907857  GPT  (149G)
         34        128                              - free -  (64K)
        162  312475520                           2  freebsd-ufs  (149G)
  312475682     106093                              - free -  (52M)

=>       63  621093569  raid/r0  MBR  (296G)
         63        126           - free -  (63K)
        189  620756892        1  freebsd  [active]  (296G)
  620757081     336551           - free -  (164M)

=>        0  620756892  raid/r0s1  BSD  (296G)
          0  612368384          1  freebsd-ufs  (292G)
  612368384    8388507          2  freebsd-swap  (4.0G)
  620756891          1             - free -  (512B)

$ su
Password:
root@amd64:/usr/home/werner # mount /dev/raid/r0s1a /mnt
root@amd64:/usr/home/werner # cd /mnt
root@amd64:/mnt # ls
.cshrc          .snap           bin             entropy         lib             mnt             root            tmp
.profile        .sujournal      boot            etc             libexec         proc            sbin            usr
.rnd            COPYRIGHT       dev             home            media           rescue          sys             var
root@amd64:/mnt #
Es ist anzunehmen, dass dies mit einem von einem Windows-Rechner stammenden Array genauso funktionieren würde, zum Mounten müsste man jedoch das NTFS-Fuse Modul installiert haben.
 

gadean

Well-Known Member
#2
Darauf verlassen würde ich mich aber nicht und gerade wenn man FreeBSD einsetzt hat man doch mit zfs eine wundervolle alternative auf die man sich verlassen kann.
 

cabriofahrer

Well-Known Member
Themenstarter #3
ZFS ist aber bei weniger als 4 GB RAM (für mich) ein No-Go. Ich wollte lediglich auf die Funktionalität von graid hinweisen und auf die damit verbundenen Möglichkeiten zur Datenrettung, eventuell sogar bei Platten aus einem Windows-Rechner. Möchte mal wissen, welcher Windows-Profi denn auf so eine Idee kommen würde anstatt festzustellen, dass die Daten "weg" sind.
 

ralli

BSD Fanboy
#5
ZFS wurde zum Einen erfunden, um teure Hardware und teure Storage Systeme zu erübrigen und andererseits, um die Administration dramatisch zu vereinfachen. Davon sollten wir einfach Gebrauch machen.
 

cabriofahrer

Well-Known Member
Themenstarter #6
Leute werden nicht automatisch inkompetent, nur weil Sie hauptberuflich Windows machen!
Nein, das wollte ich damit auch nicht sagen. Aber wer nebenher privat auch etwas FreeBSD macht, kann damit seine Möglichkeiten, anderen zu helfen, erweitern.
Und an anderer Stelle werden hier mittlerweile sogar Windows- bzw. allgemeine PC-Anekdoten gesammelt.

Darauf verlassen würde ich mich aber nicht und gerade wenn man FreeBSD einsetzt hat man doch mit zfs eine wundervolle alternative auf die man sich verlassen kann.
Wie meinst Du das? Laut "man graid" werden wahrscheinlich so ziemlich alle mainboardüblichen RAID-Controller unterstützt? Oder meinst Du, dass es vielleicht trotz in "man graid" aufgelistetem Modell eventuell nicht funktionieren könnte? Und nochmal zu ZFS: Sicherlich eine tolle Sache für große Server, aber nicht für speicherarme alte Desktoprechner. Und selbst wenn ich mittlerweile auf meinem Hauptrechner 4 GB habe, möchte ich nicht, dass ca. 1 GB alleine von dem Dateiensystem geschluckt wird. Auch Angaben, wie dass die Performance von ZFS bei Überschreitung von 80% der Festplattenkapazität leiden soll, lassen mich zurückschrecken, zumal ich nur jeweils zwei Festplatten von 160 GB zur Verfügung habe. Den Testrechner möchte ich als Zweitrechner aufsetzen und dieser hat sogar nur 1GB DDR-RAM zur Verfügung.
Eine der für mich schönsten Eigenschaften von FreeBSD ist es, dass man damit noch sehr effektiv auch betagte Rechner betreiben und nutzen kann.
 

pit234a

Well-Known Member
#8
bei einem einfachen Spiegeln aus zwei Platten hatte ich sogar schon einzelne Platten direkt einbinden können, also vollkommen ohne jede RAID-HW.
Daraus sollte man aber nicht schließen, dass das immer so ist.
Interessant wird ja Raid-HW auch mit mehreren Platten und RAID5 oä. Das handhaben dann viele Kontroller durchaus unterschiedlich und die Aussage von oben wird da wohl eher zutreffen.