Zusätzliches Software-RAID erstellen (Linux)

Für individuell konfigurierbare Dedicated Server mit Hardware-RAID und Linux

Wenn Sie einen individualisierbaren Dedicated Server mit Software-RAID und zusätzlichem Datenspeicher bestellen, wird nur für den primären Speicher des Servers ein Software-RAID mit dem Level 1 erstellt. Für den zusätzlichen Speicher müssen Sie in diesem Fall ein separates Software-RAID erstellen.

In diesem Artikel erfahren Sie, welche Vor- und Nachteile die wichtigsten RAID-Level haben und welche Kriterien zur Auswahl des passenden RAID-Levels berücksichtigt werden sollten. Darüber hinaus wird beispielhaft erklärt, wie Sie mit dem Programm MDADM für die zusätzlich erworbenen Datenspeicher des Typs HDD, SSD oder NVMe in Linux ein separates Software-RAID mit dem Level 1 erstellen. Die hierbei beschriebene Vorgehensweise empfiehlt sich, um die Vorteile von RAID 1 optimal zu nutzen.

Je nach Anwendungsbereich können Sie für Ihre Datenspeicher auch RAID-Systeme mit abweichenden RAID-Levels erstellen.

Hinweis

Wenn Sie einen individualisierbaren Dedicated Server mit Hardware-RAID bestellen, müssen Sie in den folgenden Fällen ein separates Software-RAID für den zusätzlichen Datenspeicher erstellen:

  • Sie haben einen individualisierbaren Dedicated Server mit Hardware-RAID bestellt, der Datenspeicher des Typs HDD als primären Speicher und Datenspeicher des Typs NVMe als zusätzlichen Datenspeicher verwendet. 

  • Sie haben einen individualisierbaren Dedicated Server mit Hardware-RAID bestellt, der Datenspeicher des Typs NVMe als primären Speicher und Datenspeicher des Typs HDD, SSD oder NVMe als zusätzlichen Datenspeicher verwendet. 

Achtung

Dieser Artikel setzt gute Kenntnisse der Serveradministration mit Linux voraus. Die Befehle, die in dieser Anleitung aufgeführt sind, müssen je nach Konfiguration des Servers angepasst werden. Prüfen Sie diese vor der Erstellung und Formatierung der Datenspeicher sowie vor der Erstellung des zusätzlichen Software-RAID und passen Sie diese vor der Eingabe an. Andernfalls droht Datenverlust!

Kriterien zur Auswahl des passenden RAID-Levels

RAID-Systeme ermöglichen eine höhere Datensicherheit und/oder eine höhere Geschwindigkeit. Sie sind jedoch kein Ersatz für regelmäßige Backups. Erstellen Sie daher regelmäßig Backups, um Datenverlust zu vermeiden.

Die Frage, welches RAID-Level für Ihren Server geeignet ist, können Sie mit Hilfe der folgenden Fragen klären:

  • Welches Betriebssystem wird auf dem Server verwendet und welche RAID-Level werden von diesem unterstützt?

  • Welche Speicherkapazität wird benötigt? Wie viel Kapazität der eingesetzten Datenspeicher soll nutzbar sein?

  • Welche Anforderungen werden an die Schreib- und Lesegeschwindigkeit gestellt? 

  • Welche Anforderungen gibt es hinsichtlich der Datensicherheit? 

Überblick über die wichtigsten RAID-Level

In der folgenden Tabelle sind die wichtigsten RAID-Level sowie deren Vor- und Nachteile aufgeführt:

  RAID 0 RAID 1 RAID 5 RAID 6 RAID 10 (1+0)
Mindestanzahl an Datenspeichern (HDD, SSD oder NVMe) 2 2 3 4 4
Verwendetes Verfahren Striping Spiegelung (Mirroring) Striping und Parität Striping und doppelte Parität Striping gespiegelter Daten
Ausfallsicherheit keine Ausfall eines Laufwerks Ausfall eines Laufwerks Ausfall von zwei Laufwerken Ausfall von zwei Datenspeichern eines Sub-Arrays führt zum Crash des gesamten Systems
Kapazitätsausnutzung 100%
Anzahl der Datenspeicher x Kapazität
50%
(Anzahl der Datenspeicher -1) x Kapazität
67%
Anzahl der Datenspeicher - 1
50%
(Anzahl der Datenspeicher - 2) x Kapazität
50%
(Anzahl der Datenspeicher - 2) x Kapazität
Schreibgeschwindigkeit sehr hoch niedrig mittel niedrig mittel
Lesegeschwindigkeit sehr hoch mittel hoch hoch sehr hoch
Vorteile Höhere Bandbreite als Einzellaufwerke

Höhere Zahl an Eingabe- und Ausgabe-Operationen pro Sekunde als bei Einzellaufwerken
Vollständige Redundanz

Datensicherheit und Geschwindigkeit lässt sich bei passendem Controller bzw. passender Software optional erhöhen
Erhöhte Ausfallsicherheit durch Parität

