Linux (allgemein)

ID #1125 Software-RAID auflösen

Problem:

Viele Provider bieten größere Server mit 2 Festplatten an, die in ein Software-RAID-Array zusammengefasst sind.
Doch manchmal will man gar kein RAID betreiben, sondern lieber die volle Kapazität der zwei Platten nutzen. Also muß man das RAID auflösen.

Vorbereitung:

Erstmal untersucht man die vorhandene Plattenstruktur. Beispiel:

/dev/sda    Festplatte1
/dev/sda1    Swap-Partition
/dev/sda2    Linux-FS        genutzt durch /dev/md0
/dev/sdb    Festplatte2
/dev/sdb1    Swap-Partition
/dev/sdb2    Linux-FS        genutzt durch /dev/md0
/dev/md0    MD Raid            mountpoint /

(Anmerkung: Bei Euch kann die Partitionierung ganz anders aussehen!
Schaut Euch Eure Struktur gut an und vergleicht sie mit o.g. Beispiel. Entsprechend müssen die unten stehenden Befehle daran anpasst werden.)

Dann sollte man sich überlegen, wie man die Platten neu partitionieren will und welche Verzeichnisse man auf die zweite Platte legen möchte. (Im weiteren Verlauf wird angenommen, daß man das Home-Verzeichnis auf die 2.Platte legen will.)

Wenn man ohne Datenverlußt arbeiten will, darf man die Partitionen auf <code>/dev/sdacode> nicht anfassen.
Es empfielt sich auch, die Swap-Partition auf <code>/dev/sdbcode> zu erhalten, damit genügend Swap-Space vorhanden ist.

Im folgenden Beispiel lassen wir die Partitionen wie sie sind, löschen lediglich den Spiegel auf <code>/dev/sdb2code> und hängen diese Partition als <code>/home/code> ein.
(Alternativ unter <code>/srv/code>, wo halt evtl. die Webspaces liegen.)

Vorgehen:

Erstmal muß man auf die Recovery-Console wechseln. Denn der Mountpoint <code>/code> darf nicht auf <code>/dev/md0code> liegen.
Nun wird das Raid aufgelöst:

mdadm /dev/md0 -f /dev/sdb2 -r /dev/sdb2
#Wenn die Swap-Partition auf /dev/sdb1 nicht mehr genutzt werden soll:
swapoff /dev/sdb2

Will man auf <code>/dev/sdbcode> eine andere Partitionierung, dann sollte man dies jetzt tun. (z.B. mit <code>fdiskcode> oder komfortabler mit <code>cfdiskcode>.)

Sicherheitshalber formatieren wir die neue Partition (hier: <code>/dev/sdb2code>):

mkfs.ext3 /dev/sdb2
#oder wenn man ReiserFS haben will:
mkfs.reiserfs /dev/sdb2

Nun verschieben wir das vorhandene Zielverzeichnis in die neue Partition:
cd /mnt
#Mountpoints anlegen
mkdir sda2
mkdir sdb2
#Mounten der Partitionen:
mount /dev/sda2 sda2
mount /dev/sdb2 sdb2
#Verschieben:
mv sda2/home/* sdb2/.

(Bei mehreren Partitionen auf <code>/dev/sdbcode> entsprechend wiederholen.)

Abschluss:

Nun muß nur noch die <code>sda2/etc/fstabcode> angepaßt werden:
(Achtung: hier sind Ergänzungen und Ersetzungen zusammengefaßt!)

#alle Vorkommen von /dev/md* löschen!
/dev/sda2    /    ext3
/dev/sdb2    /home    ext3
/dev/sda1    none    swap
#Falls man die Swap-Partition auf sdb gelassen hat:
/dev/sdb1    none    swap

Fertig!

Nun steht einem Reboot ins normale System nichts mehr im Wege.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2006-07-15 09:42     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4 von 5 (8 Bewertungen)

Artikel kommentieren

Kommentar von jonas (2009-10-22 10:59:49):
-- Falsche Panik-Mache gelöscht! --

nach dem reboot wird das raid und beide festplatten wieder syncronisieren und die daten gehen verloren

man muss die daten auch nicht verschieben, bitte erspart euch das.

um ein raid abzuschalten braucht man 3 schritte GRUB ändern + FSTAB ändern + den paritions typ ändern mit fdisk!

-- Tastenanschläge zur fdisk-Bedienung gelöscht. --

Referenzen

http://serversupportforum.de/forum/dedizierte-server/25321-software-raid1-aufl-sen.html

http://www.pc-erfahrung.de/linux/linux-software-raid-how-to-mit-mdadm-raidutils.html

Kommentar von jonas (2009-10-22 14:46:13):
http://www.xx86.info/lin_raid.html

RAID ändern / löschen

- Partition aus einem RAID Verbund entfernen und den Superblock löschen.

mdadm /dev/md0 --fail /dev/sda1
mdadm /dev/md0 --remove /dev/sda1
mdadm --zero-superblock /dev/sda1

- RAID komplett löschen

umount /dev/md0 /dev/md1
mdadm --stop /dev/md0 /dev/md1
mdadm --zero-superblock /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sda2 /dev/sdb2 /dev/sdc2

Kommentar von huschi (2009-10-22 15:02:06):
@Jonas:
Bitte nicht eine falsche Panik verbreiten!
Das Howto ist mehrfach getestet. Den Superblock zu löschen war bisher nicht nötig. Den Vorschlag kann man natürlich sicherheitshalber machen. Schaden tut er nicht.
Was Du insgesamt falsch gemacht hast, kann ich leider nicht beurteilen.

huschi.

Kommentar von jonas (2009-10-22 16:48:32):
achja.. fdisk zum übernehmen "w" zum anzeigen der paritions tabelle "p"
mit quit speichert es nicht

so das wärs dann
(nur beim mdadm software raid unter linux !)
hoffe ich konnte euch ärger ersparen

Kommentar von jonas (2009-10-22 19:18:59):
oh, hi huschi!

ohi hab ich jetzt gar nicht mit gerechnt das es irgendwie geht ? :-O


naja noch mal kurz was mir gefehlt hat in deinem HOWTO:

1. grub anpassen ?
2. paritionstyp ändern mit fdisk von FD auf 83 ?
3. mdadm masterblock löschen bzw MBR iwie anpassen ?
4. etc ?

ich habe nur das von dir probiert aber dabei löst man das raid nur temporär und alle boot informationen bleiben vorhanden und das raid versucht sich wiederherszustellen=datenverlust.

veile grüße

Kommentar von huschi (2009-10-22 20:33:30):
@Jonas:
a) Dies ist kein Forum!
b) Wer fdisk nicht bedienen kann ist hier grundsätzlich falsch.
c) Stimmt, Grub habe ich nicht beachtet. Bei Lilo braucht man nichts weiter beachten.
d) Warum Du erst den Typ anpassen mußt entzieht sich meiner Kenntnis.
Aber bei mir stehen alle Partitionen der einzelnen Platten bereits auf dem richtigen Typ.

huschi.