Udostępnij przez


Połącz z woluminami Elastic SAN - Linux

W tym artykule wyjaśniono, jak nawiązać połączenie z woluminem Elastic SAN z poziomu pojedynczego klienta systemu Linux. Aby uzyskać szczegółowe informacje na temat nawiązywania połączenia z klienta systemu Windows, zobacz Connect to Elastic SAN volumes — Windows.

W tym artykule skonfigurujesz grupę woluminów tak, aby zezwalała na połączenia z podsieci, a następnie skonfigurujesz środowisko klienta tak, aby łączyło się z woluminem elastic SAN i ustanawiało połączenie.

Menedżer klastra należy użyć podczas łączenia pojedynczego elastycznego woluminu SAN z wieloma klientami. Aby uzyskać szczegółowe informacje, zobacz Używaj zgrupowanych aplikacji na Azure Elastic SAN.

Wymagania wstępne

Włączanie inicjatora iSCSI

Aby utworzyć połączenia iSCSI na podstawie klienta systemu Linux, zainstaluj pakiet inicjatora iSCSI. Dokładne polecenie może się różnić w zależności od dystrybucji i w razie potrzeby należy zapoznać się z ich dokumentacją.

Na przykład, w przypadku Ubuntu należy użyć sudo apt install open-iscsi, w przypadku SUSE Linux Enterprise Server (SLES) należy użyć sudo zypper install open-iscsi, a w przypadku Red Hat Enterprise Linux (RHEL) należy użyć sudo yum install iscsi-initiator-utils.

Zainstaluj wielościeżkowe wejście/wyjście

Aby osiągnąć wyższe IOPS i przepustowość do woluminu oraz osiągnąć jego maksymalne limity, należy utworzyć wiele sesji z inicjatora iSCSI do woluminu docelowego na podstawie wielowątkowych możliwości aplikacji i wymagań dotyczących wydajności. Aby zagregować te wiele ścieżek do jednego urządzenia oraz zwiększyć wydajność, potrzebujesz wielościeżkowego I/O, które optymalnie rozkłada operacje I/O na wszystkie dostępne ścieżki zgodnie z zasadami równoważenia obciążenia.

Zainstaluj pakiet wielościeżkowego wejścia/wyjścia dla dystrybucji systemu Linux. Instalacja będzie się różnić w zależności od dystrybucji i należy zapoznać się z ich dokumentacją. Na przykład w systemie Ubuntu polecenie będzie sudo apt install multipath-tools, w przypadku systemu SLES polecenie będzie sudo zypper install multipath-tools, a dla systemu RHEL polecenie będzie sudo yum install device-mapper-multipath.

Po zainstalowaniu pakietu sprawdź, czy /etc/multipath.conf istnieje. Jeśli /etc/multipath.conf nie istnieje, utwórz pusty plik i użyj ustawień w poniższym przykładzie dla ogólnej konfiguracji. Na przykład mpathconf --enable utworzy /etc/multipath.conf w systemie RHEL.

Trzeba wprowadzić pewne modyfikacje do pliku /etc/multipath.conf. Musisz dodać sekcję urządzenia w poniższym przykładzie, a sekcja domyślna w poniższym przykładzie określa, że niektóre wartości domyślne są ogólnie stosowane. Jeśli musisz wprowadzić inne konkretne konfiguracje, takie jak wykluczanie woluminów z topologii wielościeżkowej, zobacz stronę ręczną dla 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 3			# To disable I/O queueing after retrying once when all paths are down
    polling_interval 5         # Set path check polling interval to 5 seconds
    find_multipaths yes        # To allow multipath to take control of only those devices that have multiple paths 
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

Po utworzeniu lub zmodyfikowaniu pliku uruchom ponownie wielościeżkowe we/wy. W systemie Ubuntu polecenie jest sudo systemctl restart multipath-tools.service, a w systemie RHEL i SLES polecenie jest sudo systemctl restart multipathd.

Dołącz woluminy do klienta

Aby utworzyć połączenia, możesz użyć następującego skryptu. Aby go wykonać, zbierz lub określ następujące parametry:

  • subskrypcja: identyfikator subskrypcji
  • g: Nazwa grupy zasobów
  • e: Elastyczna nazwa sieci SAN
  • v: Nazwa grupy woluminów
  • n <vol1, vol2, ...>: Nazwy woluminów 1 i 2 i innych nazw woluminów, które mogą być wymagane, rozdzielone przecinkami
  • s: Liczba sesji do każdego woluminu (domyślnie ustawiona na 32)

Skopiuj skrypt z tutaj i zapisz go jako plik .py, na przykład connect.py. Następnie wykonaj je z wymaganymi parametrami. Poniżej przedstawiono przykład sposobu uruchamiania skryptu:

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

Liczbę sesji można sprawdzić przy użyciu sudo multipath -ll

Ustawianie numeru sesji

Użyj 32 sesji dla każdego woluminu docelowego, aby osiągnąć maksymalne limity IOPS i/lub przepustowości.

Liczbę sesji można zmienić, uruchamiając skrypt, wykonując następujące instrukcje:

Uwaga / Notatka

Użyj -n polecenia , aby ustawić liczbę sesji. Parametr akceptuje wartości z zakresu od 1 do 32 i ma wartość domyślną 32.

python3 connect_for_documentation.py \ 

--subscription <your-subscription-id>\ 

-g <resource-group>\ 

-e <elastic-san-name>\ 

-v <volume-group-name>\ 

-n volume1 volume2 \ 

-s <value>

Następne kroki

Konfigurowanie elastycznej sieci SAN