Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Es ist ein gängiges Szenario, software RAID auf virtuellen Linux-Computern in Azure zu verwenden, um mehrere angefügte Datenträger als einzelnes RAID-Gerät darzustellen. In der Regel kann dies verwendet werden, um die Leistung zu verbessern und einen verbesserten Durchsatz im Vergleich zu nur einem einzigen Datenträger zu ermöglichen.
Anfügen von Datenträgern
Zum Konfigurieren eines RAID-Geräts sind mindestens zwei leere Datenträger erforderlich. Der Hauptgrund für die Erstellung eines RAID-Geräts ist die Verbesserung der Leistung Ihrer Datenträger-E/A. Basierend auf Ihren E/A-Anforderungen können Sie Datenträger anfügen, die in unserem Standardspeicher gespeichert sind, mit bis zu 500 I/O-Operationen pro Sekunde pro Datenträger oder in unserem Premiumspeicher mit bis zu 5000 I/O-Operationen pro Sekunde pro Datenträger. In diesem Artikel wird nicht ausführlich beschrieben, wie Sie Datenträger auf einem virtuellen Linux-Computer bereitstellen und anfügen. Ausführliche Anweisungen zum Anfügen eines leeren Datenträgers an einen virtuellen Linux-Computer auf Azure finden Sie im Microsoft Azure-Artikel Anfügen eines Datenträgers.
Von großer Bedeutung
Mischen Sie keine Datenträger mit unterschiedlichen Größen. Dies würde dazu führen, dass die Leistung des Raidsets auf die der langsamsten Festplatte beschränkt ist.
Installieren des Mdadm-Hilfsprogramms
Ubuntu
sudo apt-get update sudo apt-get install mdadm
CentOS & Oracle Linux
sudo yum install mdadm
SLES und openSUSE
zypper install mdadm
Erstellen der Datenträgerpartitionen
In diesem Beispiel erstellen wir eine einzelne Datenträgerpartition auf /dev/sdc. Die neue Datenträgerpartition wird als "/dev/sdc1" bezeichnet.
Beginnen Sie
fdisk
mit dem Erstellen von Partitionensudo fdisk /dev/sdc Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xa34cb70c. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Drücken Sie 'n' an der Eingabeaufforderung, um eine nEW-Partition zu erstellen:
Command (m for help): n
Drücken Sie als Nächstes 'p', um eine primäre Partition zu erstellen:
Command action e extended p primary partition (1-4)
Drücken Sie "1", um die Partitionsnummer 1 auszuwählen:
Partition number (1-4): 1
Wählen Sie den Ausgangspunkt der neuen Partition aus, oder drücken
<enter>
Sie, um die Standardeinstellung zu übernehmen, um die Partition am Anfang des freien Speicherplatzes auf dem Laufwerk zu platzieren:First cylinder (1-1305, default 1): Using default value 1
Wählen Sie die Größe der Partition aus, z. B. "+10G", um eine 10 Gigabyte-Partition zu erstellen. Oder drücken Sie
<enter>
, um eine einzelne Partition zu erstellen, die das gesamte Laufwerk umfasst:Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): Using default value 1305
Ändern Sie als Nächstes die ID und type der Partition von der Standard-ID "83" (Linux) in die ID "fd" (Linux raid auto):
Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd
Schreiben Sie schließlich die Partitionstabelle auf das Laufwerk, und beenden Sie fdisk:
Command (m for help): w The partition table has been altered!
Erstellen des RAID-Arrays
Im folgenden Beispiel werden drei Partitionen mit RAID-Ebene 0 (Stripe) auf drei separaten Datenträgern (sdc1, sdd1, sde1) verteilt. Nach dem Ausführen dieses Befehls wird ein neues RAID-Gerät namens "/dev/md127 " erstellt. Beachten Sie außerdem, dass, wenn diese Datenträger zuvor Teil eines anderen, nicht mehr funktionsfähigen RAID-Arrays waren, es möglicherweise erforderlich ist, den
--force
-Parameter demmdadm
-Befehl hinzuzufügen.sudo mdadm --create /dev/md127 --level 0 --raid-devices 3 \ /dev/sdc1 /dev/sdd1 /dev/sde1
Erstellen des Dateisystems auf dem neuen RAID-Gerät
CentOS, Oracle Linux, SLES 12, openSUSE und Ubuntu
sudo mkfs -t ext4 /dev/md127
SLES 11
sudo mkfs -t ext3 /dev/md127
SLES 11 – boot.md aktivieren und mdadm.conf erstellen
sudo -i chkconfig --add boot.md sudo echo 'DEVICE /dev/sd*[0-9]' >> /etc/mdadm.conf
Hinweis
Ein Neustart kann erforderlich sein, nachdem diese Änderungen auf SUSE-Systemen vorgenommen wurden. Dieser Schritt ist für SLES 12 nicht erforderlich.
Hinzufügen des neuen Dateisystems zu /etc/fstab
Von großer Bedeutung
Eine unsachgemäße Bearbeitung der Datei "/etc/fstab" kann zu einem nicht bootfähigen System führen. Wenn Sie sich nicht sicher sind, sollten Sie in der Dokumentation nachsehen, wie diese Datei richtig bearbeitet wird. Außerdem wird empfohlen, ein Backup der Datei /etc/fstab zu erstellen, bevor Sie sie bearbeiten.
Erstellen Sie den gewünschten Bereitstellungspunkt für Ihr neues Dateisystem, z. B.:
sudo mkdir /data
Beim Bearbeiten von /etc/fstab sollte die UUID verwendet werden, um auf das Dateisystem und nicht auf den Gerätenamen zu verweisen. Verwenden Sie das
blkid
Hilfsprogramm, um die UUID für das neue Dateisystem zu ermitteln:sudo /sbin/blkid ........... /dev/md127: UUID="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" TYPE="ext4"
Öffnen Sie /etc/fstab in einem Text-Editor, und fügen Sie einen Eintrag für das neue Dateisystem hinzu, z. B.:
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults 0 2
Oder auf SLES 11:
/dev/disk/by-uuid/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext3 defaults 0 2
Speichern und schließen Sie dann /etc/fstab.
Testen Sie, dass der Eintrag /etc/fstab korrekt ist:
sudo mount -a
Wenn dieser Befehl zu einer Fehlermeldung führt, überprüfen Sie die Syntax in der Datei "/etc/fstab".
Führen Sie als Nächstes den Befehl
mount
aus, um sicherzustellen, dass das Dateisystem eingehängt ist.mount ................. /dev/md127 on /data type ext4 (rw)
(Optional) Sicherheitsmodus-Startparameter
fstab-Konfiguration
Viele Distributionen enthalten entweder die
nobootwait
odernofail
Mount-Parameter, die zur Datei /etc/fstab hinzugefügt werden können. Diese Parameter ermöglichen Fehler beim Mounten eines bestimmten Dateisystems und ermöglichen es dem Linux-System, weiterhin zu booten, auch wenn es nicht in der Lage ist, das RAID-Dateisystem ordnungsgemäß zu mounten. Weitere Informationen zu diesen Parametern finden Sie in der Dokumentation Ihrer Verteilung.Beispiel (Ubuntu):
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults,nobootwait 0 2
Linux-Startparameter
Zusätzlich zu den oben genannten Parametern kann der Kernelparameter "
bootdegraded=true
" dem System das Starten ermöglichen, auch wenn das RAID als beschädigt oder herabgestuft wahrgenommen wird, z. B. wenn ein Datenlaufwerk versehentlich vom virtuellen Computer entfernt wird. Standardmäßig kann dies auch zu einem nicht startbaren System führen.Informationen zum ordnungsgemäßen Bearbeiten von Kernelparametern finden Sie in der Dokumentation Ihrer Verteilung. In vielen Distributionen (CentOS, Oracle Linux, SLES 11) können diese Parameter der Datei "
/boot/grub/menu.lst
" manuell hinzugefügt werden. Auf Ubuntu kann dieser Parameter derGRUB_CMDLINE_LINUX_DEFAULT
Variablen unter "/etc/default/grub" hinzugefügt werden.
TRIM/UNMAP-Unterstützung
Einige Linux-Kernels unterstützen TRIM/UNMAP-Vorgänge, um ungenutzte Blöcke auf dem Datenträger zu verwerfen. Diese Vorgänge sind in erster Linie im Standardspeicher nützlich, um Azure darüber zu informieren, dass gelöschte Seiten nicht mehr gültig sind und verworfen werden können. Das Verwerfen von Seiten kann Kosten sparen, wenn Sie große Dateien erstellen und diese dann löschen.
Hinweis
RAID gibt möglicherweise keine Verwerfen-Befehle aus, wenn die Chunk-Größe des Arrays kleiner als der Standardwert (512 KB) ist. Dies liegt daran, dass die Unmap-Granularität auf dem Host ebenfalls 512 KB beträgt. Wenn Sie die Blockgröße des Arrays --chunk=
über den Parameter "mdadm" geändert haben, werden TRIM/unmap-Anforderungen möglicherweise vom Kernel ignoriert.
Es gibt zwei Methoden, TRIM-Unterstützung auf Ihrem virtuellen Linux-Computer zu aktivieren. Wie üblich, konsultieren Sie Ihre Distribution für den empfohlenen Ansatz.
Verwenden Sie die Option
discard
zum Einbinden in/etc/fstab
, zum Beispiel:UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults,discard 0 2
In einigen Fällen kann die option
discard
Leistungsauswirkungen haben. Alternativ können Sie den Befehlfstrim
manuell über die Befehlszeile ausführen oder ihn „crontab“ hinzufügen, um eine regelmäßige Ausführung zu erzielen:Ubuntu
# sudo apt-get install util-linux # sudo fstrim /data
RHEL/CentOS
# sudo yum install util-linux # sudo fstrim /data