Zusätzliches Hardware-RAID erstellen (Linux)

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

Wenn Sie einen individualisierbaren Dedicated Server mit Hardware-RAID und zusätzlichem Datenspeicher bestellen, wird nur für den primären Speicher des Servers ein Hardware-RAID mit dem Level 1 erstellt. 

Für den zusätzlichen Speicher müssen Sie im folgenden Fall ein separates Hardware-RAID erstellen:

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

Für den zusätzlichen Speicher müssen Sie in den folgenden Fällen ein separates Software-RAID 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 oder SSD als zusätzlichen Datenspeicher verwendet. 

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 erklärt, wie Sie für einen individualisierbaren Dedicated Server, der über ein Hardware-RAID verfügt und Datenspeicher des Typs HDD als primären Speicher sowie zusätzlichen Datenspeicher Typs HDD oder SSD verwendet, ein separates Hardware-RAID mit dem RAID-Level 1 erstellen.

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

Hinweis

Eine Anleitung, wie Sie für einen individuell konfigurierbare Dedicated Server ein Software-RAID erstellen, finden Sie im folgenden Artikel:

Zusätzliches Software-RAID erstellen (Linux)

Vorsicht

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 der Formatierung der Datenspeicher sowie vor der Erstellung des zusätzlichen Hardware-RAIDs 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-Levels 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 Lese- und Schreibgeschwindigkeit 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

Hardware-Controller-Typ ermitteln und Hardware-Informationen anzeigen

Um zu prüfen, welcher Hardware-Controller in Ihrem Server eingebaut ist, können Sie das Programm lshw verwenden. Dieses Programm zeigt detaillierte Informationen zu den Hardwarekomponenten.

lshw installieren

Ubuntu / Debian

apt install lshw


CentOS 7

yum install lshw


Hardwareinformationen mit lshw anzeigen

Um eine Kurzfassung der Hardwareinformationen anzuzeigen, geben Sie den folgenden Befehl ein:

lshw -short
Um die Hardwareinformationen als Textdatei auszugeben, geben Sie den folgenden Befehl ein:

lshw > lshw_ausgabe.txt

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

Diese beispielhafte Anleitung wurde für einen individuell konfigurierbaren Dedicated Server mit einem Broadcom-RAID Controller erstellt. Je nach verwendetem Hardware-Controller können die Befehle abweichen. 

