Software RAID1 nachträglich für Datenplatten auf Ubuntu einrichten
Echte Hardware-Raid Controller können schon einiges an Euros kosten und passen nicht immer in das Budget eines Homeusers. Bei billigeren Alternativen handelt es sich meist um mehr oder weniger normale SATA/IDE Controller, welchen ein Bios zum Einstellen des RAIDs verpasst wurde und ohne Software nichts läuft. Diese Varianten werden auch als Fakeraid oder bei Adaptec als HostRaid bezeichnet. Eine bessere und kostengünstigere Lösung bietet hier ein Software-RAID in Linux.
Zur besseren Erklärung: Ein Fakeraid ist eigentlich nichts anderes als ein Softwareraid. Die anfallenden Rechenaufgaben werden in beiden Fällen von der CPU übernommen. Auch die verschiedensten RAID-Integrationen auf diversen Mainboards sind nur Fakeraid und es ist zum Teil unmöglich diese unter Linux oder anderen “alternativeren” Betriebssystemen zu nutzen, da es meist einfach am Support dieses hapert. Weiters kann es problematisch werden, wenn ein solcher Controller schlapp macht, denn jeder Hersteller kocht hier sein eigenes Süppchen und es gibt keinen einheitlichen Standard. Also entweder bunkert man sich einen baugleichen Ersatz oder benutzt von Anfang an das controllerunabhängige SoftwareRaid in Linux.
Ich werde euch hier an 2 Fällen zeigen, wie ihr ein solches SoftwareRaid (Raid1) auf Datenplatten (keine Systempartition) einrichten könnt.
Fall 1: Beide Platten sind leer bzw. die enthaltenen Daten werden nicht mehr benötigt.
Fall 2: Wir bauen eine zusäztliche Platte ein und wollen mit einer bespielten Festplatte ein Raid erzeugen.
In beiden Fällen wird “mdadm” benötigt, also installieren wir das Paket mit:
sudo apt-get install mdadm
Fall 1
Nehmen wir an die eigebauten Festplatten werden als “sdb” und “sdc” erkannt. Die vorhandenen Festplatten kann man sich mittels fdisk anzeigen lassen.
sudo fdisk -l
Haben wir die Festplattenbezeichnungen herausgefunden, starten wir zuerst das Partitionsprogramm mit der ersten Platte (abweichende Bezeichnung anpassen):
sudo fdisk /dev/sdb
Wir überprüfen jetzt ob schon eine oder mehrere Partitionen vorhanden sind, indem wir “p” und “Enter” drücken.
Command (m for help): p
Sind welche vorhanden, löschen wir diese mit “d” für “delete”.
Command (m for help): d
Erst danach erstellen wir eine neue Primary-Partition und markieren diese als Raid. Mit “n” erstellt man eine neue Partition und mit “p” wird dies eine primäre. Als Partitionnummer geben wir “1” ein und die restlichen Abfragen werden einfach mit “Enter” durchbestätigt.
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-243201, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-243201, default 243201): Using default value 243201
Mit der Option “t” legt man den Partitionstyp fest, welcher in unserem Fall “fd” also Linux Raid ist.
Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect)
Bevor wir jetzt die neue Partitionstabelle auf die Festplatte schreiben lassen (“w“), gehen wir noch einmal in uns und überprüfen ob wir die richtige Platte erwischt haben.
Command (m for help): w
Die selben Schritte führt man nun mit der nächsten Festplatte aus.
Sind beide partitioniert, können wir das Raid1 erstellen:
sudo mdadm -C /dev/md0 --force --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Das Raid wird nur noch formatiert (hier ext3) …
sudo mkfs -t ext3 /dev/md0
… und man kann es wie jede andere Partition (auch in der fstab) mounten.
sudo mount /dev/md0 /dein/verzeichnis
Mit dem Befehl …
sudo mdadm --detail /dev/md0
… kann man sich den derzeitigen Status des RAIDs anzeigen lassen:
/dev/md0: Version : 00.90 Creation Time : Wed Feb 22 21:23:36 2012 Raid Level : raid1 Array Size : 488383936 (465.76 GiB 500.11 GB) Used Dev Size : 488383936 (465.76 GiB 500.11 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Thu Feb 23 01:33:35 2012 State : clean, degraded, recovering Active Devices : 1 Working Devices : 2 Failed Devices : 0 Spare Devices : 1 Rebuild Status : 17% complete UUID : 55b06196:b9407bc8:728f5ce2:8aeb1abd (local to host slave) Events : 0.64 Number Major Minor RaidDevice State 0 8 81 0 active sync /dev/sdf1 2 8 33 1 spare rebuilding /dev/sdc1
Damit “md0” auch nach dem Restart noch die selbe Bezeichnung hat führen wir diesen Befehl aus:
sudo mdadm --detail --scan
Wir kopieren uns die letzte Zeile der Ausgabe, welche ungefähr so aussieht:
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=55b06196:b9407bc8:728f5ce2:8aeb1abd
Dann öffnen wir die Konfigurationsdatei von “mdadm” …
sudo nano /etc/mdadm/mdadm.conf
… und fügen die kopierte Zeile am Ende der Datei ein (Nano: speichern mit “Strg+o“, schließen mit “Strg+x”).
Fall 2
Nehmen wir wieder an, die bereits mit Daten befüllte Platte nennt sich “sdb” und die neu hinzugefügte oder leere “sdc”. Dies können wir wieder mit Hilfe von “fdisk” prüfen.
sudo fdisk -l
Wir kopieren die Partitionstabelle der existierenden (befüllten) Festplatte auf die neue:
sudo sfdisk -d /dev/sdb | sudo sfdisk /dev/sdc
Die kopierte Partition markieren wir mit …
sudo fdisk /dev/sdc
… als Linux Raid Partition (also “t“, “fd” und “w” für Partitionstabelle schreiben)
Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd
Das Raid erstellen wir vorerst mit einem Platzhalter (missing), da wir die Daten dieser Festplatte noch kopieren wollen.
sudo mdadm -C /dev/md0 --force --level=1 --raid-devices=2 /dev/sdc1 missing
Das erstellte Raid hängen wir nun ein, indem wir ein Verzeichnis erstellen und danach den mount Befehl ausführen:
sudo mkdir /tmp/raid sudo mount /dev/md0 /tmp/raid
Dann kopieren wir die vorhandenen Daten in das Raid:
cp -Rv /alte/platte/* /tmp/raid/
Nun markieren wir auch die diese Partiton mit “fdisk” …
sudo fdisk /dev/sdb
… als Linux Raid Partition (also wieder “t“, “fd” und “w” für Partitionstabelle schreiben)
Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd
Nach fertiggestellter Kopierorgie und dem Ändern des Patitionstyps können wir auch die zweite Platte dem Raid hinzufügen:
sudo mdadm /dev/md0 --add /dev/sdb1
Das Raid synct sich jetzt und dies können wir mit diesem Befehl beobachten:
sudo mdadm --detail /dev/md0
Damit “md0” auch nach dem Restart noch die selbe Bezeichnung hat führen wir diesen Befehl aus:
sudo mdadm --detail --scan
Wir kopieren uns die letzte Zeile der Ausgabe, welche ungefähr so aussieht:
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=55b06196:b9407bc8:728f5ce2:8aeb1abd
Dann öffnen wir die Konfigurationsdatei von “mdadm” …
sudo nano /etc/mdadm/mdadm.conf
… und fügen die kopierte Zeile am Ende der Datei ein (Nano: speichern mit “Strg+o“, schließen mit “Strg+x”).
Solltet die alte Platte in der fstab eingetragen gewesen sein, müsst ihr diesen Eintrag natürlich anpassen.
Eine HDD aus dem Raid entfernen
Angenommen wir wollen “sdc” aus unserem RAID-Verbund entfernen, müssen wir diese zuerst als fehlerhaft deklarieren:
sudo mdadm /dev/md0 --set-faulty /dev/sdc1
Danach wird diese aus dem RAID-Verbund entfernt:
sudo mdadm /dev/md0 -r /dev/sdc1
Um das Problem der automatischen Wiedererkennung der Raid-Partition auf der Platte löschen wir den Superblock:
sudo mdadm --zero-superblock /dev/sdc1
RAID auflösen
Etwaige vorhandene Daten sollten vorher gesichert werden. Um das RAID aufzulösen deaktivieren wir es …
sudo mdadm --stop /dev/md0
… und löschen dann ebenfalls die Superblöcke der Platten.
sudo mdadm --zero-superblock /dev/sdX1
Viel Spaß mit dem RAID!
12 Kommentare zu “Software RAID1 nachträglich für Datenplatten auf Ubuntu einrichten”
Kommentar abgeben
Kategorien
- Allgemein (9)
- Anderes (6)
- DIY Anleitungen (8)
- Downloads (22)
- HTC (16)
- Linux (35)
- Server (29)
- Windows (8)
Neueste Beiträge
- Tor Relay auf Ubuntu 14.04 zur Verfügung stellen
- Sogo Upgrade von Version 2 auf Version 3 auf Ubuntu 14.04
- Download: Lustige und sinnlose Feiertage im November 2012 als ICS Datei
- Skype-Symbol auf Windows 7 aus der Taskleiste verschwinden lassen
- Statische IP ab Ubuntu Server 12.04 LTS Precise Pangolin
Folge uns auch via
Archiv
WERBUNG
Featured Video
Kalender
M | D | M | D | F | S | S |
---|---|---|---|---|---|---|
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 |
Meta
Unterstützt mich
futurezone.at – Newsfeed
- Weltweit erster 1.000-Meter-Wolkenkratzer wird doch fertiggebaut 8. Oktober 2024
- Iran schützt sich mit chinesischer Laserwaffe vor Israels Drohnen 8. Oktober 2024
- Tesla Model 3 mit "größter Reichweite aller Zeiten" kommt nach Österreich 8. Oktober 2024
- 12 Prime-Day-Angebote unter 30 Euro, die ihr euch ansehen solltet 8. Oktober 2024
- Physik-Nobelpreis geht an KI-Forscher 8. Oktober 2024
Super besten Dank. mdadm ist ja einfach. Ich bin gespannt ob es klappt.
Probiere es am WE mal.
Liebe Leute
das soll einfach sein? Und Ubuntu soll sich für Umsteiger von Windows eignen? Komplizierter geht es wohl nicht mehr. Linux hätte Windows längst vom Markt verdrängt, wäre die Bedienung einfacher.
Beispiel: Bildung eines Software-Raid
Linux siehe oben (wobei ich verzweifelt danach suche, bei ubuntu-13.04-desktop-i386 überhaupt erst einmal irgendwo “sudo” eingeben zu können. Wo bitte geht’s da hin????
Vergleich zu Windows: Man geht in die Systemsteuerung, dort in die Verwaltung, dort in die Datenträgerverwaltung, initialisiert die jungfäulichen Festplatten, wandelt sie mit einem Klick in einen dynamischen Datenträger um, klick dann auf einen und erstellt ein neues Volumen. Das war’s mit nur wenigen Mausklicks..
Und dann gibt man dem nun als ein Datenträger erscheinenden Laufwerksbuchstaben noch einen schlüssigen Namen, z.B. “Meine Daten”. Ab sofort steht einem das kpl. Raid im Datei-Explorer ordentlich benannt zur Verfügung.
Linux ist vom Prinzip her sehr erstrebenswert, aber für den Windows-Dau und Umsteiger (der von den Weltkonzernen so gut wie möglich weg will) fast unkonfigurierbar. Dazu wird man, erwähnt man auch nur mit einer Silbe Minimalkritik, von Forenmitgliedern persönlich beschimpft und beleidigt nach dem Motto, man sei eben zu dumm. Und das Einzig logische sei Linux. Für mich ist es aber viel logischer, steht bei meiner Partition z.B. “Filme” als eine mir unbekannte Bezeichnung. Ist das die Welt, die sich als Alternative zu den Abzockerkonzernen und Weltzerstörern wie z.B. Monsanto sieht?
Ich lebe in der Hoffnung und versuche es wie bisher immer mal wieder mit anderen Versionen, ob es irgendeinem Linuxentwickler möglich ist, einmal ein auch für den seit 1986 mit Windows arbeitenden DAU mit Windows vergleichbarer Bedienung zu erstellen und bin gerne bereit, dafür auch zu löhnen. Und dann mittels Klick und Doppelklick zu den gewünschten Ergebnissen kommt ohne ellenlange Komandozeileingabe.
Der Vorteil zum Linux Softwareraid ist vor allem im professionelleren Bereich zu finden, denn es läuft einfach stabiler. Bei Windows-Servern kommt man leider nicht um den Einbau einer Hardware-Raidkarte herum, da das Microsoft-Prinzip leider noch zu instabil läuft. Du kannst mich jetzt zwar belehren aber bitte nur wenn du auch über entsprechende Erfahrung in diesem Bereich verfügst und selbst 100+ Server am laufen hast.
Für den Dau unkonfigurierbar würde ich so nicht unbedingt bestätigen. Die neue Ubuntu Distribution kann auch für Daus, welche gewillt sind ihre Angewohnheiten etwas umzustellen geeignet sein. Du kannst auch in Linux deine Partition recht einfach (fast wie in Windows) umbenennen. Es wird auch der Volumename einer externen Festplatte angezeigt.
Ich will dich nicht beleidigen oder dumm anmachen, aber hast du vor kurzem eine neue Version irgendeiner Distribution installiert gehabt?
Ein kleines Beispiel: USB Internetsticks:
Linux (Ubuntu): Anstecken, APN eintragen und fertig
Windows: Software installieren, Updates installieren und sehr oft kein Internet mehr.
Ich will überhaupt nicht darüber urteilen welches Betriebssystem jetzt besser ist, denn dies kommt einzig und allein auf den Anwendungsbereich an.
Barrierefreiheit/Verständnis
Es sind häufig Kleinigkeiten, die das Nachvolliziehen dargestellter Sachverhalte erschweren( Terminal erwähnen bei sudo). Im Gegensatz zu Windows habe ich bei Linux zumindest das Gefühl, Grundzüge des Systems nach in der Praxis sich bewährten Spielregeln kontrollieren zu können. Arbeit muss trotzdem investiert werden.
Danke für die Anleitung. Hat weitestgehend super geklappt…
nur ein Punkt im “Fall 2” bei Schritt:
sudo mkdir /tmp/raid
sudo mount /dev/md0 /tmp/raid
Ich konnte die Partition nicht mounten (you must specify a filesystem type), da sie scheinbar vorher formatiert werden musste. Ich hatte im wiki der “ubuntuusers” den Befehl gefunden:
sudo mkfs.ext4 /dev/md0
Danach lief es wieder wie von selbst…
Vielen Dank für die Anleitung!!!
Super Anleitung!
Funzt alles auf anhieb!
wie schaut es mit einer Anleitung für NAS unter Linux aus?
naja vielleicht komme ich selber mal dazu! 🙂
Weiter so!
Danke und noch schöne Feiertage!
PS: Man sollte nicht Äpfel mit Birnen vergleichen wenn man noch nie Birnen probiert hat!
Hallo und danke für die tolle Anleitung. Leider komme ich bei dem Schritt im Fall 2:
“Nach fertiggestellter Kopierorgie und dem Ändern des Patitionstyps können wir auch die zweite Platte dem Raid hinzufügen:
sudo mdadm /dev/md0 –add /dev/sdb1 ”
nicht weiter . Die Fehlermeldung “mdadm: Cannot open /dev/sda1: Device or resource busy” wird angezeigt. Es ist auch irgendwie logisch. Die Platte sda1 wurde beim Bootvorgang als root festgelegt und wird auch im laufenden Betrieb als soche benutzt….Wie hast du das System an der Stelle überlistet ??
Viele Grüße
Gregor
Diese Anleitung funktioniert so leider nicht bei Systemplatten.
@linus-interessent
Wie so viele mal wieder einer, der Äpfel mit Birnen vergleicht: Einen Vorgang, den du kennst (und damit für dich einfach ist) zu vergleichen mit einem Vorgang, den du _nicht_ kennst (und damit für dich umständlich ist) …
Ich selbst finde den Weg, den du für Windows beschreibst, viel umständlicher – weil sich die Situation für mich nämlich genau umgekehrt verhält.
Und verstehe doch bitte einfach, dass Linux nur für die “schwierig” ist, die mit Windows aufgewachsen sind. Ist es denn so absurd, sich das klarzumachen? Frag mal Mac-User, was sie von Windows halten …
Vielen Dank für die Anleitung, die mich in die richtige Richtung gelenkt hat, beim nachträglichen Erzeugen eines Software Raids. Nachdem ich mir ein NAS mit Open Media Vault gebaut habe und erst im Nachhinein darin ein Raid aufgezogen habe, hier mal meine Erfahrungen.
Da meine Daten Festplatte schon Inhalte hatte, studierte ich den “Fall 2”. Allerdings nutzt OMV die GPT Partitionsstruktur, weshalb ich mit den fdisk Befehlen nicht weiterkam. Alle die ähnliche Probleme haben, kann ich nur sgdisk empfehlen.
Auch das Problem nach dem Kopiervorgang die Meldung “Device busy” konnte ich mit dem einfachen Befehl: “udevadm control –stop-exec-queue” umgehen. Dann einfach die ursprüngliche Platte /dev/sdX (in deiner Beschriebung sdb) in den Raid verbund einfügen und dann im Anschluss den Dienst wieder mit “udevadm control –start-exec-queue” starten.
Ich hoffe das nun noch ein paar Weitere in Weg zum tollen Raid finden 😉
Hallo
Genau so eine Anleitung habe ich gesucht.Danke.
Kann man die unverändert für Ubuntu Server 16.04 LTS verwenden?
mfG
Hat bei mir mit 16.04 funktioniert.