Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

DM-Multipath

Red Hat Enterprise Linux 6

Konfiguration und Administration von DM-Multipath

Ausgabe 1

Zusammenfassung

Dieses Buch liefert Informationen über die Verwendung der Device-Mapper Multipath-Features von Red Hat Enterprise Linux 6.

Vorwort

Dieses Buch beschreibt das Device Mapper Multipath (DM-Multipath) Feature von Red Hat Enterprise Linux für das Red Hat Enterprise Linux 6 Release.

1. Zielgruppe

Dieses Buch richtet sich an Systemadministratoren, die Systeme verwalten, auf denen das Betriebssystem Linux läuft. Kenntnisse in Red Hat Enterprise Linux werden vorausgesetzt.

3. Ihr Feedback ist gefragt!

Falls Sie einen Fehler in diesem Handbuch finden oder eine Idee haben, wie dieses verbessert werden könnte, würden wir gerne von Ihnen hören! Bitte reichen Sie einen Fehlerbericht in Bugzilla (http://bugzilla.redhat.com/) für das Produkt Red Hat Enterprise Linux 6 und die Komponente doc-DM_Multipath. Vergewissern Sie sich beim Einreichen eines Fehlerberichts, dass Sie die Kennung des Handbuchs mit angeben:
rh-DM_Multipath(EN)-6 (2013-11-15T15:15)
Falls Sie uns einen Vorschlag zur Verbesserung der Dokumentation senden möchten, sollten Sie hierzu möglichst genaue Angaben machen. Wenn Sie einen Fehler gefunden haben, geben Sie bitte die Nummer des Abschnitts und einen Ausschnitt des Textes an, damit wir diesen leicht finden können.

Kapitel 1. Device Mapper Multipathing

Device Mapper Multipathing (DM-Multipath) ermöglicht Ihnen die Konfiguration mehrerer I/O-Pfade zwischen Server-Knoten und Storage Arrays, zusammengefasst in einem einzelnen Gerät. Diese I/O-Pfade sind physische SAN-Verbindungen, die separate Kabel, Switches und Controller umfassen können. Multipathing fasst die I/O-Pfade zusammen und erstellt ein neues Gerät, das aus den gesammelten Pfaden besteht.
Dieses Kapitel liefert eine Zusammenfassung der Features von DM-Multipath, die für das Release von Red Hat Enterprise Linux 6 neu sind. Im Anschluss liefert dieses Kapitel einen allgemeinen Überblick über DM-Multipath und dessen Komponenten, sowie einen Überblick über die Einrichtung von DM-Multipath.

1.1. Neue und veränderte Features

Dieser Abschnitt listet neue und veränderte Features von DM-Multipath auf, die Bestandteil der ersten Release sowie nachfolgenden Releases von Red Hat Enterprise Linux 6 sind.

1.1.1. Neue und veränderte Features für Red Hat Enterprise Linux 6.0

Red Hat Enterprise Linux 6.0 führt die folgenden Änderungen und Aktualisierungen an Dokumentationen und Features ein.
  • Die Vorgehensweise zur erstmaligen Einrichtung von DM-Multipath für eine grundlegende Failover-Konfiguration hat sich für das Red Hat Enterprise Linux 6 Release geändert. Sie können jetzt die DM-Multipath-Konfigurationsdatei erstellen und DM-Multipath mit dem mpathconf Dienstprogramm aktivieren, welches ebenfalls das device-mapper-multipath Modul laden, den multipathd Daemon starten und chkconfig setzen kann, um den Daemon bei einem Neustart automatisch zu starten.
    Für Informationen zu der neuen Einrichtungsprozedur werfen Sie einen Blick auf Abschnitt 3.1, »Einrichten von DM-Multipath«. Für weitere Informationen zu dem Befehl mpathconf werfen Sie einen Blick auf die mpathconf(5) Handbuchseite.
  • Das Red Hat Enterprise Linux 6 Release bietet einen neuen Modus für die Einrichtung von Multipath-Geräten, den Sie mit dem find_multipaths Konfigurationsdatei-Parameter erstellen. In früheren Versionen von Red Hat Enterprise Linux hat Multipath immer versucht, ein Multipath-Gerät für jeden Pfad zu erstellen, der nicht ausdrücklich in der Blacklist aufgeführt war. In Red Hat Enterprise Linux 6 wird dagegen, sofern der find_multipaths Konfigurationsparameter auf yes gesetzt ist, nur dann ein Multipath-Gerät erstellt, wenn eine der folgenden drei Bedingungen erfüllt ist:
    • Es existieren mindestens zwei Pfade mit derselben WWID, die nicht auf der Blacklist sind.
    • Der Benutzer erzwingt das Erstellen von Multipath-Geräten manuell, indem er ein Gerät mit dem multipath Befehl angibt.
    • Ein Pfad besitzt dieselbe WWID, wie ein Multipath-Gerät, das zuvor erstellt wurde (auch wenn dieses Multipath-Gerät derzeit nicht existiert). Für Anleitungen zum Verfahren, falls Sie bereits zuvor Multipath-Geräte erstellt haben, als der find_multipaths Parameter noch nicht gesetzt war, werfen Sie einen Blick auf Abschnitt 4.2, »Konfigurationsdatei - Blacklist«.
    Dieses Feature sollte es den meisten Benutzern ermöglichen, dass Multipath automatisch die korrekten Pfade zur Umsetzung in Multipath-Geräte auswählt, ohne dass die Blacklist bearbeitet werden muss.
    Für Informationen zum find_multipaths Konfigurationsparameter werfen Sie einen Blick auf Abschnitt 4.3, »Konfigurationsdatei - Standards«.
  • Das Red Hat Enterprise Linux 6 Release liefert zwei neue Algorithmen zur Pfadauswahl, die bestimmen, welcher Pfad für die nächste I/O-Operation verwendet werden soll: queue-length und service-time. Der queue-length Algorithmus untersucht den Umfang der noch ausstehenden I/O zu den Pfaden, um zu ermitteln, welcher Pfad als Nächstes verwendet werden soll. Der service-time Algorithmus untersucht den Umfang der noch ausstehenden I/O und den relativen Durchsatz der Pfade, um zu ermitteln, welcher Pfad als Nächstes verwendet werden soll. Für weitere Informationen zu den Parametern zur Pfadauswahl in der Konfigurationsdatei, werfen Sie einen Blick auf Kapitel 4, Die DM-Multipath-Konfigurationsdatei.
  • Im Red Hat Enterprise Linux 6 Release sind Prioritätsfunktionen keine Callout-Programme mehr. Stattdessen sind sie dynamische, gemeinsam genutzte Objekte wie die Funktionen zur Pfadprüfung. Der prio_callout Parameter wurde durch den prio Parameter ersetzt. Für eine Beschreibung der unterstützten prio Funktionen werfen Sie einen Blick auf Kapitel 4, Die DM-Multipath-Konfigurationsdatei.
  • Unter Red Hat Enterprise Linux 6 hat sich das Format der multipath Befehlsausgabe geändert. Für Informationen zur multipath Befehlsausgabe werfen Sie einen Blick auf Abschnitt 5.7, »Multipath-Befehlsausgabe«.
  • Im Red Hat Enterprise Linux 6 Release befindet sich die Multipath bindings Datei unter /etc/multipath/bindings.
  • Das Red Hat Enterprise Linux 6 Release liefert drei neue defaults Parameter in der multipath.conf Datei: checker_timeout, fast_io_fail_tmo und dev_loss_tmo. Für Informationen zu diesen Parametern werfen Sie einen Blick auf Kapitel 4, Die DM-Multipath-Konfigurationsdatei.
  • Wenn die user_friendly_names Option in der Multipath-Konfigurationsdatei auf yes gesetzt wird, entspricht der Name eines Multipath-Geräts der Form mpathn. Für das Red Hat Enterprise Linux 6 Release stellt n ein alphabetisches Zeichen dar, so dass der Name eines Multipath-Geräts mpatha oder mpathb sein kann. In früheren Releases war n ein Ganzzahlwert.

1.1.2. Neue und veränderte Features für Red Hat Enterprise Linux 6.1

Red Hat Enterprise Linux 6.1 enthält die folgenden Änderungen und Aktualisierungen an Dokumentationen und Features.

1.1.3. Neue und veränderte Features für Red Hat Enterprise Linux 6.2

Red Hat Enterprise Linux 6.2 enthält die folgenden Änderungen und Aktualisierungen in Dokumentationen und Features.

1.1.4. Neue und veränderte Features für Red Hat Enterprise Linux 6.3

Red Hat Enterprise Linux 6.3 enthält die folgenden Änderungen und Aktualisierungen an Dokumentationen und Features.
  • Der Standardwert des queue_without_daemon Konfigurationsdatei-Parameters ist jetzt auf no festgeleget.
  • Der Standardwert des max_fds Konfigurationsdatei-Parameters ist jetzt auf max festgelegt.
  • Der user_friendly_names Konfigurationsdatei-Parameter kann jetzt in den defaults, multipaths und devices Abschnitten der multipath.conf Konfigurationsdatei konfiguriert werden.
  • Der defaults Abschnitt der multipath.conf Konfigurationsdatei unterstützt den neuen hwtable_regex_match Parameter.
Für Informationen zu den Konfigurationsdatei-Parametern werfen Sie einen Blick auf Kapitel 4, Die DM-Multipath-Konfigurationsdatei.

1.1.5. Neue und veränderte Features für Red Hat Enterprise Linux 6.4

Red Hat Enterprise Linux 6.4 enthält die folgenden Änderungen und Aktualisierungen an Dokumentationen und Features.

1.1.6. Neue und veränderte Features für Red Hat Enterprise Linux 6.5

Red Hat Enterprise Linux 6.5 enthält die folgenden Änderungen und Aktualisierungen an Dokumentationen und Features.

1.2. Überblick über DM-Multipath

DM-Multipath kann dazu verwendet werden, um Folgendes bereitzustellen:
  • Redundanz
    DM-Multipath kann Ausfallsicherung (Failover) in einer aktiv/passiv-Konfiguration zur Verfügung stellen. In einer aktiv/passiv-Konfiguration wird nur jeweils die Hälfte der Pfade für I/O verwendet. Falls irgendein Element eines I/O-Pfads (das Kabel, der Switch oder der Controller) ausfällt, wechselt DM-Multipath auf einen alternativen Pfad.
  • Verbesserte Leistung
    DM-Multipath kann in aktiv/aktiv-Modus konfiguriert werden, in dem I/O reihum ("round-robin") über die Pfade verteilt wird. In einigen Konfigurationen kann DM-Multipath die Auslastung auf den I/O-Pfaden ermitteln und diese dynamisch neu ausgleichen.
Abbildung 1.1, »Aktiv/Passiv-Multipath-Konfiguration mit einem RAID-Gerät« zeigt eine aktiv/passiv-Konfiguration mit zwei I/O-Pfaden vom Server zu einem RAID-Gerät. Es existieren 2 HBAs auf dem Server, 2 SAN-Switches und 2 RAID-Controller.
Aktiv/Passiv-Multipath-Konfiguration mit einem RAID-Gerät

Abbildung 1.1. Aktiv/Passiv-Multipath-Konfiguration mit einem RAID-Gerät

In dieser Konfiguration führt ein I/O-Pfad durch hba1, SAN1 und Controller1 und ein zweiter I/O-Pfad durch hba2, SAN2 und Controller2. Es existieren viele mögliche Ausfallpunkte in dieser Konfiguration:
  • HBA-Ausfall
  • FC-Kabelausfall
  • SAN-Switch-Ausfall
  • Array-Controller Port-Ausfall
Ist DM-Multipath konfiguriert, führt ein Ausfall jedes einzelnen dieser Punkte dazu, dass DM-Multipath zu einem alternativen I/O-Pfad wechselt.
Abbildung 1.2, »Aktiv/Passiv-Multipath-Konfiguration mit zwei RAID-Geräten« zeigt eine komplexere aktiv/passiv-Konfiguration mit 2 HBAs auf dem Server, 2 SAN-Switches und 2 RAID-Geräten mit jeweils 2 RAID-Controllern.
Aktiv/Passiv-Multipath-Konfiguration mit zwei RAID-Geräten

Abbildung 1.2. Aktiv/Passiv-Multipath-Konfiguration mit zwei RAID-Geräten

In dem unter Abbildung 1.2, »Aktiv/Passiv-Multipath-Konfiguration mit zwei RAID-Geräten« aufgeführten Beispiel existieren zwei I/O-Pfade zu jedem RAID-Gerät (wie auch im dargestellten Beispiel in Abbildung 1.1, »Aktiv/Passiv-Multipath-Konfiguration mit einem RAID-Gerät«). Ist DM-Multipath konfiguriert, führt ein Ausfall jeder dieser Punkte dazu, dass DM-Multipath zu einem alternativen I/O-Pfad wechselt.
Abbildung 1.3, »Aktiv/Aktiv-Multipath-Konfiguration mit einem RAID-Gerät« zeigt eine aktiv/aktiv-Konfiguration mit 2 HBAs auf dem Server, 1 SAN-Switch und 2 RAID-Controllern. Es existieren vier I/O-Pfade vom Server zu einem Speichergerät:
  • hba1 an Controller1
  • hba1 an Controller2
  • hba2 an Controller1
  • hba2 an Controller2
In dieser Konfiguration kann sich I/O auf diese vier Pfade verteilen.
Aktiv/Aktiv-Multipath-Konfiguration mit einem RAID-Gerät

Abbildung 1.3. Aktiv/Aktiv-Multipath-Konfiguration mit einem RAID-Gerät

1.3. Storage-Array-Unterstützung

Standardmäßig beinhaltet DM-Multipath Unterstützung für die gebräuchlichsten Storage Arrays, die DM-Multipath unterstützen. Die unterstützten Geräte sind in der multipath.conf.defaults Datei zu finden. Falls Ihr Storage Array DM-Multipath unterstützt und nicht standardmäßig in dieser Datei konfiguriert wird, müssen Sie es zur DM-Multipath-Konfigurationsdatei multipath.conf hinzufügen. Für weitere Informationen zur DM-Multipath-Konfigurationsdatei werfen Sie einen Blick auf Kapitel 4, Die DM-Multipath-Konfigurationsdatei.
Einige Storage Arrays erfordern eine spezielle Handhabung von I/O-Fehlern und beim Wechseln von Pfaden. Sie benötigen separate "hardware handler" Kernel-Module.

1.4. DM-Multipath-Komponenten

Tabelle 1.1, »DM-Multipath-Komponenten« beschreibt die Komponenten von DM-Multipath.

Tabelle 1.1. DM-Multipath-Komponenten

Komponente Beschreibung
dm_multipath Kernel-Modul Leitet I/O um und unterstützt Ausfallsicherung für Pfade und Pfadgruppen.
mpathconf Dienstprogramm Konfiguriert und aktiviert Device Mapper Multipathing.
multipath Befehl Zeigt und konfiguriert Multipath-Geräte. Wird normalerweise mit /etc/rc.sysinit gestartet, es kann aber auch von einem udev Programm gestartet werden, wenn ein Blockgerät hinzugefügt wird.
multipathd Daemon Überwacht Pfade. Wenn Pfade ausfallen und wieder zurückkommen, kann er einen Wechsel zwischen Pfadgruppen einleiten. Sorgt für interaktive Änderungen an Multipath-Geräten. Für jegliche Änderungen an der /etc/multipath.conf Datei ist ein Neustart erforderlich.
kpartx Befehl Erstellt Device-Mapper-Geräte für die Partitionen auf einem Gerät. Es ist notwendig, dass dieser Befehl für DOS-basierte Partitionen mit DM-MP verwendet wird. kpartx wird in seinem eigenen Paket geliefert, das Paket device-mapper-multipath ist jedoch von diesem abhängig.

1.5. Überblick über die Einrichtung von DM-Multipath

DM-Multipath enthält einkompilierte Standardeinstellungen, die für allgemeine Multipath-Konfigurationen geeignet sind. Das Einrichten von DM-Multipath ist oft ein einfaches Verfahren.
Das grundlegende Verfahren für die Konfiguration Ihres Systems mit DM-Multipath lautet wie folgt:
  1. Installieren Sie das device-mapper-multipath RPM.
  2. Erstellen Sie die Konfigurationsdatei und aktivieren Sie Multipathing mit dem mpathconf Befehl. Sie können den Multipath-Daemon auch mit diesem Befehl starten, falls Sie die Konfigurationsdatei nicht bearbeiten müssen.
  3. Bearbeiten Sie falls nötig die multipath.conf Konfigurationsdatei, um Standardwerte zu ändern und die aktualisierte Datei zu speichern.
  4. Starten Sie den Multipath-Daemon.
Für detaillierte Anweisungen zur Einrichtung der Multipath-Konfiguration werfen Sie einen Blick auf Kapitel 3, Einrichten von DM-Multipath.

Kapitel 2. Multipath-Geräte

Ohne DM-Multipath wird jeder Pfad von einem Server-Knoten zu einem Speicher-Controller vom System als separates Gerät behandelt, auch wenn der I/O-Pfad denselben Server-Knoten mit demselben Speicher-Controller verbindet. DM-Multipath bietet eine Möglichkeit, I/O-Pfade logisch anzuordnen, indem ein einzelnes Multipath-Gerät oberhalb der zugrunde liegenden Geräte erstellt wird.

2.1. Multipath-Geräte-Identifier

Jedes Multipath-Gerät besitzt einen World Wide Identifier (WWID), der garantiert global einzigartig und unveränderlich ist. Standardmäßig wird der Name eines Multipath-Geräts auf dessen WWID gesetzt. Alternativ können Sie die Option user_friendly_names in der Multipath-Konfigurationsdatei setzen, welche einen Alias zu einem eindeutigen Knotennamen der Art mpathn erstellt.
So sieht beispielsweise ein Knoten mit zwei HBAs, die durch einen einzelnen FC-Switch ohne Zonen an einen Speicher-Controller mit zwei Ports angehängt sind, vier Geräte: /dev/sda, /dev/sdb, dev/sdc und /dev/sdd. DM-Multipath erstellt ein einzelnes Gerät mit einer eindeutigen WWID, die I/O an diese vier darunterliegenden Geräte basierend auf der Multipath-Konfiguration weiterleitet. Wenn die Konfigurationsoption user_friendly_names auf yes gesetzt ist, wird der Name des Multipath-Geräts auf mpathn gesetzt.
Wenn ein neues Gerät zur Verwaltung durch DM-Multipath hinzugefügt wird, sind die neuen Geräte ggf. an zwei verschiedenen Positionen unterhalb des /dev Verzeichnisses zu finden: /dev/mapper/mpathn und /dev/dm-n.
  • Die Geräte in /dev/mapper werden zu einem frühen Zeitpunkt im Boot-Vorgang erstellt. Verwenden Sie diese Geräte, um auf die Multipath-Geräte zuzugreifen, z.B. beim Erstellen von logischen Datenträgern.
  • Alle Geräte in der Form /dev/dm-n sind nur für interne Zwecke und sollten niemals verwendet werden.
Für weitere Informationen zu den Standardwerten der Multipath-Konfiguration, inklusive der Konfigurationsoption user_friendly_names, werfen Sie einen Blick auf Abschnitt 4.3, »Konfigurationsdatei - Standards« .
Sie können den Namen eines Multipath-Geräts auch auf einen Namen Ihrer Wahl setzen, indem Sie die alias Option im multipaths Abschnitt der Multipath-Konfigurationsdatei verwenden. Für Informationen zum Abschnitt multipaths der Multipath-Konfigurationsdatei werfen Sie einen Blick auf Abschnitt 4.4, »Multipaths Parameter zur Gerätekonfiguration«.

2.2. Einheitliche Multipath Gerätenamen in einem Cluster

Wenn die Konfigurationsoption user_friendly_names auf yes gesetzt ist, ist der Name des Multipath-Geräts eindeutig für einen Knoten. Es ist jedoch nicht gewährleistet, dass er auf allen Knoten, die das Multipath-Gerät verwenden, derselbe ist. Gleichzeitig ist der Name nicht automatisch konsistent über mehrere Knoten im Cluster hinweg, wenn Sie die alias Option für ein Gerät im multipaths Abschnitt der multipath.conf Konfigurationsdatei setzen. Dies sollte bei der Verwendung von LVM zur Erstellung von logischen Geräten vom Multipath-Gerät zu keinen Schwierigkeiten führen. Falls es jedoch erforderlich ist, dass Ihr Multipath-Gerät auf jedem Cluster-Knoten einheitlich ist, wird empfohlen, dass Sie die Option user_friendly_names nicht auf yes setzen und keine Aliasse für die Geräte konfigurieren. Standardmäßig ist der Gerätename die WWID für das Gerät (welcher immer gleich ist), wenn Sie user_friendly_names nicht auf yes setzen oder einen Alias für ein Gerät konfigurieren.
Wenn Sie jedoch möchten, dass die systemdefinierten benutzerfreundlichen Namen über alle Knoten im Cluster hinweg konsistent sind, führen Sie die folgenden Schritte aus:
  1. Richten Sie alle Multipath-Geräte auf einem einzigen Rechner ein.
  2. Deaktivieren Sie alle Multipath-Geräte auf Ihren anderen Rechnern, indem Sie die folgenden Befehle ausführen:
    # service multipathd stop
    # multipath -F
  3. Kopieren Sie die Datei /etc/multipath/bindings von dem ersten Rechner auf alle anderen Rechner im Cluster.
  4. Reaktivieren Sie den multipathd Daemon auf allen anderen Rechnern im Cluster, indem Sie den folgenden Befehl ausführen:
    # service multipathd start
Wenn Sie ein neues Gerät hinzufügen, müssen Sie diesen Vorgang wiederholen.
Wenn Sie gleichzeitig ein Alias für ein Gerät konfigurieren, von dem Sie möchten, dass es über die Knoten im Cluster hinweg konsistent ist, sollten Sie sicherstellen, dass die /etc/multipath.conf Datei für jeden Knoten im Cluster die gleiche ist, indem Sie die folgende Vorgehensweise befolgen:
  1. Konfigurieren Sie die Aliasse für die Multipath-Geräte in der multipath.conf Datei auf einem einzigen Rechner.
  2. Deaktivieren Sie alle Multipath-Geräte auf Ihren anderen Rechnern, indem Sie die folgenden Befehle ausführen:
    # service multipathd stop
    # multipath -F
  3. Kopieren Sie die Datei /etc/multipath.conf von dem ersten Rechner auf alle anderen Rechner im Cluster.
  4. Reaktivieren Sie den multipathd Daemon auf allen anderen Rechnern im Cluster, indem Sie den folgenden Befehl ausführen:
    # service multipathd start
Wenn Sie ein neues Gerät hinzufügen, müssen Sie diesen Vorgang wiederholen.

2.3. Multipath-Geräteparameter

Zusätzlich zu den user_friendly_names und alias Optionen verfügt ein Multipath-Gerät über zahlreiche andere Parameter. Sie können diese Parameter für ein bestimmtes Multipath-Gerät ändern, indem Sie einen Eintrag für das Gerät im multipaths Abschnitt der Multipath-Konfigurationsdatei erstellen. Für weitere Informationen über den multipaths Abschnitt der Multipath-Konfigurationsdatei werfen Sie einen Blick auf Abschnitt 4.4, »Multipaths Parameter zur Gerätekonfiguration«.

2.4. Multipath-Geräte in logischen Datenträgern

Nach der Erstellung von Multipath-Geräten können Sie die Namen der Multipath-Geräte genau so verwenden, als würden Sie einen physischen Namen beim Erstellen eines physischen LVM-Datenträgers verwenden. Wenn /dev/mapper/mpatha beispielsweise der Name eines Multipath-Geräts ist, markiert der folgende Befehl /dev/mapper/mpatha als einen physischen Datenträger.
pvcreate /dev/mapper/mpatha
Sie können die entstehenden physischen LVM-Geräte beim Erstellen einer LVM-Datenträgergruppe genauso verwenden, wie Sie jedes andere physische LVM-Gerät verwenden würden.

Anmerkung

Falls Sie versuchen, einen physischen LVM-Datenträger auf einem ganzen Gerät zu erstellen, auf dem Sie Partitionen konfiguriert haben, schlägt der Befehl pvcreate fehl. Beachten Sie, dass die Installationsprogramme Anaconda und Kickstart leere Partitionstabellen erstellen, wenn Sie keine für jedes Blockgerät angeben. Falls Sie statt einer Partition das ganze Gerät verwenden möchten, müssen Sie die bestehenden Partitionen von dem Gerät entfernen. Sie können bestehende Partitionen mit den Befehlen kpartx -d und fdisk entfernen. Falls Ihr System ein Blockgerät besitzt, das größer als 2 TB ist, können Sie den Befehl parted verwenden, um Partitionen zu entfernen.
Wenn Sie einen logischen LVM-Datenträger erstellen, der aktiv/passiv Multipath-Arrays als zugrunde liegende physische Geräte verwendet, sollten Sie Filter in lvm.conf integrieren, um die Platten auszuschließen, die den Multipath-Geräten zugrunde liegen. Denn falls das Array beim Erhalt von I/O den aktiven Pfad automatisch in den passiven Pfad ändert, wird Multipath jedes Mal mit einem Failover und Failback reagieren, wenn LVM den passiven Pfad untersucht, falls diese Geräte nicht ausgefiltert werden. Für aktiv/passiv-Arrays, die einen Befehl erfordern, um den passiven Pfad auf aktiv zu setzen, gibt LVM eine Warnmeldung aus, wenn dies auftritt.
Um alle SCSI-Geräte in der LVM-Konfigurationsdatei (lvm.conf) herauszufiltern, fügen Sie den folgenden Filter in den devices Abschnitt der Datei ein.
filter = [ "r/block/", "r/disk/", "r/sd.*/", "a/.*/" ]

Kapitel 3. Einrichten von DM-Multipath

Dieses Kapitel zeigt eine schrittweise Vorgehensweise als Beispiel zur Konfiguration von DM-Multipath. Es umfasst die folgenden Arbeitsschritte:
  • Grundlegende Einrichtung von DM-Multipath
  • Ignorieren lokaler Festplatten
  • Hinzufügen weiterer Geräte zur Konfigurationsdatei
  • Starten von Multipath im initramfs Dateisystem

3.1. Einrichten von DM-Multipath

Stellen Sie vor der Einrichtung von DM-Multipath auf Ihrem System sicher, dass Ihr System aktualisiert wurde und das Paket device-mapper-multipath installiert ist.
Sie können Multipath mit dem Dienstprogramm mpathconf einrichten, das die Multipath-Konfigurationsdatei /etc/multipath.conf erstellt.
  • Falls die Datei /etc/multipath.conf bereits existiert, wird diese vom Dienstprogramm mpathconf bearbeitet.
  • Falls die Datei /etc/multipath.conf nicht existiert, verwendet das Dienstprogramm mpathconf die Datei /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf als Ausgangspunkt.
  • Falls die Datei /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf nicht existiert, erstellt das Dienstprogramm mpathconf die Datei /etc/multipath.conf von Grund auf neu.
Falls Sie die Datei /etc/multipath.conf nicht bearbeiten müssen, können Sie DM-Multipath mit einer grundlegenden Konfiguration für eine Ausfallsicherung einrichten, indem Sie den folgenden Befehl ausführen. Dieser Befehl aktiviert die Multipath-Konfigurationsdatei und startet den multipathd Daemon.
# mpathconf --enable --with_multipathd y
Wenn Sie die /etc/multipath.conf Datei vor dem Start des multipathd Daemons bearbeiten müssen, verwenden Sie die folgende Vorgehensweise, um DM-Multipath mit einer grundlegenden Konfiguration für eine Ausfallsicherung einzurichten.
  1. Führen Sie den Befehl mpathconf mit der Option --enable aus:
    # mpathconf --enable
    Für Informationen über zusätzlichen Optionen für den Befehl mpathconf, die Sie ggf. benötigen, werfen Sie einen Blick auf die mpathconf Handbuchseite oder führen Sie den Befehl mpathconf mit der Option --help aus.
    # mpathconf --help
    usage: /sbin/mpathconf <command>
    
    Commands:
    Enable: --enable 
    Disable: --disable
    Set user_friendly_names (Default n): --user_friendly_names <y|n>
    Set find_multipaths (Default n): --find_multipaths <y|n> 
    Load the dm-multipath modules on enable (Default y): --with_module  <y|n>
    start/stop/reload multipathd (Default n): --with_multipathd  <y|n>
    chkconfig on/off multipathd (Default y): --with_chkconfig  <y|n>
    
  2. Bearbeiten Sie die /etc/multipath.conf Datei falls nötig. Die Standardeinstellungen für DM-Multipath sind im System einkompiliert und müssen nicht explizit in der Datei /etc/multipath.conf festgelegt werden.
    Der Standardwert von path_grouping_policy ist auf failover gesetzt, so dass Sie die /etc/multipath.conf Datei in diesem Beispiel nicht ändern müssen. Für Informationen zum Ändern von Werten in der Konfigurationsdatei auf andere als die Standardwerte werfen Sie einen Blick auf Kapitel 4, Die DM-Multipath-Konfigurationsdatei .
    Der erste "defaults"-Abschnitt der Konfigurationsdatei konfiguriert Ihr System so, dass die Namen der Multipath-Geräte in der Form mpathn erscheinen. Ohne diese Einstellung würden Aliasse für die Namen der Multipath-Geräte zu der WWID des Geräts erstellt.
  3. Speichern Sie die Konfigurationsdatei und beenden Sie den Editor, falls notwendig.
  4. Führen Sie den folgenden Befehl aus:
    # service multipathd start
Da der Wert von user_friendly_name in der Konfigurationsdatei auf yes gesetzt ist, wird das Multipath-Gerät als /dev/mapper/mpathn erstellt. Informationen darüber, wie Sie den Namen eines Geräts auf einen Alias Ihrer Wahl setzen können, finden Sie in Kapitel 4, Die DM-Multipath-Konfigurationsdatei.
Falls Sie keine benutzerfreundlichen Namen verwenden möchten, können Sie den folgenden Befehl ausführen:
# mpathconf --enable --user_friendly_names n

Anmerkung

Wenn Sie die Multipath-Konfigurationsdatei bearbeiten müssen, nachdem Sie den Multipath-Daemon gestartet haben, müssen Sie den service multipathd reload Befehl auszuführen, damit die Änderungen wirksam werden.

3.2. Ignorieren lokaler Festplatten beim Generieren von Multipath-Geräten

Einige Rechner besitzen lokale SCSI-Karten für ihre internen Festplatten. DM-Multipath wird für diese Geräte nicht empfohlen. Wenn Sie den find_multipaths Konfigurationsparameter auf yes setzen, sollten Sie diese Geräte nicht auf die Blacklist setzen müssen. Informationen zum find_multipaths Konfigurationsparameter finden Sie in Abschnitt 4.3, »Konfigurationsdatei - Standards«.
Wenn Sie den find_multipaths Konfigurationsparameter nicht auf yes setzen, können Sie das folgende Verfahren verwenden, um die Multipath-Konfigurationsdatei so zu verändern, dass lokale Festplatten bei der Konfiguration von Multipath ignoriert werden.
  1. Ermitteln Sie, welche Platten die internen Platten sind und markieren Sie diese als diejenigen, die zur Blacklist hinzugefügt werden sollen.
    In diesem Beispiel ist /dev/sda die interne Festplatte. Beachten Sie, dass, wie ursprünglich in der standardmäßigen Multipath-Konfigurationsdatei konfiguriert, das Ausführen von multipath -v2 die lokale Platte /dev/sda in der Multipath-Map anzeigt.
    Für weitere Informationen zur Befehlsausgabe von multipath werfen Sie einen Blick auf Abschnitt 5.7, »Multipath-Befehlsausgabe«.
    # multipath -v2
    create: SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 undef WINSYS,SF2372
    size=33 GB features="0" hwhandler="0" wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 0:0:0:0 sda 8:0  [--------- 
    
    device-mapper ioctl cmd 9 failed: Invalid argument
    device-mapper ioctl cmd 14 failed: No such device or address
    create: 3600a0b80001327d80000006d43621677 undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:0 sdb 8:16  undef ready  running
      `- 3:0:0:0 sdf 8:80 undef ready  running
    
    create: 3600a0b80001327510000009a436215ec undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:1 sdc 8:32 undef ready  running
      `- 3:0:0:1 sdg 8:96 undef ready  running
    
    create: 3600a0b80001327d800000070436216b3 undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:2 sdd 8:48 undef ready  running
      `- 3:0:0:2 sdg 8:112 undef ready  running
    
    create: 3600a0b80001327510000009b4362163e undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:3 sdd 8:64 undef ready  running
      `- 3:0:0:3 sdg 8:128 undef ready  running
    
  2. Um zu verhindern, dass der Device-Mapper /dev/sda in seine Multipath-Maps einbindet, bearbeiten Sie den Blacklist-Abschnitt der /etc/multipath.conf Datei und fügen dieses Gerät ein. Auch wenn Sie das sda Gerät mithilfe des Typs devnode auf die Blacklist setzen könnten, wäre dies keine sichere Vorgehensweise, da nicht garantiert werden kann, dass /dev/sda nach einem Neustart dasselbe Gerät ist. Um einzelne Geräte auf die Blacklist zu setzen, können Sie die WWID des Geräts verwenden.
    Beachten Sie, dass in der Ausgabe des multipath -v2 Befehls die WWID des /dev/sda Geräts SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 lautet. Um dieses Gerät auf die Blacklist zu setzen, fügen Sie Folgendes in der Datei /etc/multipath.conf hinzu.
    blacklist {
          wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
    }
    
  3. Nachdem Sie die Datei /etc/multipath.conf aktualisiert haben, müssen Sie den multipathd Daemon manuell anweisen, die Datei erneut zu laden. Der folgende Befehl lädt die aktualisierte /etc/multipath.conf Datei neu.
    # service multipathd reload
  4. Führen Sie den folgenden Befehl aus, um das Multipath-Gerät zu entfernen:
    # multipath -f SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
  5. Um zu überprüfen, ob das Entfernen des Geräts erfolgreich war, können Sie den multipath -ll Befehl ausführen, um die aktuelle Multipath-Konfiguration anzuzeigen. Für weitere Informationen zum multipath -ll Befehl werfen Sie einen Blick auf Abschnitt 5.8, »Multipath-Abfragen (Queries) mit dem multipath-Befehl« .
    Um zu überprüfen, dass das Gerät auf der Blacklist nicht erneut hinzugefügt wurde, können Sie wie im folgenden Beispiel den multipath Befehl ausführen. Der multipath Befehl hat ein Standard-Ausführlichkeitslevel von v2, falls Sie keine -v Option angeben.
    # multipath
    
    create: 3600a0b80001327d80000006d43621677 undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:0 sdb 8:16  undef ready  running
      `- 3:0:0:0 sdf 8:80 undef ready  running
    
    create: 3600a0b80001327510000009a436215ec undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:1 sdc 8:32 undef ready  running
      `- 3:0:0:1 sdg 8:96 undef ready  running
    
    create: 3600a0b80001327d800000070436216b3 undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:2 sdd 8:48 undef ready  running
      `- 3:0:0:2 sdg 8:112 undef ready  running
    
    create: 3600a0b80001327510000009b4362163e undef WINSYS,SF2372
    size=12G features='0' hwhandler='0' wp=undef
    `-+- policy='round-robin 0' prio=1 status=undef
      |- 2:0:0:3 sdd 8:64 undef ready  running
      `- 3:0:0:3 sdg 8:128 undef ready  running
    

3.3. Konfigurieren von Speichergeräten

Standardmäßig beinhaltet DM-Multipath Support für die gebräuchlichsten Storage Arrays, die DM-Multipath unterstützen. Die standardmäßigen Konfigurationswerte, inklusive unterstützter Geräte, sind in der multipath.conf.defaults Datei zu finden.
Falls Sie ein Speichergerät hinzufügen müssen, das nicht standardmäßig als ein bekanntes Multipath-Gerät unterstützt wird, bearbeiten Sie die /etc/multipath.conf Datei und fügen die entsprechenden Geräteinformationen hinzu.
Um beispielsweise Informationen über die HP Open-V Serie einzufügen, sieht der Eintrag folgendermaßen aus, wobei %n der Gerätename ist:
devices {
     device {
            vendor "HP"
            product "OPEN-V."
            getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
     }
}
Weitere Informationen zum Abschnitt devices der Konfigurationsdatei finden Sie in Abschnitt 4.5, »Konfigurationsdatei - Geräte«.

3.4. Einrichten von Multipath auf dem initramfs Dateisystem

Sie können Multipathing im initramfs Dateisystem erstellen. Nach der Konfiguration von Multipath können Sie das initramfs Dateisystem mit der Multipath-Konfiguration neu erstellen, indem Sie den dracut Befehl mit den folgenden Optionen ausführen:
# dracut --force --add multipath --include /etc/multipath /etc/multipath
Wenn Sie Multipath vom initramfs Dateisystem ausführen und Änderungen an den Multipath-Konfigurationsdateien vornehmen, müssen Sie das initramfs Dateisystem neu erstellen, damit die Änderungen wirksam werden.

Kapitel 4. Die DM-Multipath-Konfigurationsdatei

Standardmäßig liefert DM-Multipath Konfigurationswerte für die gebräuchlichsten Anwendungen von Multipathing. Zusätzlich beinhaltet DM-Multipath Unterstützung für die gebräuchlichsten Storage Arrays, die DM-Multipath unterstützen. Die standardmäßigen Konfigurationswerte und die unterstützten Geräte befinden sich in der Datei /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults.
Sie können die standardmäßigen Konfigurationswerte für DM-Multipath durch Bearbeiten der /etc/multipath.conf Konfigurationsdatei überschreiben. Falls erforderlich, können Sie auch ein Storage Array zur Konfigurationsdatei hinzufügen, das nicht standardmäßig unterstützt wird.

Anmerkung

Sie können Multipathing im initramfs Dateisystem erstellen. Wenn Sie Multipath vom initramfs Dateisystem ausführen und Änderungen an den Multipath-Konfigurationsdateien machen, müssen Sie das initramfs Dateisystem neu erstellen, damit die Änderungen wirksam werden. Für Informationen über das Neuerstellen des initramfs Dateisystems mit Multipath werfen Sie einen Blick auf Abschnitt 3.4, »Einrichten von Multipath auf dem initramfs Dateisystem«.
Dieses Kapitel enthält Informationen zur Analyse und Bearbeitung der multipath.conf Datei. Es enthält Abschnitte zu den folgenden Themen:
  • Überblick über die Konfigurationsdatei
  • Konfigurationsdatei - Blacklist-Abschnitt
  • Konfigurationsdatei - Defaults-Abschnitt
  • Konfigurationsdatei - Multipaths-Abschnitt
  • Konfigurationsdatei - Devices-Abschnitt
Sie brauchen in der Multipath-Konfigurationsdatei nur die Abschnitte angeben, die Sie für Ihre Konfiguration benötigen, oder bei denen Sie die in der Datei multipath.conf.defaults angegebenen Standardwerte ändern möchten. Falls einige Abschnitte dieser Datei für Ihre Umgebung nicht relevant sind, oder Sie für diese Abschnitte die Standardwerte nicht außer Kraft setzen müssen, können Sie sie auskommentiert lassen.
In der Konfigurationsdatei dürfen reguläre Ausdrücke verwendet werden.
Eine Version der Konfigurationsdatei mit Anmerkungen ist unter /usr/share/doc/device-mapper-multipathd-0.4.9/multipath.conf.annotated zu finden.

4.1. Überblick über die Konfigurationsdatei

Die Multipath-Konfigurationsdatei wird in die folgenden Abschnitte unterteilt:
blacklist
Liste bestimmter Geräte, die nicht für Multipath in Betracht gezogen werden.
blacklist_exceptions
Liste von Multipath-Kandidaten, die ansonsten aufgrund der Parameter des Blacklist-Abschnitts auf die Blacklist gesetzt würden.
defaults
Allgemeine Standardeinstellungen für DM-Multipath.
multipaths
Einstellungen für die Charakteristiken von einzelnen Multipath-Geräten. Diese Werte setzen die Einstellungen der defaults und devices Abschnitte der Konfigurationsdatei außer Kraft.
devices
Einstellungen für einzelne Storage Controller. Diese Werte setzen die Einstellungen des defaults Abschnitts der Konfigurationsdatei außer Kraft. Falls Sie ein Storage Array verwenden, das nicht standardmäßig unterstützt wird, müssen Sie ggf. einen devices Unterabschnitt für Ihr Array erstellen.
Wenn das System die Parameter eines Multipath-Geräts ermittelt, überprüft es zunächst die Multipath-Einstellungen, dann die Einstellungen pro Gerät und anschließend die standardmäßigen Systemeinstellungen von Multipath.

4.2. Konfigurationsdatei - Blacklist

Der Abschnitt blacklist (Ausschlussliste) der Multipath-Konfigurationsdatei definiert die Geräte, die bei der Konfiguration der Multipath-Geräte durch das System nicht verwendet werden. Geräte auf einer Blacklist werden nicht in ein Multipath-Gerät gruppiert.
In früheren Versionen von Red Hat Enterprise Linux hat Multipath immer versucht, ein Multipath-Gerät für jeden Pfad zu erstellen, der nicht ausdrücklich in der Blacklist aufgeführt war. In Red Hat Enterprise Linux 6 wird dagegen, sofern der find_multipaths Konfigurationsparameter auf yes gesetzt ist, nur dann ein Multipath-Gerät erstellt, wenn eine der folgenden drei Bedingungen erfüllt ist:
  • Es existieren mindestens zwei Pfade mit derselben WWID, die nicht auf der Blacklist sind.
  • Der Benutzer erzwingt das Erstellen des Geräts manuell, indem er ein Gerät mit dem multipath Befehl angibt.
  • Ein Pfad besitzt dieselbe WWID wie ein Multipath-Gerät, das zuvor erstellt wurde (auch wenn dieses Multipath-Gerät derzeit nicht existiert). Jedes Mal, wenn ein Multipath-Gerät erstellt wird, merkt sich Multipath die WWID des Geräts, so dass das Gerät automatisch wieder erstellt wird, sobald Multipath einen Pfad mit dieser WWID entdeckt. Auf diese Weise kann Multipath automatisch den korrekten Pfad für Multipath-Geräte auswählen, ohne dass die Multipath-Blacklist bearbeitet werden muss.
    Wenn Sie vorher ein Multipath-Gerät ohne den find_multipaths Parameter erstellt haben und dann später den Parameter auf yes ändern, müssen Sie möglicherweise die WWIDs von jedem Gerät, das Sie nicht als Multipath-Gerät erstellt haben wollen, aus der /etc/Multipath/WWIDs Datei entfernen. Nachfolgend sehen Sie eine /etc/Multipath/WWIDs Beispieldatei. Die WWIDs sind durch Schrägstriche (/) eingeschlossen:
    # Multipath wwids, Version : 1.0
    # NOTE: This file is automatically maintained by multipath and multipathd.
    # You should not need to edit this file in normal circumstances.
    #
    # Valid WWIDs:
    /3600d0230000000000e13955cc3757802/
    /3600d0230000000000e13955cc3757801/
    /3600d0230000000000e13955cc3757800/
    /3600d02300069c9ce09d41c31f29d4c00/
    /SWINSYS  SF2372         0E13955CC3757802/
    /3600d0230000000000e13955cc3757803/
    
Ist der Parameter find_multipaths auf yes gesetzt, brauchen Sie nur die Geräte mit mehreren Pfaden auf die Blacklist setzen, die Sie nicht als Multipath-Geräte haben möchten. Aus diesem Grund ist es normalerweise nicht notwendig, Geräte auf die Blacklist zu setzen.
Falls Sie dennoch Geräte auf die Blacklist setzen müssen, können Sie dies anhand der folgenden Kriterien tun:
Standardmäßig werden eine Vielzahl von Gerätetypen auf die Blacklist gesetzt, auch wenn Sie den Blacklist-Abschnitt der ursprünglichen Konfigurationsdatei auskommentieren. Weitere Informationen finden Sie in Abschnitt 4.2.2, »Blacklisting anhand des Gerätenamens« .

4.2.1. Blacklisting anhand der WWID

Sie können einzelne Geräte durch ihre World-Wide IDentification (WWID) mit einem wwid Eintrag im blacklist Abschnitt der Konfigurationsdatei auf die Blacklist setzen.
Das folgende Beispiel zeigt die Zeilen in der Konfigurationsdatei, die ein Gerät mit einer WWID von 26353900f02796769 auf die Blacklist setzen würde.
blacklist {
       wwid 26353900f02796769
}

4.2.2. Blacklisting anhand des Gerätenamens

Sie können Gerätetypen anhand von Gerätenamen auf die Blacklist setzen, so dass sie nicht in ein Multipath-Gerät gruppiert werden, indem Sie einen devnode Eintrag im blacklist Abschnitt der Konfigurationsdatei hinzufügen.
Das folgende Beispiel zeigt die Zeilen in der Konfigurationsdatei, die alle SCSI-Geräte auf die Blacklist setzen würde, da es alle sd* Geräte abdeckt.
blacklist {
       devnode "^sd[a-z]"
}
Sie können einen devnode Eintrag im blacklist Abschnitt der Konfigurationsdatei verwenden, um einzelne Geräte auf die Blacklist zu setzen, statt alle Geräte eines bestimmten Typs. Dies wird jedoch nicht empfohlen, da es ohne statische Zuweisung durch udev Regeln keine Garantie gibt, dass ein bestimmtes Gerät nach einem Systemneustart denselben Namen erhält. So kann sich ein Gerätename beispielsweise bei einem Neustart von /dev/sda in /dev/sdb ändern.
Standardmäßig sind die folgenden devnode Einträge in die Blacklist kompiliert. Die Geräte, die durch diese Einträge auf die Blacklist gesetzt werden, unterstützen allgemein kein DM-Multipath. Um Multipathing auf einem dieser Geräte zu aktivieren, müssten Sie dieses im Abschnitt blacklist_exceptions der Konfigurationsdatei angeben, wie in Abschnitt 4.2.4, »Blacklist-Ausnahmen« beschrieben.
blacklist {
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^hd[a-z]"
}

4.2.3. Blacklisting anhand des Gerätetyps

Sie können bestimmte Gerätetypen im blacklist Abschnitt der Konfigurationsdatei mit einem device Abschnitt angeben. Im folgenden Beispiel werden alle IBM DS4200 und HP-Geräte auf die Blacklist gesetzt.
blacklist {
       device {
               vendor  "IBM"
               product "3S42"       #DS4200 Product 10
       }
       device {
               vendor  "HP"
               product "*"
       }
}

4.2.4. Blacklist-Ausnahmen

Sie können den blacklist_exceptions Abschnitt der Konfigurationsdatei verwenden, um Multipathing auf Geräten zu aktivieren, die standardmäßig auf der Blacklist stehen.
Wenn Sie beispielsweise eine große Anzahl an Geräten haben und Sie nur eines davon (WWID 3600d0230000000000e13955cc3757803) per Multipath nutzen möchten, dann können Sie, statt alle Geräte einzeln auf die Blacklist zu setzen außer dem Gerät Ihrer Wahl, stattdessen alle Geräte auf die Blacklist setzen und dann nur das Gerät Ihrer Wahl ausschließen, indem Sie die folgenden Zeilen zur /etc/multipath.conf Datei hinzufügen.
blacklist {
        wwid "*"
}

blacklist_exceptions {
        wwid "3600d0230000000000e13955cc3757803"
}
Wenn Sie Geräte im blacklist_exceptions Abschnitt der Konfigurationsdatei angeben, müssen Sie die Ausnahmen ebenso bestimmen, wie sie in der Blacklist angegeben wurden. So wird eine WWID-Ausnahme beispielsweise nicht auf Geräte angewendet, die durch einen devnode Eintrag bestimmt wurden, auch wenn das Gerät auf der Blacklist mit der WWID verknüpft ist. In gleicher Weise treffen devnode Ausnahmen nur auf devnode Einträge zu und device Ausnahmen nur auf Geräte-Einträge.

4.3. Konfigurationsdatei - Standards

Die Konfigurationsdatei /etc/multipath.conf beinhaltet den Abschnitt defaults (Standards), der den Parameter user_friendly_names auf yes setzt, wie nachfolgend aufgeführt.
defaults {
        user_friendly_names yes
}
Dies setzt den standardmäßigen Wert des user_friendly_names Parameters außer Kraft.
Die Konfigurationsdatei beinhaltet eine Vorlage mit den standardmäßigen Konfigurationswerten. Dieser Abschnitt ist auskommentiert, wie nachfolgend aufgeführt.
#defaults {
#       udev_dir                /dev
#       polling_interval        5
#       path_selector           "round-robin 0"
#       path_grouping_policy    failover
#       getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
#	prio			const
#	path_checker		directio
#	rr_min_io		1000
#	rr_weight		uniform
#	failback		manual
#	no_path_retry		fail
#	user_friendly_names	no
#}
Um den Standardwert für einen dieser Konfigurationsparameter außer Kraft zu setzen, können Sie die relevanten Zeilen aus dieser Vorlage in den defaults Abschnitt kopieren und die Kommentierung entfernen. Um beispielsweise den path_grouping_policy Parameter außer Kraft zu setzen, so dass der Wert multibus anstelle des Standardwerts failover verwendet wird, kopieren Sie die entsprechende Zeile aus der Vorlage in den defaults Abschnitt der Konfigurationsdatei und entfernen die Kommentierung wie folgt.
defaults {
        user_friendly_names     yes
        path_grouping_policy    multibus
}
Tabelle 4.1, »Standardeinstellungen für die Multipath-Konfiguration« beschreibt die Parameter, die im defaults Abschnitt der Konfigurationsdatei multipath.conf gesetzt werden. Diese Werte werden von DM-Multipath verwendet, sofern sie nicht von den in den devices und multipaths Abschnitten der multipath.conf Datei angegebenen Parametern außer Kraft gesetzt werden.

Anmerkung

Seit der Red Hat Enterprise Linux 6.0 Release sind die mode, uid und gid Parameter veraltet. Berechtigungen für Device-Mapper-Geräte (einschließlich Mulitpath Mappings) werden durch udev Regeln festgelegt. Es gibt eine Vorlage-Datei in /usr/share/doc/device-mapper-version mit dem Namen 12-dm-permissions.rules, die Sie verwenden und im /etc/udev/rules.d Verzeichnis ablegen können, damit sie wirksam wird.

Tabelle 4.1. Standardeinstellungen für die Multipath-Konfiguration

Parameter Beschreibung
polling_interval Definiert das Intervall in Sekunden zwischen zwei Pfadüberprüfungen. Für ordnungsgemäß funktionierende Pfade erhöht sich das Intervall schrittweise auf (4 * polling_interval). Der Standardwert ist 5.
udev_dir Definiert das Verzeichnis, in dem udev Geräteknoten erstellt werden. Der Standardwert ist /dev.
multipath_dir Das Verzeichnis, in dem die dynamisch gemeinsam genutzten Objekte abgelegt werden. Der Standardwert hängt vom System ab und ist üblicherweise /lib/multipath.
find_multipaths
Definiert den Modus für das Einrichten von Multipath-Geräten. Falls dieser Parameter auf yes gesetzt wird, dann versucht Multipath nicht, ein Gerät für jeden Pfad auf der Blacklist zu erstellen. Stattdessen erstellt Multipath ein Gerät nur dann, wenn eine der drei Bedingungen erfüllt sind:
- Es existieren mindestens zwei Pfade mit derselben WWID, die nicht auf der Blacklist sind.
- Der Benutzer erzwingt das Erstellen des Geräts manuell, indem er ein Gerät mit dem multipath Befehl angibt.
- Ein Pfad besitzt dieselbe WWID, wie ein Multipath-Gerät, das zuvor erstellt wurde. Jedes Mal, wenn ein Multipath-Gerät mit find_multipaths gesetzt erstellt wird, merkt sich Multipath die WWID des Geräts, so dass das Gerät automatisch wieder erstellt wird, sobald Multipath einen Pfad mit dieser WWID entdeckt. Auf diese Weise kann Multipath automatisch den korrekten Pfad für Multipath-Geräte auswählen, ohne dass die Multipath-Blacklist bearbeitet werden muss. Für Anleitungen zum Verfahren, falls Sie bereits zuvor Multipath-Geräte erstellt haben, als der find_multipaths Parameter noch nicht gesetzt war, werfen Sie einen Blick auf Abschnitt 4.2, »Konfigurationsdatei - Blacklist«.
Der Standardwert ist no.
verbosity Die standardmäßige Ausführlichkeit. Höhere Werte führen zu einer ausführlicheren Ausgabe. Gültige Stufen sind 0 bis 6. Der Standardwert ist 2.
path_selector
Gibt den standardmäßigen Algorithmus an, mit dem bestimmt wird, welcher Pfad für die nächste I/O-Operation verwendet werden soll. Mögliche Werte sind:
round-robin 0: Durchläuft jeden Pfad in der Pfadgruppe und sendet an jeden dieselbe Menge I/O.
queue-length 0: Sendet die nächste I/O an denjenigen Pfad mit der geringsten Anzahl an ausstehenden I/O-Anfragen.
service-time 0: Sendet die nächste I/O an denjenigen Pfad mit der kürzesten geschätzten Bearbeitungszeit, welche sich durch die Gesamtgröße der ausstehenden I/O für jeden Pfad im Verhältnis zu dessen Datendurchsatz ergibt.
Der Standardwert ist round-robin 0.
path_grouping_policy
Definiert die Standardrichtlinie zur Pfadgruppierung, die auf nicht angegebene Multipaths angewendet werden soll. Mögliche Werte sind:
failover: 1 Pfad pro Prioritätsgruppe.
multibus: Alle gültigen Pfade in 1 Prioritätsgruppe.
group_by_serial: 1 Prioritätsgruppe pro ermittelter Seriennummer.
group_by_prio: Eine Prioritätsgruppe pro Pfadprioritätswert. Prioritäten werden durch Callout-Programme ermittelt, die als globale Optionen, Optionen pro Controller oder pro Multipath definiert werden.
group_by_node_name: Eine Prioritätsgruppe pro Zielknotenname. Zielknotennamen werden in /sys/class/fc_transport/target*/node_name abgerufen.
Der Standardwert ist failover.
getuid_callout
Gibt das Standardprogramm und die Standardparameter an, die aufgerufen werden, um eine eindeutige Pfadkennung zu erhalten. Ein absoluter Pfad ist erforderlich.
Der Standardwert lautet /lib/udev/scsi_id --whitelisted --device=/dev/%n.
prio
Definiert die Standardfunktion, die aufgerufen wird, um einen Prioritätswert für den Pfad zu erhalten. So liefern die ALUA-Bits in SPC-3 beispielsweise einen verwertbaren prio Wert. Mögliche Werte sind:
const: Setzt die Priorität 1 für alle Pfade.
emc: Generiert die Pfadpriorität für EMC-Arrays.
alua: Generiert die Pfadpriorität basierend auf den SCSI-3 ALUA-Einstellungen.
tpg_pref: Generiert die Pfadpriorität basierend auf den SCSI-3 ALUA-Einstellungen unter Verwendung des bevorzugten Port-Bits.
ontap: Generiert die Pfadpriorität für NetApp-Arrays.
rdac: Generiert die Pfadpriorität für LSI/Engenio RDAC-Controller.
hp_sw: Generiert die Pfadpriorität für Compaq/HP-Controller in Active-/Standby-Modus.
hds: Generiert die Pfadpriorität für Hitachi HDS Modular Storage Arrays.
Der Standardwert ist const.
features Die standardmäßigen Zusatzfunktionen von Multipath-Geräten. Die einzige existierende Funktion ist queue_if_no_path, was einem Setzen von no_path_retry auf queue entspricht. Für Informationen zu Problemen, die im Zusammenhang mit dieser Funktion entstehen können, werfen Sie einen Blick auf Abschnitt 5.6, »Probleme mit dem queue_if_no_path-Feature«.
path_checker
Definiert die Standardmethode zur Ermittlung des Status des Pfades. Mögliche Werte sind:
readsector0: Liest den ersten Sektor des Geräts.
tur: Sendet einen TEST UNIT READY an das Gerät.
emc_clariion: Fragt die EMC Clariion spezifische EVPD-Seite 0xC0 ab, um den Pfad zu ermitteln.
hp_sw: Prüft den Pfadstatus für HP Storage Arrays mit Active/Standby Firmware.
rdac: Prüft den Pfadstatus für den LSI/Engenio RDAC Speicher-Controller.
directio: Liest den ersten Sektor mit direkter I/O.
Der Standardwert ist directio.
failback
Verwaltet das Failback für eine Pfadgruppe.
Ein Wert von immediate gibt an, dass das System sofort zu einer Pfadgruppe mit der höchsten Priorität wechselt (Failback), welche aktive Pfade enthält.
Ein Wert von manual definiert, dass kein sofortiges Failback durchgeführt wird, sondern dass Failback nur mit Eingriff des Systemverwalters passieren kann.
Ein Wert von followover definiert, dass ein automatisches Failback durchgeführt werden soll, wenn der erste Pfad einer Pfadgruppe aktiv wird. Auf diese Weise wird verhindert, dass ein Knoten automatisch zurückwechselt, wenn ein anderer Knoten den Failover initiiert hat.
Ein numerischer Wert größer als Null definiert ein verzögertes Failback, ausgedrückt in Sekunden.
Der Standardwert ist manual.
rr_min_io Gibt die Anzahl der I/O-Anfragen an, die auf einem Pfad gesendet werden, bevor zum nächsten Pfad in der aktuellen Pfadgruppe gewechselt wird. Diese Einstellung ist nur für Systeme mit Kerneln älter als 2.6.31 zu verwenden. Neuere Systeme sollten rr_min_io_rq verwenden. Der Standardwert ist 1000.
rr_min_io_rq Gibt die Anzahl der I/O-Anfragen an, die auf einem Pfad gesendet werden, bevor zum nächsten Pfad in der aktuellen Pfadgruppe gewechselt wird, unter Verwendung eines anfragebasierten Device-Mapper-Multipath. Diese Einstellung sollte auf Systemen mit aktuellen Kerneln verwendet werden. Verwenden Sie auf Systemen mit Kerneln älter als 2.6.31 rr_min_io. Der Standardwert ist 1.
rr_weight Falls auf priorities gesetzt, werden nicht rr_min_io Anfragen an einen Pfad geschickt, bevor path_selector aufgerufen wird, um den nächsten Pfad zu wählen. Stattdessen wird die Anzahl der Anfragen, die versendet werden sollen, bestimmt durch rr_min_io multipliziert mit der Priorität des Pfads, welche durch die Funktion prio festgelegt ist. Falls auf uniform gesetzt, werden alle Pfade gleich gewichtet. Der Standardwert ist uniform.
no_path_retry
Ein numerischer Wert für diesen Parameter definiert die Häufigkeit, wie oft das System versuchen soll, einen fehlerhaften Pfad zu verwenden, bevor die Warteschlange deaktiviert wird.
Ein Wert von fail weist auf unmittelbaren Ausfall hin, ohne Warteschlange.
Ein Wert von queue zeigt an, dass die Warteschlange weiter verwendet wird, bis der Pfad korrigiert wurde.
Der Standardwert ist 0.
user_friendly_names Die Einstellung auf yes gibt an, dass das System eine Bindings-Datei /etc/multipath/bindings verwenden sollte, um einen dauerhaften und eindeutigen Alias zum Multipath in der Form mpathn zuzuweisen. Die Einstellung auf no gibt an, dass das System die WWID als Alias für den Multipath verwenden sollte. In jedem Fall werden an dieser Stelle definierte Werte durch jegliche gerätespezifischen Aliasse, die Sie im Abschnitt multipaths der Konfigurationsdatei definiert haben, außer Kraft gesetzt. Der Standardwert ist no.
queue_without_daemon Falls auf no gesetzt, deaktiviert der multipathd Daemon die Warteschlange für alle Geräte, wenn er beendet wird. Der Standardwert ist no.
flush_on_last_del Falls auf yes gesetzt, deaktiviert der multipathd Daemon die Warteschlange für alle Geräte, wenn der letzte Pfad zu einem Gerät gelöscht wurde. Der Standardwert ist no.
max_fds Legt die maximale Anzahl der geöffneten Dateideskriptoren fest, die durch Multipath und den multipathd Daemon geöffnet werden können. Dies entspricht dem ulimit-n. Ab der Red Hat Enterprise Linux 6.3 Release ist der Standardwert max, wodurch das Systemlimit aus /proc/sys/fs/nr_open greift. Ist dies nicht festgelegt, wird in früheren Versionen die maximale Anzahl der Deskriptoren für offene Dateien aus dem aufrufenden Prozess genommen, dies ist in der Regel 1024. Um sicher zu gehen, sollte dies auf die maximale Anzahl von Pfaden plus 32 eingestellt werden, wenn diese Zahl größer als 1024 ist.
checker_timeout Der Timeout in Sekunden, der für Pfadprüfungen verwendet werden soll, die SCSI-Befehle mit einem expliziten Timeout ausgeben. Der Standardwert wird aus sys/block/sdx/device/timeout entnommen.
fast_io_fail_tmo Die Anzahl der Sekunden, welche die SCSI-Schicht wartet, nachdem ein Problem auf einem FC Remote-Port erkannt wurde, bevor I/O zu Geräten auf diesem entfernten Port abgeschaltet wird. Dieser Wert sollte kleiner sein als der Wert von dev_loss_tmo. Die Einstellung von off deaktiviert den Timeout. Der Standardwert wird durch das Betriebssystem bestimmt.
dev_loss_tmo Die Anzahl der Sekunden, welche die SCSI-Schicht wartet, nachdem ein Problem auf einem FC Remote-Port erkannt wurde, bevor dieser Port vom System entfernt wird. Eine Einstellung von unendlich legt dies auf 2147483647 Sekunden, oder 68 Jahre, fest. Der Standardwert wird durch das Betriebssystem bestimmt.
hwtable_regex_match
(Red Hat Enterprise Linux Release 6.3 und höher) Steuert, wie Multipath die Gerätekonfigurationen aus dem devices Abschnitt der Konfigurationsdatei in die integrierten Gerätekonfigurationen miteinbezieht.
Jede Gerätekonfiguration im devices Abschnitt der multipath.conf Datei wird entweder seine eigene Gerätekonfiguration erstellen oder sie wird eine der integrierten Gerätekonfigurationen ändern. Vor Red Hat Enterprise Linux 6.3 wurde, wenn die Anbieter-, Produkt- und Revision-Strings in der Gerätekonfiguration eines Benutzers genau mit den Strings in der integrierten Gerätekonfiguration übereinstimmten, die integrierte Konfiguration durch die Optionen in der Benutzerkonfiguration geändert. Andernfalls wurde die Gerätekonfiguration des Benutzers als neue Konfiguration behandelt.
Wenn hwtable_regex_match auf yes gesetzt ist, wird stattdessen eine reguläre Ausdrucks-Übereinstimmung verwendet. Die Anbieter-, Produkt- und Revision-Strings sind alles reguläre Ausdrücke. Die Werte der Benutzer-Gerätekonfiguration für diese Optionen werden mit den Werten der integrierten Gerätekonfiguration verglichen. Dieser Vergleich funktioniert auf die gleiche Art und Weise, wie die Anbieter-, Produkt- und Revision-Strings eines tatsächlichen Geräts mit den Gerätekonfigurations-Strings verglichen werden, um zu sehen, welche Konfiguration für das Gerät verwendet werden soll. Wenn die Gerätekonfiguration des Benutzers übereinstimmt, dann wird die integrierte Konfiguration durch die Optionen in der Benutzerkonfiguration geändert. Andernfalls wird die Gerätekonfiguration des Benutzers als neue Konfiguration behandelt.
retain_attached_hw_handler (Red Hat Enterprise Linux Release 6.4 und höher) Wenn dieser Parameter auf yes eingestellt ist und die SCSI-Schicht bereits einen Hardware-Handler mit dem Pfad-Gerät verknüpft hat, so wird Multipath das Gerät nicht zwingen, den hardware_handler zu verwenden, der in der mutipath.conf Datei angegeben ist. Wenn die SCSI-Schicht keinen Hardware-Handler zugewiesen hat, wird Multipath weiterhin wie gewohnt seine konfigurierten Hardware-Handler nutzen. Der Standardwert ist no.
detect_prio (Red Hat Enterprise Linux Release 6.4 und höher) Wenn dieses auf yes eingestellt ist, wird Multipath zuerst prüfen, ob das Gerät ALUA unterstützt, und wenn ja, wird es dem Gerät automatisch den alua Priorisierer zuweisen. Wenn das Gerät ALUA nicht unterstützt, wird der Priorisierer wie üblich bestimmt. Der Standardwert ist no.
replace_wwid_whitespace (Red Hat Enterprise Linux Release 6.5 und höher) Falls dies auf yes gesetzt ist, wird in den standardmäßigen getuid_callout für alle Geräte, die diesen Parameter verwenden, --replace-whitespace eingefügt.
reload_readwrite (Red Hat Enterprise Linux Release 6.5 und höher) Falls dies auf yes eingestellt ist, horcht der multipathd Daemon auf Ereignisse, die eine Änderung der Pfadgeräte anzeigen, und wenn ein Gerät les- und schreibbar wird, so wird das Multipath-Gerät neu geladen.

4.4. Multipaths Parameter zur Gerätekonfiguration

Tabelle 4.2, »Multipath-Parameter« zeigt die Parameter, die Sie im multipaths Abschnitt der multipath.conf Konfigurationsdatei für jedes einzelne Multipath-Gerät setzen können. Diese Parameter treffen nur auf das angegebene Multipath-Gerät zu. Die Standardwerte werden von DM-Multipath verwendet und setzen Parameter außer Kraft, die in den defaults und devices Abschnitten der multipath.conf Datei gesetzt werden.

Tabelle 4.2. Multipath-Parameter

Parameter Beschreibung
wwid Gibt die WWID des Multipath-Geräts an, auf das die multipath Parameter zutreffen. Dieser Parameter ist zwingend erforderlich für diesen Abschnitt der multipath.conf Datei.
alias Definiert den symbolischen Namen für das Multipath-Gerät, auf das die multipath Parameter zutreffen. Falls Sie user_friendly_names verwenden, setzen Sie diesen Wert nicht auf mpathn. Dies würde ggf. mit einem automatisch zugewiesenen benutzerfreundlichen Namen kollidieren und Ihnen falsche Geräteknoten-Namen ausgeben.
path_grouping_policy
Definiert die Standardrichtlinie zur Pfadgruppierung, die auf nicht angegebene Multipaths angewendet werden soll. Mögliche Werte sind:
failover = 1 Pfad pro Prioritätsgruppe
multibus = Alle gültigen Pfade in 1 Prioritätsgruppe
group_by_serial = 1 Prioritätsgruppe pro erkannter Seriennummer
group_by_prio = 1 Prioritätsgruppe pro Pfad Prioritätswert
group_by_node_name = 1 Prioritätsgruppe pro Zielknotenname
path_selector
Gibt den standardmäßigen Algorithmus an, mit dem bestimmt wird, welcher Pfad für die nächste I/O-Operation verwendet werden soll. Mögliche Werte sind:
round-robin 0: Durchläuft jeden Pfad in der Pfadgruppe und sendet an jeden dieselbe Menge I/O.
queue-length 0: Sendet die nächste I/O an denjenigen Pfad mit der geringsten Anzahl an ausstehenden I/O-Anfragen.
service-time 0: Sendet die nächste I/O an denjenigen Pfad mit der kürzesten geschätzten Bearbeitungszeit, welche sich durch die Gesamtgröße der ausstehenden I/O für jeden Pfad im Verhältnis zu dessen Datendurchsatz ergibt.
failback
Verwaltet das Failback für eine Pfadgruppe.
Ein Wert von immediate gibt an, dass das System sofort zu einer Pfadgruppe mit der höchsten Priorität wechselt (Failback), welche aktive Pfade enthält.
Ein Wert von manual definiert, dass kein sofortiges Failback durchgeführt wird, sondern dass Failback nur mit Eingriff des Systemverwalters passieren kann.
Ein Wert von followover definiert, dass ein automatisches Failback durchgeführt werden soll, wenn der erste Pfad einer Pfadgruppe aktiv wird. Auf diese Weise wird verhindert, dass ein Knoten automatisch zurückwechselt, wenn ein anderer Knoten den Failover initiiert hat.
Ein numerischer Wert größer als Null definiert ein verzögertes Failback, ausgedrückt in Sekunden.
prio
Definiert die Standardfunktion, die aufgerufen wird, um einen Prioritätswert für den Pfad zu erhalten. So liefern die ALUA-Bits in SPC-3 beispielsweise einen verwertbaren prio Wert. Mögliche Werte sind:
const: Setzt die Priorität 1 für alle Pfade.
emc: Generiert die Pfadpriorität für EMC-Arrays.
alua: Generiert die Pfadpriorität basierend auf den SCSI-3 ALUA-Einstellungen.
tpg_pref: Generiert die Pfadpriorität basierend auf den SCSI-3 ALUA-Einstellungen unter Verwendung des bevorzugten Port-Bits.
ontap: Generiert die Pfadpriorität für NetApp-Arrays.
rdac: Generiert die Pfadpriorität für LSI/Engenio RDAC-Controller.
hp_sw: Generiert die Pfadpriorität für Compaq/HP-Controller in Active-/Standby-Modus.
hds: Generiert die Pfadpriorität für Hitachi HDS Modular Storage Arrays.
no_path_retry
Ein numerischer Wert für diesen Parameter definiert die Häufigkeit, wie oft das System versuchen soll, einen fehlerhaften Pfad zu verwenden, bevor die Warteschlange deaktiviert wird.
Ein Wert von fail weist auf unmittelbaren Ausfall hin, ohne Warteschlange.
Ein Wert von queue zeigt an, dass die Warteschlange weiter verwendet wird, bis der Pfad korrigiert wurde.
rr_min_io Gibt die Anzahl der I/O-Anfragen, die auf einem Pfad gesendet werden, bevor zum nächsten Pfad in der aktuellen Pfadgruppe gewechselt wird. Diese Einstellung ist nur für Systeme mit Kerneln älter als 2.6.31 zu verwenden. Neuere Systeme sollten rr_min_io_rq verwenden. Der Standardwert ist 1000.
rr_min_io_rq Gibt die Anzahl der I/O-Anfragen an, die auf einem Pfad gesendet werden, bevor zum nächsten Pfad in der aktuellen Pfadgruppe gewechselt wird, unter Verwendung eines anfragebasierten Device-Mapper-Multipath. Diese Einstellung sollte auf Systemen mit aktuellen Kerneln verwendet werden. Verwenden Sie auf Systemen mit Kerneln älter als 2.6.31 rr_min_io. Der Standardwert ist 1.
rr_weight Falls auf priorities gesetzt, werden nicht rr_min_io Anfragen an einen Pfad geschickt, bevor path_selector aufgerufen wird, um den nächsten Pfad zu wählen. Stattdessen wird die Anzahl der Anfragen, die versendet werden sollen, bestimmt durch rr_min_io multipliziert mit der Priorität des Pfads, welche durch die Funktion prio festgelegt ist. Falls auf uniform gesetzt, werden alle Pfade gleich gewichtet.
flush_on_last_del Falls auf yes gesetzt, deaktiviert Multipath die Warteschlange, wenn der letzte Pfad zu einem Gerät gelöscht wurde.
user_friendly_names Die Einstellung auf yes gibt an, dass das System eine Bindings-Datei /etc/multipath/bindings verwenden sollte, um einen dauerhaften und eindeutigen Alias zum Multipath in der Form mpathn zuzuweisen. Die Einstellung auf no gibt an, dass das System die WWID als Alias für den Multipath verwenden sollte. In jedem Fall werden an dieser Stelle definierte Werte durch jegliche gerätespezifischen Aliasse, die Sie im Abschnitt multipaths der Konfigurationsdatei definiert haben, außer Kraft gesetzt.
Das folgende Beispiel zeigt Multipath-Parameter, die in der Konfigurationsdatei für zwei bestimmte Multipath-Geräte angegeben wurden. Das erste Gerät besitzt eine WWID von 3600508b4000156d70001200000b0000 und den symbolischen Namen yellow.
Das zweite Multipath-Gerät in dem Beispiel besitzt eine WWID mit dem Wert 1DEC_____321816758474 und den symbolischen Namen red. In diesem Beispiel werden die rr_weight Parameter auf priorities gesetzt.
multipaths {
       multipath {
              wwid                  3600508b4000156d70001200000b0000
              alias                 yellow
              path_grouping_policy  multibus
              path_selector         "round-robin 0"
              failback              manual
              rr_weight             priorities
              no_path_retry         5
       }
       multipath {
              wwid                  1DEC_____321816758474
              alias                 red
              rr_weight             priorities
        }
}

4.5. Konfigurationsdatei - Geräte

Tabelle 4.3, »Geräteparameter« zeigt die Parameter, die Sie für jedes einzelne Speichergerät im Abschnitt devices (Geräte) der multipath.conf Konfigurationsdatei setzen können. Diese Parameter werden von DM-Multipath verwendet, sofern sie nicht von den im multipaths Abschnitt der multipath.conf Datei angegebenen Parametern für Pfade, die das Gerät beinhalten, außer Kraft gesetzt werden. Diese Parameter setzen die im defaults Abschnitt der multipath.conf Datei gesetzten Parameter außer Kraft.
Viele Geräte, die Multipathing unterstützen, sind standardmäßig in einer Multipath-Konfiguration enthalten. Die Werte für die Geräte, die standardmäßig unterstützt werden, sind in der multipath.conf.defaults Datei aufgelistet. Sie müssen die Werte für diese Geräte möglicherweise nicht modifizieren. Falls doch, können Sie die Standardwerte außer Kraft setzen, indem Sie einen Eintrag für das Gerät in der Konfigurationsdatei einfügen, der diese Werte ändert. Sie können die Standardwerte der Gerätekonfiguration aus der multipath.conf.defaults Datei für das jeweilige Gerät kopieren und die Werte außer Kraft setzen, die Sie ändern möchten.
Um ein Gerät, das nicht automatisch standardmäßig konfiguriert ist, zu diesem Abschnitt der Konfigurationsdatei hinzuzufügen, müssen Sie die vendor und product Parameter setzen. Sie finden diese Werte, indem Sie unter /sys/block/device_name/device/vendor und /sys/block/device_name/device/model nachsehen, wobei device_name das Gerät ist, das mit mehreren Pfaden versehen wird, wie in dem nachfolgenden Beispiel:
# cat /sys/block/sda/device/vendor
WINSYS  
# cat /sys/block/sda/device/model
SF2372
Die zusätzlichen Parameter, die angegeben werden müssen, hängen von Ihrem speziellen Gerät ab. Falls das Gerät aktiv/aktiv ist, müssen Sie für gewöhnlich keine zusätzlichen Parameter setzen. Sie können path_grouping_policy ggf. auf multibus setzen. Weitere Parameter, die Sie ggf. setzen müssen, sind no_path_retry und rr_min_io, wie in Tabelle 4.3, »Geräteparameter« beschrieben.
Falls das Gerät aktiv/passiv ist, es jedoch Pfade mit I/O automatisch zum passiven Pfad wechselt, müssen Sie die Funktion zur Pfadprüfung auf eine Variante setzen, die I/O nicht zum Pfad schickt, um es auf Funktionstüchtigkeit zu testen (andernfalls befindet sich das Gerät kontinuierlich im Failover). Dies hat fast unweigerlich zur Folge, dass Sie den path_checker auf tur setzen müssen. Dies funktioniert für alle SCSI-Geräte, die den Befehl "Test Unit Ready" unterstützen, was bei den meisten der Fall ist.

Tabelle 4.3. Geräteparameter

Parameter Beschreibung
vendor Gibt den Herstellernamen des Speichergeräts an, auf das die device Parameter zutreffen, z.B. COMPAQ.
product Gibt den Produktnamen des Speichergeräts an, auf das die device Parameter zutreffen, z.B. HSV110 (C)COMPAQ.
revision Definiert den Produktrevisions-Identifier des Speichergeräts.
product_blacklist Definiert einen regulären Ausdruck, um Geräte anhand des Produkts auf die Blacklist zu setzen.
hardware_handler
Definiert ein Modul, das verwendet wird, um beim Wechsel von Pfadgruppen oder der Handhabung von I/O-Fehlern hardwarespezifische Aktionen durchzuführen. Mögliche Werte sind:
1 emc: Hardware-Handler für EMC Storage Arrays.
1 alua: Hardware-Handler für SCSI-3 ALUA Arrays.
1 hp_sw: Hardware-Handler für Compaq/HP Controller.
1 rdac: Hardware-Handler für die LSI/Engenio RDAC Controller.
path_grouping_policy
Definiert die Standardrichtlinie zur Pfadgruppierung, die auf nicht angegebene Multipaths angewendet werden soll. Mögliche Werte sind:
failover = 1 Pfad pro Prioritätsgruppe
multibus = Alle gültigen Pfade in 1 Prioritätsgruppe
group_by_serial = 1 Prioritätsgruppe pro erkannter Seriennummer
group_by_prio = 1 Prioritätsgruppe pro Pfad Prioritätswert
group_by_node_name = 1 Prioritätsgruppe pro Zielknotenname
getuid_callout Gibt das Standardprogramm und die Standardparameter an, die aufgerufen werden, um eine eindeutige Pfadkennung zu erhalten. Ein absoluter Pfad ist erforderlich.
path_selector
Gibt den standardmäßigen Algorithmus an, mit dem bestimmt wird, welcher Pfad für die nächste I/O-Operation verwendet werden soll. Mögliche Werte sind:
round-robin 0: Durchläuft jeden Pfad in der Pfadgruppe und sendet an jeden dieselbe Menge I/O.
queue-length 0: Sendet die nächste I/O an denjenigen Pfad mit der geringsten Anzahl an ausstehenden I/O-Anfragen.
service-time 0: Sendet die nächste I/O an denjenigen Pfad mit der kürzesten geschätzten Bearbeitungszeit, welche sich durch die Gesamtgröße der ausstehenden I/O für jeden Pfad im Verhältnis zu dessen Datendurchsatz ergibt.
path_checker
Definiert die Standardmethode zur Ermittlung des Status des Pfades. Mögliche Werte sind:
readsector0: Liest den ersten Sektor des Geräts.
tur: Sendet einen TEST UNIT READY an das Gerät.
emc_clariion: Fragt die EMC Clariion spezifische EVPD-Seite 0xC0 ab, um den Pfad zu ermitteln.
hp_sw: Prüft den Pfadstatus für HP Storage Arrays mit Active/Standby Firmware.
rdac: Prüft den Pfadstatus für den LSI/Engenio RDAC Speicher-Controller.
directio: Liest den ersten Sektor mit direkter I/O.
features Die Zusatzfunktionen von Multipath-Geräten. Die einzige existierende Funktion ist queue_if_no_path, was einem Setzen von no_path_retry auf queue entspricht. Für Informationen zu Problemen, die beim Gebrauch dieser Funktion ggf. auftreten, werfen Sie einen Blick auf Abschnitt 5.6, »Probleme mit dem queue_if_no_path-Feature«.
prio
Definiert die Standardfunktion, die aufgerufen wird, um einen Prioritätswert für den Pfad zu erhalten. So liefern die ALUA-Bits in SPC-3 beispielsweise einen verwertbaren prio Wert. Mögliche Werte sind:
const: Setzt die Priorität 1 für alle Pfade.
emc: Generiert die Pfadpriorität für EMC-Arrays.
alua: Generiert die Pfadpriorität basierend auf den SCSI-3 ALUA-Einstellungen.
tpg_pref: Generiert die Pfadpriorität basierend auf den SCSI-3 ALUA-Einstellungen unter Verwendung des bevorzugten Port-Bits.
ontap: Generiert die Pfadpriorität für NetApp-Arrays.
rdac: Generiert die Pfadpriorität für LSI/Engenio RDAC-Controller.
hp_sw: Generiert die Pfadpriorität für Compaq/HP-Controller in Active-/Standby-Modus.
hds: Generiert die Pfadpriorität für Hitachi HDS Modular Storage Arrays.
failback
Verwaltet das Failback für eine Pfadgruppe.
Ein Wert von immediate gibt an, dass das System sofort zu einer Pfadgruppe mit der höchsten Priorität wechselt (Failback), welche aktive Pfade enthält.
Ein Wert von manual definiert, dass kein sofortiges Failback durchgeführt wird, sondern dass Failback nur mit Eingriff des Systemverwalters passieren kann.
Ein Wert von followover definiert, dass ein automatisches Failback durchgeführt werden soll, wenn der erste Pfad einer Pfadgruppe aktiv wird. Auf diese Weise wird verhindert, dass ein Knoten automatisch zurückwechselt, wenn ein anderer Knoten den Failover initiiert hat.
Ein numerischer Wert größer als Null definiert ein verzögertes Failback, ausgedrückt in Sekunden.
rr_weight Falls auf priorities gesetzt, werden nicht rr_min_io Anfragen an einen Pfad geschickt, bevor path_selector aufgerufen wird, um den nächsten Pfad zu wählen. Stattdessen wird die Anzahl der Anfragen, die versendet werden sollen, bestimmt durch rr_min_io multipliziert mit der Priorität des Pfads, welche durch die Funktion prio festgelegt ist. Falls auf uniform gesetzt, werden alle Pfade gleich gewichtet.
no_path_retry
Ein numerischer Wert für diesen Parameter definiert die Häufigkeit, wie oft das System versuchen soll, einen fehlerhaften Pfad zu verwenden, bevor die Warteschlange deaktiviert wird.
Ein Wert von fail weist auf unmittelbaren Ausfall hin, ohne Warteschlange.
Ein Wert von queue zeigt an, dass die Warteschlange weiter verwendet wird, bis der Pfad korrigiert wurde.
rr_min_io Gibt die Anzahl der I/O-Anfragen, die auf einem Pfad gesendet werden, bevor zum nächsten Pfad in der aktuellen Pfadgruppe gewechselt wird. Diese Einstellung ist nur für Systeme mit Kerneln älter als 2.6.31 zu verwenden. Neuere Systeme sollten rr_min_io_rq verwenden. Der Standardwert ist 1000.
rr_min_io_rq Gibt die Anzahl der I/O-Anfragen an, die auf einem Pfad gesendet werden, bevor zum nächsten Pfad in der aktuellen Pfadgruppe gewechselt wird, unter Verwendung eines anfragebasierten Device-Mapper-Multipath. Diese Einstellung sollte auf Systemen mit aktuellen Kerneln verwendet werden. Verwenden Sie auf Systemen mit Kerneln älter als 2.6.31 rr_min_io. Der Standardwert ist 1.
fast_io_fail_tmo Die Anzahl der Sekunden, welche die SCSI-Schicht wartet, nachdem ein Problem auf einem FC Remote-Port erkannt wurde, bevor I/O zu Geräten auf diesem entfernten Port abgeschaltet wird. Dieser Wert sollte kleiner sein als der Wert von dev_loss_tmo. Die Einstellung von off deaktiviert den Timeout.
dev_loss_tmo Die Anzahl der Sekunden, welche die SCSI-Schicht wartet, nachdem ein Problem auf einem FC Remote-Port erkannt wurde, bevor dieser Port von System entfernt wird. Eine Einstellung von unendlich legt dies auf 2147483647 Sekunden, oder 68 Jahre, fest.
flush_on_last_del Falls auf yes gesetzt, deaktiviert der multipathd Daemon die Warteschlange für alle Geräte, wenn der letzte Pfad zu einem Gerät gelöscht wurde.
user_friendly_names Die Einstellung auf yes gibt an, dass das System eine Bindings-Datei /etc/multipath/bindings verwenden sollte, um einen dauerhaften und eindeutigen Alias zum Multipath in der Form mpathn zuzuweisen. Die Einstellung auf no gibt an, dass das System die WWID als Alias für den Multipath verwenden sollte. In jedem Fall werden an dieser Stelle definierte Werte durch jegliche gerätespezifischen Aliasse, die Sie im Abschnitt multipaths der Konfigurationsdatei definiert haben, außer Kraft gesetzt. Der Standardwert ist no.
retain_attached_hw_handler (Red Hat Enterprise Linux Release 6.4 und höher) Wenn dieser Parameter auf yes eingestellt ist und die SCSI-Schicht bereits einen Hardware-Handler mit dem Pfad-Gerät verknüpft hat, so wird Multipath das Gerät nicht zwingen, den hardware_handler zu verwenden, der in der mutipath.conf Datei angegeben ist. Wenn die SCSI-Schicht keinen Hardware-Handler zugewiesen hat, wird Multipath weiterhin wie gewohnt seine konfigurierten Hardware-Handler nutzen.
detect_prio (Red Hat Enterprise Linux Release 6.4 und höher) Wenn dieses auf yes eingestellt ist, wird Multipath zuerst prüfen, ob das Gerät ALUA unterstützt, und wenn ja, wird es dem Gerät automatisch den alua Priorisierer zuweisen. Wenn das Gerät ALUA nicht unterstützt, wird der Priorisierer wie üblich bestimmt.
Das folgende Beispiel zeigt einen device Eintrag in der Multipath-Konfigurationsdatei.
#	}
#	device {
#		vendor			"COMPAQ  "
#		product			"MSA1000         "
#		path_grouping_policy	multibus
#		path_checker		tur
#		rr_weight		priorities
#	}
#}

Kapitel 5. DM-Multipath Verwaltung und Fehlersuche

Dieses Kapitel liefert Informationen zur Verwaltung von DM-Multipath auf einem laufenden System. Es umfasst Abschnitte zu den folgenden Themen:
  • Größenänderung eines Online-Multipath-Geräts
  • Verlegen des Root-Geräts von einem Single-Path-Gerät auf ein Multipath-Gerät
  • Verlegen des Swap-Geräts von einem Single-Path-Gerät auf ein Multipath-Gerät
  • Der Multipath-Daemon
  • Probleme mit einer großen Anzahl von LUNs
  • Probleme mit dem queue_if_no_path-Feature
  • Ausgabe des multipath Befehls
  • Multipath-Abfragen mit dem multipath Befehl
  • Optionen des multipath Befehls
  • Multipath-Abfragen mit dem dmsetup Befehl
  • Suche und Bereinigung von Fehlern mit der interaktiven multipathd Konsole

5.1. Größenänderung eines Online-Multipath-Geräts

Falls Sie die Größe eines Online-Multipath-Geräts ändern müssen, führen Sie die folgenden Schritte aus.
  1. Ändern Sie die Größe Ihres physischen Geräts.
  2. Verwenden Sie den folgenden Befehl, um die Pfade zu den LUNs zu ermitteln:
    # multipath -l
  3. Ändern Sie die Größe Ihrer Pfade. Bei SCSI-Geräten führt das Schreiben einer 1 in die rescan Datei für das Gerät dazu, dass der SCSI-Treiber erneut scannt, wie im folgenden Befehl dargestellt:
    # echo 1 > /sys/block/device_name/device/rescan 
  4. Verändern Sie die Größe Ihres Multipath-Geräts, indem Sie den multipathd-Befehl zur Veränderung der Größe ausführen:
    # multipathd -k'resize map mpatha'
  5. Ändern Sie die Größe des Dateisystems (vorausgesetzt, es werden keine LVM- oder DOS-Partitionen verwendet):
    # resize2fs /dev/mapper/mpatha

5.2. Verlegen des Root-Geräts von einem Single-Path-Gerät auf ein Multipath-Gerät

Falls Sie Ihr System auf einem Single-Path-Gerät installiert haben und später einen weiteren Pfad zum Root-Dateisystem hinzufügen, müssen Sie Ihr Root-Dateisystem auf ein Multipath-Gerät verlegen. Dieser Abschnitt dokumentiert das Verfahren zum Wechsel von einem Single-Path-Gerät auf ein Multipath-Gerät.
Stellen Sie zunächst sicher, dass Sie das device-mapper-multipath Paket installiert haben, und führen Sie anschließend die folgenden Schritte durch:
  1. Führen Sie den folgenden Befehl aus, um die /etc/multipath.conf Konfigurationsdatei zu erstellen, das Multipath-Modul zu laden und chkconfig für multipathd auf on zu setzen:
    # mpathconf --enable
    Für weitere Informationen zur Verwendung des mpathconf Befehls zum Einrichten von Multipath werfen Sie einen Blick auf Abschnitt 3.1, »Einrichten von DM-Multipath« .
  2. Bearbeiten Sie die blacklist und blacklist_exceptions Abschnitte in der /etc/multipath.conf Datei, wie in Abschnitt 4.2, »Konfigurationsdatei - Blacklist« beschrieben.
  3. Um zu überprüfen, ob Ihre Konfigurationsdatei korrekt eingerichtet ist, können Sie den /sbin/multipath Befehl mit der -v3 Option verwenden. Dadurch können Sie festzustellen, ob der Multipath-Daemon versuchte, ein Multipath-Gerät auf Ihrem Root-Gerät zu erstellen. Der Befehl wird fehlschlagen, da das Root-Gerät in Gebrauch ist; die Befehlsausgabe sollte jedoch das Root-Gerät in der Pfadliste zeigen.
    Sie sollten in der Befehlsausgabe nach einer Zeile in folgendem Format suchen:
    WWID  H:B:T:L devname MAJOR:MINOR
    Ist Ihr Root-Dateisystem beispielsweise auf sda oder einer ihrer Partitionen angelegt, dann sehen Sie in der Ausgabe eine Zeile ähnlich der folgenden:
    ===== paths list =====
    ...
    1ATA     WDC WD800JD-75MSA3                           WD-WMAM9F 1:0:0:0 sda 8:0
    ...
    
    Weiter unten in der Ausgabe sollten Sie sehen, dass das Root-Gerät einem Multipath-Gerät zugewiesen ist:
    time | devname: ownership set to mpathdev
    
    Die Ausgabe kann z.B. wie folgt aussehen:
    Jun 14 06:48:21 | sda: ownership set to mpatha
    
    Sie sehen auch einen Hinweis, dass der Befehl, ein Multipath-Gerät zu erstellen, fehlgeschlagen ist, mit einer Zeile im folgenden Format:
    time | mpathdev: domap (0) failure for create/reload map
    
    In dem oben genannten Beispiel würden Sie die folgende Zeile in der Befehlsausgabe sehen:
    Jun 14 06:48:21 | mpatha: domap (0) failure for create/reload map
    
  4. Um das initramfs Dateisystem mit multipath neu zu erstellen, führen Sie den dracut Befehl mit den folgenden Optionen aus:
    # dracut --force --add multipath --include /etc/multipath /etc/multipath
  5. Falls es sich bei Ihrem Root-Gerät nicht um einen LVM-Datenträger handelt und es über den Gerätenamen eingehängt ist, müssen Sie ggf. die fstab Datei bearbeiten, um den richtigen Multipath-Gerätenamen anzugeben. Falls es sich bei Ihrem Root-Gerät um einen LVM-Datenträger handelt oder es über die UUID oder etwas anderes eingehängt ist, dann ist dieser Schritt nicht notwendig.
    1. Folgen Sie dem Verfahren aus Schritt 3 und führen Sie den /sbin/multipath Befehl mit der Option -v3 aus, um die WWID des Root-Geräts zu bestimmen.
    2. Richten Sie einen Alias für das Root-Gerät in der Datei /etc/multipath.conf ein.
      multipaths {
          multipath {
              wwid WWID_of_root_device
              alias rootdev
          }
      }
      
    3. Bearbeiten Sie die /etc/fstab Datei und ersetzen Sie den alten Gerätepfad zum Root-Gerät durch das Multipath-Gerät.
      Falls Sie beispielsweise den folgenden Eintrag in der /etc/fstab Datei hatten:
      /dev/sda1 /                       ext4    defaults        1 1
      
      Ändern Sie diesen Eintrag folgendermaßen:
      /dev/mapper/rootdev /             ext4    defaults        1 1
      
    Wenn Sie die /etc/fstab Datei bearbeiten müssen, müssen Sie auch die /etc/grub/grub.conf Datei bearbeiten und den root-Parameter von root=/dev/sda1 auf root=/dev/mapper/rootdev ändern.
    Das folgende Beispiel zeigt, wie dieser grub.conf Dateieintrag aussehen würde, bevor Sie sie bearbeiten.
    title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64)
            root (hd0,0)
            kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/sda1 rd_NO_LUKS
    rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us
    console=ttyS0,115200n8 crashkernel=auto
            initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
    
    Das folgende Beispiel zeigt, wie dieser grub.conf Dateieintrag aussehen könnte, nachdem Sie sie bearbeitet haben.
    title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64)
            root (hd0,0)
            kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/mapper/rootdev
    rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16
    KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto
            initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
    
  6. Fahren Sie den Rechner herunter.
  7. Konfigurieren Sie den FC-Switch so, dass andere Pfade für den Rechner sichtbar sind.
  8. Fahren Sie den Rechner hoch.
  9. Überprüfen Sie, ob sich das Root-Dateisystem ('/') auf dem Multipath-Gerät befindet.

5.3. Verlegen des Swap-Geräts von einem Single-Path-Gerät auf ein Multipath-Gerät

Standardmäßig werden Swap-Geräte als logische Datenträger angelegt. Dadurch ist keinerlei weitere Konfiguration als Multipath-Gerät nötig, vorausgesetzt, es wurde auf den zugrunde liegenden physischen Geräten, aus denen sich die logische Datenträgergruppe zusammensetzt, Multipath eingerichtet. Falls es sich bei Ihrem Swap-Gerät dagegen nicht um einen LVM-Datenträger handelt und es über den Gerätenamen eingehängt ist, müssen Sie ggf. die fstab Datei bearbeiten, um den richtigen Multipath-Gerätenamen anzugeben.
  1. Bestimmen Sie die WWID-Nummer des Swap-Geräts, indem Sie den /sbin/multipath Befehl mit der Option -v3 ausführen. Die Ausgabe dieses Befehls sollte das Swap-Gerät in der Pfadliste zeigen.
    Sie sollten in der Befehlsausgabe nach einer Zeile in folgendem Format suchen, die das Swap-Gerät zeigt:
    WWID  H:B:T:L devname MAJOR:MINOR
    Ist Ihr Swap-Dateisystem beispielsweise auf sda oder einer ihrer Partitionen angelegt, dann sehen Sie in der Ausgabe eine Zeile ähnlich der folgenden:
    ===== paths list =====
    ...
    1ATA     WDC WD800JD-75MSA3                           WD-WMAM9F 1:0:0:0 sda 8:0
    ...
    
  2. Richten Sie einen Alias für das Swap-Gerät in der Datei /etc/multipath.conf ein.
    multipaths {
        multipath {
            wwid WWID_of_swap_device
            alias swapdev
        }
    }
    
  3. Bearbeiten Sie die /etc/fstab Datei und ersetzen Sie den alten Gerätepfad zum Root-Gerät durch das Multipath-Gerät.
    Falls Sie beispielsweise den folgenden Eintrag in der /etc/fstab Datei hatten:
    /dev/sda2 swap                    ext4    defaults        0 0
    
    Ändern Sie diesen Eintrag folgendermaßen:
    /dev/mapper/swapdev swap          ext4    defaults        0 0
    

5.4. Der Multipath-Daemon

Falls Sie auf Probleme bei der Implementierung einer Multipath-Konfiguration stoßen, sollten Sie sicherstellen, dass der Multipath-Daemon ausgeführt wird, wie unter Kapitel 3, Einrichten von DM-Multipath beschrieben. Der multipathd Daemon muss ausgeführt werden, um Multipath-Geräte verwenden zu können.

5.5. Probleme mit einer großen Anzahl von LUNs

Wenn eine große Anzahl von LUNs zu einem Knoten hinzugefügt werden, kann die Verwendung von Multipath-Geräten die Dauer erheblich erhöhen, die der udev Geräte-Manager benötigt, um Geräteknoten für diese zu erstellen. Wenn Sie auf dieses Problem stoßen, können Sie es beheben, indem Sie die folgende Zeile in /etc/udev/rules.d/40-multipath.rules löschen:
KERNEL!="dm-[0-9]*", ACTION=="add", PROGRAM=="/bin/bash -c '/sbin/lsmod | /bin/grep ^dm_multipath'", RUN+="/sbin/multipath -v0 %M:%m"
Durch diese Zeile wird der udev Geräte-Manager dazu veranlasst, multipath jedes Mal auszuführen, wenn ein Blockgerät zum Knoten hinzugefügt wird. Auch wenn diese Zeile entfernt wird, erstellt der multipathd Daemon weiterhin automatisch Multipath-Geräte und multipath wird weiterhin während des Boot-Vorgangs für Knoten mit Multipath-Root-Dateisystemen aufgerufen. Die einzige Veränderung ist, dass Multipath-Geräte nicht automatisch erstellt werden, wenn der multipathd Daemon nicht ausgeführt wird. Dies sollte für den Großteil der Multipath-Benutzer jedoch kein Problem darstellen.

5.6. Probleme mit dem queue_if_no_path-Feature

Falls features "1 queue_if_no_path" in der /etc/multipath.conf Datei angegeben wird, bleibt jeder Vorgang, der I/O verursacht, so lange hängen, bis einer oder mehrere Pfade wiederhergestellt sind. Um dies zu vermeiden, setzen Sie den N Parameter no_path_retry in der Datei /etc/multipath.conf (wobei N die Häufigkeit darstellt, wie oft das System einen Pfad ausprobieren soll).
Wenn Sie den no_path_retry Parameter setzen, entfernen Sie auch die Option features "1 queue_if_no_path" aus der Datei /etc/multipath.conf. Wenn Sie jedoch ein Multipath-Gerät verwenden, für das die Option features "1 queue_if_no_path" als einkompilierter Standardwert gesetzt ist (wie es für viele SAN-Geräte der Fall ist), müssen Sie explizit features "0" hinzufügen, um diesen Standardwert außer Kraft zu setzen. Sie erreichen dies, indem Sie den bereits bestehenden Geräteabschnitt aus /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults in /etc/multipath.conf kopieren und dann entsprechend Ihrer Anforderungen anpassen.
Falls Sie die Option features "1 queue_if_no_path" verwenden müssen und das hier aufgeführte Problem bei Ihnen auftritt, verwenden Sie den Befehl dmsetup, um die Richtlinie für eine bestimmte LUN (für die keine Pfade verfügbar sind) während der Laufzeit zu bearbeiten. Wenn Sie beispielsweise die Richtlinie auf dem Multipath-Gerät mpathc von "queue_if_no_path" in "fail_if_no_path" ändern möchten, führen Sie den folgenden Befehl aus.
dmsetup message mpathc 0 "fail_if_no_path"
Beachten Sie bitte, dass Sie statt des Pfades den mpathn Alias-Wert angeben müssen.

5.7. Multipath-Befehlsausgabe

Wenn Sie ein Multipath-Gerät erstellen, verändern oder auflisten, erhalten Sie eine Ausgabe der aktuellen Einstellungen der Geräte. Das Format ist folgendermaßen.
Für jedes Multipath-Gerät:
 action_if_any: alias (wwid_if_different_from_alias) dm_device_name_if_known vendor,product size=size features='features' hwhandler='hardware_handler' wp=write_permission_if_known 
Für jede Pfadgruppe:
-+- policy='scheduling_policy' prio=prio_if_known status=path_group_status_if_known
Für jeden Pfad:
 `- host:channel:id:lun devnode major:minor dm_status_if_known path_status online_status
Die Ausgabe eines Multipath-Befehls kann z.B. wie folgt aussehen:
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running
Falls der Pfad erreichbar und bereit für Daten-I/O ist, lautet sein Status ready oder ghost. Falls der Pfad nicht erreichbar ist, lautet sein Status faulty oder shaky. Der Pfadstatus wird regelmäßig durch den multipathd Daemon aktualisiert, in dem Abfrage-Intervall, das in der Datei /etc/multipath.conf definiert ist.
Der dm-Status ähnelt dem Pfadstatus, allerdings aus Sicht des Kernels. Er besitzt zwei Status: failed, was faulty entspricht und active, was alle anderen Pfadstatus abdeckt. Gelegentlich stimmen Pfadstatus und dm-Status eines Geräts zeitweise nicht überein.
Die möglichen Werte für online_status sind running und offline. Der Status von offline bedeutet, dass dieses SCSI-Gerät deaktiviert wurde.

Anmerkung

Bei der Erstellung oder Bearbeitung eines Multipath-Geräts sind der Pfadgruppenstatus und der dm-Gerätename, die Schreibberechtigungen und der dm-Status nicht bekannt. Auch sind die Features nicht immer korrekt.

5.8. Multipath-Abfragen (Queries) mit dem multipath-Befehl

Mithilfe der Optionen -l und -ll des Befehls multipath können Sie die aktuelle Multipath-Konfiguration anzeigen. Die Option -l zeigt die Multipath-Topologie an, die aus Informationen in sysfs und dem Device-Mapper zusammengetragen werden. Die Option -ll zeigt dieselben Informationen wie -l an und zusätzlich noch alle verfügbaren Komponenten des Systems.
Für die Anzeige der Multipath-Konfiguration existieren drei Stufen für die umfangreiche Ausgabe, die Sie mithilfe der Option -v des multipath Befehls angeben können. Die Angabe von -v0 produziert keine Ausgabe. Bei der Angabe von -v1 werden lediglich die erstellten oder aktualisierten Multipath-Namen ausgegeben, die Sie dann in anderen Tools, wie beispielsweise in kpartx verwerten können. Durch die Angabe von -v2 werden alle erkannten Pfade, Multipaths und Device Maps ausgegeben.
Das folgende Beispiel zeigt die Ausgabe eines multipath -l Befehls.
# multipath -l
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running
Das folgende Beispiel zeigt die Ausgabe eines multipath -ll Befehls.
# multipath -ll
3600d0230000000000e13955cc3757801 dm-10 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 18:0:0:1 sdh 8:112 active ready  running
3600d0230000000000e13955cc3757803 dm-2 WINSYS,SF2372
size=125G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 19:0:0:3 sde 8:64  active ready  running
  `- 18:0:0:3 sdj 8:144 active ready  running

5.9. Multipath-Befehlsoptionen

Tabelle 5.1, »Hilfreiche multipath Befehlsoptionen« beschreibt einige hilfreiche Optionen des Befehls multipath.

Tabelle 5.1. Hilfreiche multipath Befehlsoptionen

Option Beschreibung
-l Zeigt die aktuelle Multipath-Konfiguration an, die von sysfs und dem Device-Mapper zusammengetragen wird.
-ll Zeigt die aktuelle Multipath-Konfiguration an, die von sysfs, dem Device-Mapper und allen anderen verfügbaren Komponenten auf dem System zusammengetragen wird.
-f device Entfernt das angegebene Multipath-Gerät.
-F Entfernt alle nicht verwendeten Multipath-Geräte.

5.10. Device-Mapper-Einträge mit dem dmsetup-Befehl ermitteln

Mithilfe des dmsetup Befehls können Sie herausfinden, welche Device-Mapper-Einträge zu welchen Multipath-Geräten gehören.
Der folgende Befehl zeigt alle Device-Mapper-Geräte und deren Major- und Minor-Nummern an. Die Minor-Nummern bestimmen den Namen des dm-Geräts. So entspricht eine Minor-Nummer 3 beispielsweise dem Multipath-Gerät /dev/dm-3.
# dmsetup ls
mpathd  (253:4)
mpathep1        (253:12)
mpathfp1        (253:11)
mpathb  (253:3)
mpathgp1        (253:14)
mpathhp1        (253:13)
mpatha  (253:2)
mpathh  (253:9)
mpathg  (253:8)
VolGroup00-LogVol01     (253:1)
mpathf  (253:7)
VolGroup00-LogVol00     (253:0)
mpathe  (253:6)
mpathbp1        (253:10)
mpathd  (253:5)

5.11. Suche und Bereinigung von Fehlern mit der interaktiven multipathd-Konsole

Der multipathd -k Befehl ist eine interaktive Schnittstelle zum multipathd Daemon. Bei der Eingabe dieses Befehls wird eine interaktive Konsole für multipath gestartet. Nach der Eingabe dieses Befehls können Sie help eingeben, um eine Liste verfügbarer Befehle abzurufen, einen interaktiven Befehl eingeben, oder STRG-D eingeben, um abzubrechen.
Die multipathd interaktive Konsole kann zur Suche und Bereinigung von Problemen verwendet werden, die Sie ggf. mit Ihren Systemen haben. Die folgende Befehlssequenz zeigt beispielsweise die Multipath-Konfiguration an, einschließlich der Standardwerte, bevor die Konsole beendet wird.
# multipathd -k
> > show config
> > CTRL-D
Die folgende Befehlssequenz stellt sicher, dass Multipath jegliche Änderungen in multipath.conf übernimmt.
# multipathd -k
> > reconfigure
> > CTRL-D
Verwenden Sie die folgende Befehlssequenz, um sicherzustellen, dass die Pfadprüfung ordnungsgemäß funktioniert.
# multipathd -k
> > show paths
> > CTRL-D

Anhang A. Versionsgeschichte

Versionsgeschichte
Version 6.0-6.2Thu Feb 27 2014Hedda Peters
de-DE Übersetzung fertiggestellt
Version 6.0-6.1Thu Feb 27 2014Hedda Peters
Übersetzungsdateien synchronisiert mit XML-Quellen 6.0-6
Version 6.0-6Wed Nov 13 2013Steven Levine
Version für 6.5 GA-Release
Version 6.0-5Fri Sep 27 2013Steven Levine
Version für 6.5 Beta-Release
Version 6.0-3Fri Sep 27 2013Steven Levine
Behebt: #987144, #987671
Dokumentiert die neuen Parameter reload_rewrite und replace_wwid_whitespace in der multipath.conf Datei.
Behebt: #911630, #969022
Korrigiert kleinere Tippfehler.
Version 6.0-1Tue Sep 10 2013Steven Levine
Fügt neue Standardparameter für RHEL 6.5 hinzu.
Version 5.0-9Mon Feb 18 2013Steven Levine
Version für 6.4 GA-Release
Version 5.0-7Mon Nov 26 2012Steven Levine
Version für 6.4 Beta Release
Version 5.0-6Tue Nov 13 2012Steven Levine
Behebt: #856829
Dokumentiert die neuen retain_attached_hardware_handler und detect_prio Konfigurationsparameter.
Behebt: #815925
Dokumentiert das Verfahren für die Einrichtung des Multipathing im initramfs Dateisystem.
Behebt: #836333
Korrigiert kleinen Tippfehler.
Behebt: #856826
Aktualisiert das Beispiel multipath.conf damit die aktualisierten path_selector Parameter dargestellt werden.
Version 4.0-3Fri Jun 15 2012Steven Levine
Version für 6.3 GA-Release
Version 4.0-2Wed Apr 25 2012Steven Levine
Behebt: #815925
Aktualisiert Ausgabeformat für das dmsetup ls Beispiel.
Version 4.0-1Wed Mar 28 2012Steven Levine
Behebt: #786399
Behebt kleinen Tippfehler.
Behebt: #771420
Dokumentiert die neuen DM-Multipath Features für Red Hat Enterprise Linux 6.3.
Version 3.0-3Thu Dec 1 2011Steven Levine
Release für GA von Red Hat Enterprise Linux 6.2
Behebt: #753899
Korrigiert die Beschreibung der multipath -F Option.
Version 3.0-2Fri Oct 7 2011Steven Levine
Behebt: #743767
Behebt Tippfehler und verdeutlicht kleine Unklarheiten.
Version 3.0-1Mon Sep 19 2011Steven Levine
Erste Revision für Red Hat Enterprise Linux 6.2 Beta Release
Behebt: #707638
Dokumentiert die neuen DM-Multipath Features für Red Hat Enterprise Linux 6.2.
Behebt: #715457
Korrigiert das Filter-Beispiel für SCSI-Geräte.
Behebt: #623450
Aktualisiert das Verfahren zum Verschieben eines Root-Geräts auf einen Multipath-Datenträger.
Behebt: #725374, #738051
Korrigiert kleinere Tippfehler.
Version 2.0-1Thu May 19 2011Steven Levine
Erste Revision für Red Hat Enterprise Linux 6.1
Behebt: #623450
Fügt neues Verfahren hinzu zum Verlegen von Root- und Swap-Geräten von Single-Path- auf Multipath-Geräte.
Behebt: #693948
Korrigiert kleinere Fehler in Tabelle der Geräteparameter
Behebt: #694683
Korrigiert kleinere Tippfehler.
Behebt: #702721
Entfernt veralteten Hinweis auf /dev/mpath.
Version 1.0-1Wed Nov 10 2010Steven Levine
Erste Version für das Red Hat Enterprise Linux 6 Release

Stichwortverzeichnis

A

aktiv/aktiv-Konfiguration
Definition, Überblick über DM-Multipath
Illustration, Überblick über DM-Multipath
aktiv/passiv-Konfiguration
Definition, Überblick über DM-Multipath
Illustration, Überblick über DM-Multipath
alias Parameter , Multipaths Parameter zur Gerätekonfiguration
Konfigurationsdatei, Multipath-Geräte-Identifier
Ausfallsicherung (Failover), Überblick über DM-Multipath

B

Befehl multipathd start, Einrichten von DM-Multipath
Blacklist
Gerätename, Blacklisting anhand des Gerätenamens
Gerätetyp, Blacklisting anhand des Gerätetyps
Konfigurationsdatei, Konfigurationsdatei - Blacklist
Standardgeräte, Blacklisting anhand des Gerätenamens
WWID, Blacklisting anhand der WWID
blacklist_exceptions Abschnitt
multipath.conf Datei, Blacklist-Ausnahmen

C

checker_timeout Parameter, Konfigurationsdatei - Standards

E

Einrichtung
DM-Multipath, Einrichten von DM-Multipath

H

hardware_handler Parameter, Konfigurationsdatei - Geräte
hwtable_regex_match Parameter, Konfigurationsdatei - Standards

K

Konfiguration
DM-Multipath, Einrichten von DM-Multipath
Konfigurationsdatei
alias Parameter, Multipaths Parameter zur Gerätekonfiguration
Blacklist, Konfigurationsdatei - Blacklist
checker_timeout Parameter, Konfigurationsdatei - Standards
detect_prio Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration
dev_loss_tmo Parameter, Konfigurationsdatei - Standards, Konfigurationsdatei - Geräte
failback Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
fast_io_fail_tmo Parameter, Konfigurationsdatei - Standards, Konfigurationsdatei - Geräte
features Parameter, Konfigurationsdatei - Standards, Konfigurationsdatei - Geräte
flsuh_on_last_del Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
getuid_callout Parameter, Konfigurationsdatei - Standards, Konfigurationsdatei - Geräte
hardware_handler Parameter, Konfigurationsdatei - Geräte
hwtable_regex_match Parameter, Konfigurationsdatei - Standards
max_fds Parameter, Konfigurationsdatei - Standards
no_path_retry Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
path_checker Parameter, Konfigurationsdatei - Standards, Konfigurationsdatei - Geräte
path_grouping_policy Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
path_selector Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
polling-interval Parameter, Konfigurationsdatei - Standards
prio Parameter, Konfigurationsdatei - Standards, Konfigurationsdatei - Geräte
product Parameter, Konfigurationsdatei - Geräte
product_blacklist Parameter, Konfigurationsdatei - Geräte
queue_without_daemon Parameter, Konfigurationsdatei - Standards
retain_attached_hw_handler Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration
revision Parameter, Konfigurationsdatei - Geräte
rr_min_io Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration
rr_weight Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
Überblick, Überblick über die Konfigurationsdatei
udev_dir Parameter, Konfigurationsdatei - Standards
user_friendly_names Parameter, Konfigurationsdatei - Standards, Multipaths Parameter zur Gerätekonfiguration, Konfigurationsdatei - Geräte
vendor Parameter, Konfigurationsdatei - Geräte
verbosity Parameter, Konfigurationsdatei - Standards
wwid Parameter, Multipaths Parameter zur Gerätekonfiguration
kpartx Befehl , DM-Multipath-Komponenten

M

max_fds Parameter, Konfigurationsdatei - Standards
mpathconf Befehl , DM-Multipath-Komponenten
multipath Befehl , DM-Multipath-Komponenten
Multipath Befehl
Abfragen, Multipath-Abfragen (Queries) mit dem multipath-Befehl
Ausgabe, Multipath-Befehlsausgabe
Optionen, Multipath-Befehlsoptionen
Multipath-Daemon (multipathd), Der Multipath-Daemon
Multipath-Geräte, Multipath-Geräte
Logische Datenträger, Multipath-Geräte in logischen Datenträgern
Physische LVM-Datenträger, Multipath-Geräte in logischen Datenträgern
Multipath-Root-Dateisystem, Verlegen des Root-Geräts von einem Single-Path-Gerät auf ein Multipath-Gerät
Multipath-Swap-Dateisystem, Verlegen des Swap-Geräts von einem Single-Path-Gerät auf ein Multipath-Gerät
multipath.conf Datei, Storage-Array-Unterstützung, Die DM-Multipath-Konfigurationsdatei
blacklist_exceptions Abschnitt, Blacklist-Ausnahmen
defaults Abschnitt, Konfigurationsdatei - Standards
Geräte Abschnitt, Konfigurationsdatei - Geräte
multipaths Abschnitt, Multipaths Parameter zur Gerätekonfiguration
multipath.conf.annotated Datei, Die DM-Multipath-Konfigurationsdatei
multipath.conf.defaults Datei, Storage-Array-Unterstützung, Die DM-Multipath-Konfigurationsdatei
multipathd
Befehl, Suche und Bereinigung von Fehlern mit der interaktiven multipathd-Konsole
interaktive Konsole, Suche und Bereinigung von Fehlern mit der interaktiven multipathd-Konsole
multipathd Daemon , DM-Multipath-Komponenten
multipaths Abschnitt
multipath.conf Datei, Multipaths Parameter zur Gerätekonfiguration

Q

queue_without_daemon Parameter, Konfigurationsdatei - Standards

V

vendor Parameter, Konfigurationsdatei - Geräte
verbosity Parameter, Konfigurationsdatei - Standards

Rechtlicher Hinweis

Copyright © 2013 Red Hat, Inc. and others.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.