ubuntuusers.de

Problem mit der RAID-Erstellung

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

DerRaimo

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Einen schönen guten Abend zusammen!

Nun ist es also soweit, ich verfasse meinen ersten Beitrag, nachdem ich bisher alles per Wiki und Recherche lösen konnte ☺ Um meinen immer weiter wachsenden Berg an wichtigen und nicht ganz so wichtigen Daten von diversen Quellen zusammenfassen zu können, habe ich mich dazu entschlossen, meinen Server mit einem RAID-5 Array, bestehend aus vier WD Caviar Greeen 15EADS auszustatten. Die Platten hängen an den SATA-Controllern eines Asus P6T Deluxe v.2, an dem auch die Platte mit dem OS auf einer WD Caviar Green 10EADS hängt.

Die Durchführung des Projekts habe ich direkt zum Anlass genommen, Lucid Lynx auf dem bisher nur zum Rumprobieren genutzen Server zu installieren. Beim Versuch der RAID-Erstellung habe ich mich an den hiesigen Wiki-Eintrag gehalten, was auch dazu geführt hat, dass ein RAID angelegt wurde. nach einem Neustart hatte ich allerdings eine Unstimmigkeit mit den Platten, wie mir die Ausgabe von /proc/mdstat anzeigte. Da der Rechner jedoch schon eifrig dabei war, neu zu synchronisieren, habe ich dies durchlaufen lassen. Als dies beendet war, hatte ich allerdings ein Array namens md_d0, was mich zu diesem Zeitpunkt irritierte. Nach einem weiteren Neustart fehlte nun zusätzlich eine Platte im Array, weshalb ich es natürlich nicht mounten konnte.

An dieser Stelle habe ich definitiv das Falsche gemacht und nochmal mit dem Partitionieren angefangen (sowohl mit Dateisystem 83 als auch fd) und Verschiedenstes durcheinander versucht, anstelle mich direkt ans Forum zu wenden. Lange Rede, kurzer Sinn: Mein System ist nun in einem Zustand, aus dem ich ohne Hilfe nicht mehr rauskomme.

Der momentane Stand ist folgender:

Lucid Lynx ist auf sda installiert, sdb bis sde sollen irgendwann das RAID-5 bilden.

$ sudo fdisk -l

Platte /dev/sda: 1000.2 GByte, 1000204886016 Byte
255 Köpfe, 63 Sektoren/Spur, 121601 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006a77d

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *           1      119370   958836736   83  Linux
/dev/sda2          119370      121602    17923073    5  Erweiterte
/dev/sda5          119370      121602    17923072   82  Linux Swap / Solaris

Platte /dev/sdc: 1500.3 GByte, 1500301910016 Byte
255 Köpfe, 63 Sektoren/Spur, 182401 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003f6ae

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdc1               1      182401  1465136001   83  Linux

Platte /dev/sdd: 1500.3 GByte, 1500301910016 Byte
255 Köpfe, 63 Sektoren/Spur, 182401 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000232ad

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdd1               1      182401  1465136001   83  Linux

Platte /dev/sde: 1500.3 GByte, 1500301910016 Byte
255 Köpfe, 63 Sektoren/Spur, 182401 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002e9dd

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sde1               1      182401  1465136001   83  Linux

Platte /dev/sdb: 1500.3 GByte, 1500301910016 Byte
255 Köpfe, 63 Sektoren/Spur, 182401 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002e9dd

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1               1      182401  1465136001   83  Linux
$ cat /proc/partitions 
major minor  #blocks  name

   8        0  976762584 sda
   8        1  958836736 sda1
   8        2          1 sda2
   8        5   17923072 sda5
   8       32 1465138584 sdc
   8       48 1465138584 sdd
   8       64 1465138584 sde
   8       16 1465138584 sdb
 252        0 4395408768 dm-0
 252        1 1465136001 dm-1

mdadm habe ich inzwischen wieder deinstalliert, weil ich das in einem Problemlösevorschlag gelesen hatte. In der Laufwerksverwaltung werden mir an den Host-Adaptern alle fünf installierten Platten angezeigt, unter Peripheriegeräte aber neben dem Floppydrive eine 4,5 TB große Platte (vermutlich das Phantom des RAIDs) sowie eine weitere 1,5 TB große Platte. Dies kann nicht die Systemplatte sein, da diese nur 1.0 TB groß ist.