Wenn Sie über einen Dedicated Server verfügen, der einen anderen Hardware-Controller verwendet, weichen der Befehl um die Datenträger anzuzeigen, die von dem Hardware-Controller verwaltet werden sowie der Befehl, um ein neues RAID-Array zu erstellen, ab. In diesem Fall finden Sie diese erforderlichen Befehle in der Dokumentation des jeweiligen Herstellers. 

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 zu prüfen, welche Datenträger in Ihrem Server eingebaut sind, geben Sie den folgenden Befehl ein:
    [root@90398B0 ~]# storcli64 /c0/eall/sall show
    Durch die Eingabe dieses Befehls werden auch alle Datenträger angezeigt, die von dem Hardware-Controller verwaltet werden. Nach der Eingabe des Befehls werden Ihnen z. B. die folgenden Informationen angezeigt:
    storcli64 /c0/eall/sall show
    [root@90398B0 ~]# storcli64 /c0/eall/sall show
    CLI Version = 007.2203.0000.0000 May 11, 2022
    Operating system = Linux 3.10.0-1160.83.1.el7.x86_64
    Controller = 0
    Status = Success
    Description = Show Drive Information Succeeded.


    Drive Information :
    =================

    ----------------------------------------------------------------------------------------
    EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                      Sp Type
    ----------------------------------------------------------------------------------------
    68:0      1 Onln   0   3.637 TB SATA HDD N   N  512B HGST HUS726T4TALA6L4       U  -
    68:1      0 Onln   0   3.637 TB SATA HDD N   N  512B HGST HUS726T4TALA6L4       U  -
    68:2      2 UGood  - 893.750 GB SATA SSD Y   N  512B SAMSUNG MZ7L3960HCJR-00A07 U  -
    68:3      3 UGood  - 893.750 GB SATA SSD Y   N  512B SAMSUNG MZ7L3960HCJR-00A07 U  -
    ----------------------------------------------------------------------------------------

    EID=Enclosure Device ID|Slt=Slot No|DID=Device ID|DG=DriveGroup
    DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
    UBad=Unconfigured Bad|Sntze=Sanitize|Onln=Online|Offln=Offline|Intf=Interface
    Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
    SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
    UGUnsp=UGood Unsupported|UGShld=UGood shielded|HSPShld=Hotspare shielded
    CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
    UBUnsp=UBad Unsupported|Rbld=Rebuild

  • Notieren Sie die Namen der Datenspeicher mit dem Status UGood.

  • Um die zusätzlichen Datenspeicher zu nutzen, erstellen Sie für diese ein neues RAID-Array mit dem RAID-Level 1. Auf diese Weise können Sie den zusätzlichen Speicherplatz unabhängig vom bestehenden RAID-Array nutzen. Um ein neues RAID-Array zu erstellen, passen Sie den unten stehenden Befehl gemäß der Informationen an, die Ihnen in Schritt 1 angezeigt wurden und geben Sie den angepassten Befehl ein. Ersetzen Sie hierbei den Namen des RAID und ggf. die Laufwerksbezeichnungen 68:2-3. Beachten Sie, dass "/c0" den ersten RAID-Controller und "vd" den logischen Datenträger angibt.
    storcli64 /c0 add vd type=raid1 names=DATENTRÄGER 1,DATENTRÄGER 2 drives=68:2-3 
    Beispiel:
    storcli64 /c0 add vd type=raid1 names=ssd1,ssd2 drives=68:2-3
    Anschließend wird die Meldung angezeigt, dass das zusätzliche RAID erstellt wurde.
    [root@90398B0 ~]# storcli64 /c0 add vd type=raid1 names=ssd1,ssd2 drives=68:2-3
    CLI Version = 007.2203.0000.0000 May 11, 2022
    Operating system = Linux 3.10.0-1160.83.1.el7.x86_64
    Controller = 0
    Status = Success
    Description = Add VD Succeeded.

  • Prüfen Sie anschließend, ob der neue RAID-Verbund erkannt wurde. Geben Sie hierzu den folgenden Befehl ein:
    storcli64 /c0/eall/sall show
    Nach der Eingabe wird Ihnen eine ähnliche Meldung wie unten angezeigt:
    [root@90398B0 ~]# storcli64 /c0/eall/sall show
    CLI Version = 007.2203.0000.0000 May 11, 2022
    Operating system = Linux 3.10.0-1160.83.1.el7.x86_64
    Controller = 0
    Status = Success
    Description = Show Drive Information Succeeded.


    Drive Information :
    =================

    ----------------------------------------------------------------------------------------
    EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                      Sp Type
    ----------------------------------------------------------------------------------------
    68:0      1 Onln   0   3.637 TB SATA HDD N   N  512B HGST HUS726T4TALA6L4       U  -
    68:1      0 Onln   0   3.637 TB SATA HDD N   N  512B HGST HUS726T4TALA6L4       U  -
    68:2      2 Onln   1 893.750 GB SATA SSD Y   N  512B SAMSUNG MZ7L3960HCJR-00A07 U  -
    68:3      3 Onln   1 893.750 GB SATA SSD Y   N  512B SAMSUNG MZ7L3960HCJR-00A07 U  -
    ----------------------------------------------------------------------------------------

    EID=Enclosure Device ID|Slt=Slot No|DID=Device ID|DG=DriveGroup
    DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
    UBad=Unconfigured Bad|Sntze=Sanitize|Onln=Online|Offln=Offline|Intf=Interface
    Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
    SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
    UGUnsp=UGood Unsupported|UGShld=UGood shielded|HSPShld=Hotspare shielded
    CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
    UBUnsp=UBad Unsupported|Rbld=Rebuild

  • 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
    Nach der Eingabe, werden z. B. folgende Informationen angezeigt:
    root@90398B0:~# fdisk -l
    Disk /dev/sda: 3.7 TiB, 4000225165312 bytes, 7812939776 sectors
    Disk model: MR9440-8i
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 65536 bytes / 65536 bytes
    Disklabel type: gpt
    Disk identifier: 1FEE5173-7F6E-421D-B323-E11E2C5CBECB

    Device        Start        End    Sectors  Size Type
    /dev/sda1      2048    1048575    1046528  511M EFI System
    /dev/sda2   1048576    3905535    2856960  1.4G Linux RAID
    /dev/sda3   3905536   11718655    7813120  3.7G Linux RAID
    /dev/sda4  11718656 7812937727 7801219072  3.6T Linux RAID


    Disk /dev/sdb: 893.8 GiB, 959656755200 bytes, 1874329600 sectors
    Disk model: MR9440-8i
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 65536 bytes / 65536 bytes
    Disklabel type: gpt
    Disk identifier: B1590B72-4F09-4677-80A4-A1D8C6CB218F

  • Notieren Sie sich den Namen des zusätzlichen RAID-Arrays, das Sie formatieren möchten (z. B. /dev/sdb).

  • Wenn Sie das Dateisystem XFS verwenden möchten, erstellen Sie das Verzeichnis /xfsdrive. Wenn Sie das Dateisystem ext4 verwenden möchten, erstellen Sie das Verzeichnius /ext4drive. Geben Sie hierzu den entsprechenden Befehl ein:

    XFS
    mkdir /xfsdrive 
    ext4
    mkdir /ext4drive

  • Verwenden Sie die unten stehenden Befehle, um das zusätzliche RAID-Array zu partitionieren und passen Sie diesen vor der Eingabe an. 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 einnimmt.
    parted /dev/ZUSÄTZLICHES-RAID-ARRAY mklabel gpt -a opt
    parted /dev/ZUSÄTZLICHES-RAID-ARRAY mkpart primary 0% 100%

    Beispiel:
    parted /dev/sdb mklabel gpt -a opt
    parted /dev/sdb 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

  • Um den Datenspeicher mit dem XFS-Dateisystem oder dem ext4-Dateisystem zu formatieren, geben Sie den folgenden Befehl ein:

    XFS
    mkfs.xfs /dev/PARTITION
    Beispiel:
    root@1B5A354:~# mkfs.xfs /dev/sdb1
    EXT4
    mkfs -t ext4 /dev/PARTITION
    Beispiel:
    root@1B5A354:~# mkfs -t ext4 /dev/sdb1

  • Um das RAID-Array zu mounten, passen Sie den folgenden Befehl an und geben Sie diesen anschließend ein:

    XFS
    mount /dev/Datenspeicher /xfsdrive
    Beispiel:
    mount /dev/sdb1 /xfsdrive
    EXT4
    mount /dev/Datenspeicher /ext4drive
    Beispiel:
    mount /dev/sdb1 /ext4drive

  • Um sicherzustellen, dass das RAID-Array korrekt formatiert wurde und als xfsdrive bzw. ext4drive gemountet ist, geben Sie den folgenden Befehl ein:
    grep xfsdrive /proc/mounts
    grep ext4drive /proc/mounts

  • Um das zusätzliche RAID-Array automatisch beim Booten zu mounten, passen Sie den unten stehenden Befehl an und geben Sie diesen anschließend ein:
    echo '/dev/Datenspeicher /MOUNTVERZEICHNIS DATEISYSTEM defaults 0 0' | sudo tee -a /etc/fstab
    Beispiele:

    EXT4
    echo '/dev/sdb1 /ext4drive ext4 defaults 0 0' | sudo tee -a /etc/fstab
    XFS
    echo '/dev/sdb1 /xfsdrive xfs defaults 0 0' | sudo tee -a /etc/fstab

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

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

  • 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