Herstellen einer Verbindung mit Elastic SAN-Volumes: Linux

In diesem Artikel wird erläutert, wie Sie von einem Linux-Client aus eine Verbindung mit einem Elastic SAN-Volume (Storage Area Network) herstellen können. Einzelheiten zur Verbindungsherstellung von einem Windows-Client aus finden Sie unter Herstellen einer Verbindung mit Elastic SAN-Volumes – Windows.

In diesem Artikel fügen Sie dem Subnetz eines virtuellen Azure-Netzwerks den Storage-Dienstendpunkt hinzu und konfigurieren dann Ihre Volumegruppe, um Verbindungen von Ihrem Subnetz zuzulassen. Abschließend konfigurieren Sie Ihre Clientumgebung, um eine Verbindung mit einem Elastic SAN-Volume herzustellen und einzurichten.

Sie müssen einen Cluster-Manager verwenden, wenn Sie ein einzelnes elastisches SAN-Volume mit mehreren Clients verbinden. Ausführliche Informationen finden Sie unter Verwenden von gruppierten Anwendungen in Azure Elastic SAN.

Voraussetzungen

Herstellen einer Verbindung mit Volumes

Einrichten Ihrer Clientumgebung

Aktivieren des iSCSI-Initiators

Um iSCSI-Verbindungen von einem Linux-Client aus zu erstellen, installieren Sie das iSCSI-Initiator-Paket. Der genaue Befehl kann je nach Distribution variieren, und Sie sollten bei Bedarf die Dokumentation der Distribution zu Rate ziehen.

Beispielsweise würden Sie bei Ubuntu sudo apt install open-iscsi, bei SUSE Linux Enterprise Server (SLES) sudo zypper install open-iscsi und bei Red Hat Enterprise Linux (RHEL) sudo yum install iscsi-initiator-utils verwenden.

Installieren von Multipfad-E/A

Um einen höheren IOPS und Durchsatz zu einem Volume zu erreichen und seine maximalen Grenzwerte zu erreichen, müssen Sie mehrere Sitzungen vom iSCSI-Initiator auf das Zielvolume basierend auf den Multithreadfunktionen und Leistungsanforderungen Ihrer Anwendung erstellen. Sie benötigen Multipfad-E/A, um diese mehreren Pfade in einem einzelnen Gerät zu aggregieren und die Leistung zu verbessern, indem Sie E/A optimal über alle verfügbaren Pfade basierend auf einer Lastenausgleichsrichtlinie verteilen.

Installieren Sie das Multipfad-E/A-Paket für Ihre Linux-Distribution. Die Installation variiert je nach Distribution, und Sie sollten die entsprechende Dokumentation konsultieren. Beispielsweise würde der Befehl unter Ubuntu sudo apt install multipath-tools, bei SLES sudo zypper install multipath-tools und bei RHEL sudo yum install device-mapper-multipath lauten.

Überprüfen Sie nach der Installation des Pakets, ob /etc/multipath.conf vorhanden ist. Wenn /etc/multipath.conf nicht vorhanden ist, erstellen Sie eine leere Datei, und verwenden Sie die Einstellungen im folgenden Beispiel für eine allgemeine Konfiguration. Beispiel: mpathconf --enable erstellt unter RHEL /etc/multipath.conf.

Sie müssen einige Änderungen an /etc/multipath.conf vornehmen. Im folgenden Beispiel müssen Sie den Abschnitt „devices“ hinzufügen, und im Abschnitt „defaults“ werden einige Standardeinstellungen festgelegt, die allgemein anwendbar sind. Wenn Sie andere spezifische Konfigurationen vornehmen müssen, wie z. B. den Ausschluss von Volumes aus der Multipfadtopologie, lesen Sie die Handbuchseite für „multipath.conf“.

defaults {
    user_friendly_names yes		# To create ‘mpathn’ names for multipath devices
    path_grouping_policy multibus	# To place all the paths in one priority group
    path_selector "round-robin 0"	# To use round robin algorithm to determine path for next I/O operation
    failback immediate			# For immediate failback to highest priority path group with active paths
    no_path_retry 1			# To disable I/O queueing after retrying once when all paths are down
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

Starten Sie nach dem Erstellen oder Ändern der Datei Multipfad-E/A neu. Unter Ubuntu lautet der Befehl sudo systemctl restart multipath-tools.service; unter RHEL und SLES lautet er sudo systemctl restart multipathd.

Anfügen von Volumes an den Client

Sie können Ihre Verbindungen mithilfe des folgenden Skripts erstellen. Zum Ausführen benötigen Sie die folgenden Parameter:

  • Abonnement: Abonnement-ID
  • g: Ressourcengruppenname
  • e: Elastic SAN-Name
  • v: Volume-Gruppenname
  • n <vol1, vol2, ...>: Namen der Volumes 1 und 2 und andere Volumenamen, die Sie möglicherweise benötigen, kommagetrennt
  • s: Anzahl der Sitzungen für jedes Volume (standardmäßig auf 32 festgelegt)

Kopieren Sie das Skript von hier und speichern Sie es als .py-Datei, z. B. connect.py. Führen Sie es dann mit den erforderlichen Parametern aus. Im Folgenden sehen Sie ein Beispiel für die Ausführung des Skripts:

./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32

Sie können die Anzahl der Sitzungen mithilfe von sudo multipath -ll überprüfen.

Anzahl von Sitzungen

Sie müssen 32 Sitzungen für jedes Zielvolume verwenden, um die maximalen IOPS- und/oder Durchsatzgrenzwerte zu erreichen.

Nächste Schritte

Konfigurieren eines Elastic SAN-Netzwerks