Das Nullen der superblocks der vier RAID-Platten hat ebenfalls nicht funktioniert, da das System glaubt, dass die Platten noch irgendwie in Benutzung sind. Die mdmadm.conf ist noch jungfräulich, dort ist kein RAID eingetragen.

Nun bitte ich um Eure Hilfe, da ich keine Ahnung habe, wie ich sinnvoll vorgehen sollte. Vielen Dank!

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Hallo,

zeig doch bitte auch noch die Ausgabe von

sudo blkid

DerRaimo

(Themenstarter)

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Gern.

$ sudo blkid
/dev/sda1: UUID="bdbf135c-765d-467b-8c7c-1c012818600c" TYPE="ext4" 
/dev/sda5: UUID="7798a2b2-7f0c-4b91-8d24-27a84d633ee7" TYPE="swap" 
/dev/sdc: TYPE="isw_raid_member" 
/dev/sdd: TYPE="isw_raid_member" 
/dev/sde: TYPE="isw_raid_member" 
/dev/sdb: TYPE="isw_raid_member" 

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Ich habe ein bisschen den Verdacht, dass die Platten b,c,d und e an einem Intel Fake-RAID Controller hängen. Zur Klärung bitte noch die Ausgaben von

sudo dmraid -r 

und

sudo dmraid -s

DerRaimo

(Themenstarter)

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Mit Deinem Verdacht hat Du recht, das Asus-Board hat einen Intel RAID-Controller. Allerdings dachte ich, dass durch das Setzen auf "IDE" (die andere Auswahl wäre "RAID") in den Bios-Einstellungen zum RAID die RAID-Funktionen disabled hätte.

$ sudo dmraid -r 
/dev/sdb: isw, "isw_caicidaicc", GROUP, ok, 2930277166 sectors, data@ 0
/dev/sde: isw, "isw_caicidaicc", GROUP, ok, 2930277166 sectors, data@ 0
/dev/sdd: isw, "isw_caicidaicc", GROUP, ok, 2930277166 sectors, data@ 0
/dev/sdc: isw, "isw_caicidaicc", GROUP, ok, 2930277166 sectors, data@ 0
$ sudo dmraid -s
*** Group superset isw_caicidaicc
--> Active Subset
name   : isw_caicidaicc_Volume0
size   : 8790817536
stride : 128
type   : raid5_la
status : ok
subsets: 0
devs   : 4
spares : 0

archy

Anmeldungsdatum:
24. November 2009

Beiträge: 1920

hallo,

wenn auf der Kiste noch keine lebenswichtigen Daten sind, dann ganz neu anfangen.

nach meiner Recherche im Netz hast du einen SATA-Controller mit Marvell-Chip und Raid-Funktionalität. ! Also in das Controller-BIOS starten und dort alle RAIDs auflösen, und alle Signaturen löschen lassen !!! Diese Funktionen sind meist etwas versteckt unter Hot-Spare o.ä. zu finden.

Das Üble ist nämlich, dass alle Platten nun Raid-Signaturen tragen, und wegen der Neupartitionierung sind die auch noch unterschiedlich. Solange noch alte Signaturen das sind, wir das nie was Sauberes !

Ja und dann eben wieder neu anfangen, Dazu Rechner neu starten und wieder ins Controller-BIOS, dort die Einzelstellung der ersten Platte und das RAID für die anderen 3 Platten einrichten. Das RAID dort initialisieren und komplett erstellen lassen. Geduld das kann Stunden dauern !!

Danach ganz normal Linux ( mit LVM) installieren, erste ( Einzelplatte ) auswählen dort dein System unterbringen und nach Wunsch partitionieren. Das Raid für die Daten beachtest du vorerst nicht. Das System auf ein riesigen RAID5 ( alle 4 Platten ) in ein erstes Volume installieren zu wollen, solltest du vergessen, Es gibt bisher noch keine Garantie dafür, dass grub von Raid5 sauber bootet. Das kann gut gehen, aber wenn es später Probleme gibt siehts du eventuell deine Daten nie wieder.