Gutes Preis-Leistungs-Verhältnis in puncto Redundanz und Speicheroptimierung
Hohe Ausfallsicherheit dank doppelter Parität

Leicht verbesserte Durchsatzrate beim Leseprozess im Vergleich zu Einzellaufwerken
Erhöhte Lesegeschwindigkeit im Vergleich zu Einzellaufwerken

Erhöhte Ausfallsicherheit der eingebundenen Datenspeicher
Nachteile Höhere Ausfallwahrscheinlichkeit als Einzellaufwerke

Fehlende Redundanz sorgt dafür, dass ein Großteil der Daten im Fall eines defekten Datenspeichers verloren geht
Speicherkapazität des Verbunds ist maximal so groß wie die Kapazität des kleinsten Datenspeichers

Hoher Kostenfaktor
Schreibgeschwindigkeit im Vergleich zu Einzellaufwerken verringert

Speicherkapazität der einzelnen Datenspeicher wird zu einem gewissen Teil eingeschränkt
Schreibgeschwindigkeit im Vergleich zu Einzellaufwerken deutlich verringert

Speicherkapazität der einzelnen Datenspeicher wird – insbesondere in kleineren Verbünden – deutlich eingeschränkt
Starke Einschränkung der maximal verfügbaren Speicherkapazität

Ausfall von zwei Datenspeichern eines Sub-Arrays führt zum Crash des gesamten Systems

Separates Software-RAID mit dem Level 1 erstellen und zusätzlich erworbenen Datenspeicher einbinden

In diesem Abschnitt wird erklärt, wie Sie den zusätzlich erworbenen Datenspeicher partitionieren. Anschließend erfahren Sie, wie Sie mit dem Programm MDADM ein separates Software-RAID mit dem Level 1 erstellen und die zusätzlich erworbenen Datenspeicher in das RAID einbinden.

Zusätzlich erworbene Datenspeicher partitionieren
  • Um den Status des Software-RAIDs zu prüfen, geben Sie in der Shell den folgenden Befehl ein:
    cat /proc/mdstat
    Nach der Eingabe werden z. B. die folgenden Informationen angezeigt:

    root@1B5A354:~# cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
    md1 : active raid1 sdb1[0] sda1[1]
          523200 blocks [2/2] [UU]

    md4 : active raid1 sdb4[0] sda4[1]
          1947523072 blocks super 1.2 [2/2] [UU]
          bitmap: 0/15 pages [0KB], 65536KB chunk

    md3 : active raid1 sdb3[0] sda3[1]
          3904512 blocks super 1.2 [2/2] [UU]

    md2 : active raid1 sdb2[0] sda2[1]
          1427456 blocks super 1.2 [2/2] [UU]

    unused devices: <none>

Hinweis

Wenn noch kein Software-Raid existiert, wird eine der folgenden Meldungen angezeigt:

root@1B5A354:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

oder

[root@90398B0 ~]# cat /proc/mdstat
Personalities :
unused devices: <none>

Dies ist der Fall, wenn Sie einen Dedicated Server mit Hardware-RAID erworben haben.

  • Notieren Sie die Namen der vorhandenen RAIDs.

  • Um die vorhandenen Datenspeicher und Partitionen aufzulisten, geben Sie den Befehl fdisk -l ein. fdisk ist ein Kommandozeilen-Programm zur Partitionierung von Festplatten. Mit diesem Programm kann man Partitionen anzeigen, anlegen oder löschen. 
    root@1B5A354:~# fdisk -l

  • Notieren Sie die Namen der Datenspeicher, die nicht partitioniert sind.

  • Um die vorhandenen Datenspeicher, die Modellbezeichnungen und die Seriennummern anzuzeigen, geben Sie den folgenden Befehl ein:
    root@1B5A354: ls -laht /dev/disk/by-id

  • Notieren Sie die Modellbezeichnungen und die Seriennummern der vorhandenen Datenspeicher.

  • Um eine neue GPT-Partitionstabelle  und eine neue primäre Partition für die zusätzlichen Datenspeicher zu erstellen, die den gesamten verfügbaren Speicherplatz auf der Festplatte belegt, passen Sie die unten stehenden Befehle an und geben Sie diese anschließend ein. Das Flag -a opt gibt an, dass der optimale Ausrichtungsmodus verwendet werden soll. Die Option mkpart primary gibt an, dass eine neue primäre Partition erstellt wird. Die Werte 0% und 100% geben den Start- und Endpunkt der neuen Partition an und bedeuten, dass die Partition den gesamten verfügbaren Speicherplatz auf der Festplatte einnimmt.

    HDD/SSD

    parted /dev/sda mklabel gpt -a opt
    parted /dev/sda mkpart primary 0% 100%

    parted /dev/sdb mklabel gpt -a opt
    parted /dev/sdb mkpart primary 0% 100%

    oder

    parted /dev/sdc mklabel gpt -a opt
    parted /dev/sdc mkpart primary 0% 100%

    parted /dev/sdd mklabel gpt -a opt
    parted /dev/sdd mkpart primary 0% 100%

    NVMe

    parted /dev/nvme1n1 mklabel gpt -a opt
    parted /dev/nvme1n1 mkpart primary 0% 100%

    parted /dev/nvme0n1 mklabel gpt -a opt
    parted /dev/nvme0n1 mkpart primary 0% 100%

  • Um sicherzustellen, dass die Partitionstabelle richtig erkannt wird, geben Sie den unten stehenden Befehl ein. Durch diesen Befehl wird der Kernel angewiesen, die Partitionstabelle des Geräts zu überprüfen und ggf. aktualisierte Informationen anzuzeigen.
    partprobe -s