Nach der kompletten Installation und Systemeinrichtung dann den LVM aufrufen und auf deinem Raid die Volumes (logischen Laufwerke) einrichten. Mindest halt eines, bei RAID5 dann eben mit Verlust von 1 TB Nutzgröße !! Das heisst deine 3 TB bringen 2 TB nutzbare Speichergröße, so ist das halt bei RAID5 ( mit 3 Platten). Dann die Volumes mit dem gewünschten Dateisystem formatieren, am besten von der Konsole aus, der LVM sollte das auch können, ich hatte damit aber unter ubuntu-9.10 Schwierigkeiten.

Danach dein(e) Volume(s) in /etc/fstab eintragen ( aufpassen der Pfad heist nicht /dev/sdxy sondern etwas anders, LVM verrät in dir ) und auf den gewünschten Mountpunkt mounten ( rw und sonstige Optionen nicht vergessen ).

Voila dein Daten-Raid

gruß

archy

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

OK, an den Ausgaben von dmraid siehst du schon den Grund, warum die Platten "irgendwie in Benutzung" sind, und "Phantom-RAIDs" angezeigt werden. Der Intel-Controller hat seine Signatur auf die Platten geschrieben, deshalb versucht ubuntu, sie mittels dmraid als "Fake-RAID" anzusprechen. Sind die Platten nagelneu, oder sind sie vielleicht schon mal (vielleicht nur kurz zum Testen?) als RAID konfiguriert gewesen?

Wie dem auch sei... um das Problem zu lösen, schlage ich dir zwei Möglichkeiten vor:

1. Kurz und schmerzlos, aber eventuell nicht nachhaltig: Einfach das Paket dmraid deinstallieren:

sudo apt-get remove dmraid --purge

Kleiner Nachteil davon ist, dass die Intel-Signatur weiterhin auf den Platten steht. Das kann dazu führen, dass bei einer zukünftigen Neuinstallation von ubuntu wieder das Fake-RAID erkannt wird. Damit hättest du dann das gleiche Problem wieder, und müsstest dmraid wieder manuell deinstallieren.

2. Methode: Die Signaturen löschen. Das hilft nachhaltig, klappt aber nicht immer. Einen Versuch ist es aber wert:

Fake-RAID stoppen:

sudo dmraid -an

Pauschal alle Signaturen löschen:

sudo dmraid -x

oder, falls das nicht geht

sudo dmraid -x /dev/sdb

sudo dmraid -x /dev/sdc

sudo dmraid -x /dev/sdd

sudo dmraid -x /dev/sde

Wenn das geklappt hat (prüfen mit sudo dmraid -s, Ausgabe bitte posten). Kann man darangehen, ein ordentliches RAID zu erstellen.

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Hallo archy,

ich denke nicht, dass der OP unbedingt neu installieren muss. Das System ist auf /dev/sda, und diese Platte trägt keine RAID-Signatur. Er könnte also die vier Datenplatten plattmachen, ohne das System dabei zu gefährden.

Die von dir vorgeschlagene Methode, im BIOS die RAID-Signaturen zu löschen, ist natürlich die beste. Ich habe aber schon BIOSse erlebt, die das nicht sauber konnten. Den Versuch ist es aber wert.

Wenn er dann aber im BIOS ein neues RAID erstellt, hat er ja wieder ein Fake-RAID. Eher zu empfehlen und wohl auch gewünscht ist aber ein normales Software-RAID mit mdadm.

DerRaimo

(Themenstarter)

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Als erstes einmal vielen Dank euch beiden, dass ihr euch meines Problems angenommen habt.

Ich habe erstmal ArnoW's Vorschlag genommen, da mir das als der schnellere Weg erschien ☺ Das scheint soweit geklappt zu haben, folgende Ausgabe kann ich bieten:

$ sudo dmraid -s
no raid disks

Ist der Weg über das Controller-BIOS der bessere, oder macht dmraid -x genau dasselbe?

Nachtrag: Das geht ja schneller als bei der Feuerwehr hier ☺ Ich entnehme Arnos' Antwort, dass ich den Weg übers Controller-BIOS zusätzlich machen sollte?

DerRaimo

(Themenstarter)

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Nocheinmal einen Nachtrag, wegen der Übersichtlichkeit in einem neuen Posting.