Zusätzliches RAID erstellen

Um den zusätzlichen Datenspeicher zu nutzen, erstellen Sie für diesen ein neues RAID-Array. Auf diese Weise können Sie den zusätzlichen Speicherplatz unabhängig vom bestehenden RAID-Array nutzen. Formatieren anschließend das RAID-Array und mounten Sie es dauerhaft. 

Achtung

Stellen Sie vor der Erstellung des RAID1-Arrays sicher, dass Sie zwei identische Dateispeicher verwenden, die über die gleiche Größe verfügen! 

  • Um ein neues RAID1-Array zu erstellen, führen Sie den folgenden Befehl aus:
    mdadm --create /dev/md[NUMMER_DES_NEUEN_RAIDS) --level=1 --raid-devices=2 /dev/DATENSPEICHER1 /dev/DATENSPEICHER2

    Beispiele:

    Zusätzlicher Datenspeicher des Typs NVMe:
    mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/nvme0n1p1 /dev/nvme1n1p1
    Zusätzlicher Datenspeicher des Typs HDD oder SSD:
    mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
    mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
    Nach der Eingabe des Befehls wird z. B. die folgende Meldung angezeigt:
    [root@B2BFA03 ~]# mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
    mdadm: Note: this array has metadata at the start and
        may not be suitable as a boot device.  If you plan to
        store '/boot' on this device please ensure that
        your boot-loader understands md/v1.x metadata, or use
        --metadata=0.90
    Continue creating array?

  • Geben Sie yes ein.

    Das zusätzliche Software-RAID wird erstellt.

  • Prüfen Sie den Status der Software-RAIDs.
    root@1B5A354:~# cat /proc/mdstat

  • Formatieren Sie das RAID-Array mit dem gewünschten Dateisystem. Geben Sie hierzu den folgenden Befehl ein:

    EXT4 und NTFS
    mkfs -t DATEISYSTEM /dev/NAME-DES-RAID-ARRAYS
    XFS
    mkfs.xfs /dev/NAME-DES-RAID-ARRAYS
    Beispiele:

    root@1B5A354:~# mkfs -t ext4 /dev/md5
    oder
    root@1B5A354:~# mkfs -t ntfs /dev/md5
    oder
    root@1B5A354:~# mkfs.xfs /dev/md5

  • Erstellen Sie ein Verzeichnis, in dem Sie das neue RAID mounten. Geben Sie hierzu den folgenden Befehl ein:
    mkdir /NEUESVERZEICHNIS
    Beispiele:
    mkdir /ext4drive
    oder
    mkdir /xfsdrive

  • Um das neue Software-RAID zu mounten, geben Sie den folgenden Befehl ein:

    mount /dev/NAMEDESNEUENRAIDS /NEUESVERZEICHNIS
    Beispiel:
    mount /dev/md5 /ext4drive
    oder
    mount /dev/md5 /xfsdrive

  • Ermitteln Sie die UUID des neuen Software-RAID. Geben Sie hierzu den folgenden Befehl ein:blkid /dev/NAME-DES-RAID-ARRAYS
    Beispiel:blkid /dev/md5

  • Notieren Sie die UUID.

  • Um das zusätzliche Software-RAID automatisch beim Booten zu mounten, passen Sie den unten stehenden Befehl an und geben Sie diesen anschließend ein:
    echo 'UUID=UUID_DES_NEUEN_RAID /mnt/NEUESVERZEICHNIS DATEISYSTEM defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
    Beispiele:

    EXT4
    echo 'UUID=3bc93d27-57a3-452b-b52f-71b21d74bd0c /ext4drive ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
    XFS
    echo 'UUID=ff4c71eb-1091-4742-a04f-06060887b20c /xfsdrive xfs defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

  • Um die Einträge in der Datei /etc/fstab zu prüfen, geben Sie den folgenden Befehl ein:
    cat /etc/fstab

  • Überprüfen Sie die /etc/fstab-Datei auf Syntaxfehler. Geben Sie hierzu den folgenden Befehl ein: 
    mount -a

  • Um den vorhandenen Speicherplatz zu prüfen, geben Sie den folgenden Befehl ein:
    df -h

  • Führen Sie einen Neustart durch. 

  • Prüfen Sie, ob das RAID gemountet wurde. Geben Sie hierzu den folgenden Befehl ein:
    mount