Die Platten waren wirklich zuerst als Fake-RAID im BIOS eingerichtet, aber da Ubuntu das Array nicht erkannte, wollte ich das Fake-RAID deaktivieren und ein reines Software-RAID aufsetzen. Ich dachte eigentlich, dass ich das Fake-RAID wieder aufgelöst hätte, dem war aber wohl nicht so.

Nachdem ich den Ansatz von ArnoW gefolgt bin habe ich nochmal im Controller-BIOS nachgesehen und gecheckt, dass nun alle Platten keine Volume-ID mehr haben, sondern als "Non-RAID Disk" deklariert sind und keine RAIDs definiert sind. Nun sollte ich doch eigentlich ungefährdert versuchen können, ein Software-RAID mit mdadm aufzusetzen, oder?

Gruß, Raimo

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Nein, jetzt brauchst du nichts mehr in der Richtung zu machen, es hat ja offensichtlich geklappt!

Der Vollständigkeit halber könntest du noch dmraid deinstallieren, da du es ja nicht brauchst:

sudo apt-get remove dmraid --purge

dann mdadm wieder installieren:

sudo apt-get install mdadm

Dann kannst du dir überlegen, ob du das neue RAID direkt auf den nackten Platten, oder auf partitionierten Platten aufsetzen willst. Der klassische Weg wäre, zuerst auf allen vier Platten eine gleichgroße Partition anzulegen, und dann diese als Grundlage für das RAID zu verwenden.

Es geht aber auch direkt auf den puren Geräten. Kleiner Nachteil dabei ist, dass du im Fall eines Defektes eine exakt gleichgroße oder größere Platte als Ersatz brauchst. Ist sie neue Platte auch nur einen Block kleiner, geht es nicht. Das kann passieren, wenn man Platten eines anderen Herstellers nachkauft.

Deshalb rät man oft dazu, Partitionen anzulegen, und diese ein paar MB kleiner zu machen, als eigentlich Platz wäre. Dann ist etwas Spielraum...

Danach das RAID anlegen:

Auf dem blanken Eisen,

sudo mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

oder auf vorher erstellten Partitionen:

sudo mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Dann die UUID feststellen:

sudo mdadm --examine --scan

und die ausgegebene Zeile in die /etc/mdadm/mdadm.conf eintragen. Dazu einfach mit der Maus markieren, "kopieren" und nach dem Öffnen der mdadm.conf:

gksu gedit /etc/mdadm/mdadm.conf

per "Einfügen" übertragen.

DerRaimo

(Themenstarter)

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Soweit schon mal vielen, vielen Dank! Noch eine kurze Nachfrage wegen des Partitionierens: Bisher habe ich immer eine primäre Partition auf den vier Disks angelegt, ist das soweit richtig oder sollte es eine logische Partition sein?

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Nimm eine primäre. Eine logische nimmt man nur, wenn vier Stück auf einer Platte nicht reichen. Du brauchst aber nur eine pro Platte.

Ein kleiner Nachtrag zu deinem Nachtrag: Das mit dem Fake-RAID hatte ich mir schon so gedacht. Das Erstellen scheint aber doch geklappt zu haben. Du hättest nur dann das Fake-RAID unter dem Namen

/dev/mapper/isw_caicidaicc_Volume0

ansprechen müssen, um ein Dateisystem darauf anzulegen, und nicht unter den Gerätenamen der Einzelplatten.

Mit dem md-RAID fährst du aber in jedem Fall besser!

DerRaimo

(Themenstarter)

Anmeldungsdatum:
7. März 2007

Beiträge: 33

Die mdadm-Erstellung war erfolgreich, allerdings habe ich momentan

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sde1[4] sdd1[2] sdc1[1] sdb1[0]
      4395407808 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
      [>....................]  recovery =  4.1% (60433152/1465135936) finish=251.8min speed=92945K/sec

Also werde ich ihn mal recovern lassen und dann dann morgen die restlichen Einträge vornehmen. Wenn alles geklappt hat, setze ich das Thema auf "gelöst". Vielen Dank nochmal an ArnoW und archy, wieder etwas gelernt!

ArnoW

Avatar von ArnoW

Anmeldungsdatum:
14. November 2009

Beiträge: 1090

Wohnort: Pfalz

Mach den Eintrag in die /etc/mdadm/mdadm.conf besser sofort, sonst startet das RAID nicht mehr, wenn du den Rechner zwischendurch neu startest!

Antworten |