Jak skonfigurować serwer ISCSI (cel) i klient (inicjator) na Debian 9

Jak skonfigurować serwer ISCSI (cel) i klient (inicjator) na Debian 9

W świecie centrum danych duża pojemność Sieci magazynowania (San) stały się minimalnym standardem. Ponieważ dostawcy chmury i wirtualizacja również mają ogromny wpływ na świat technologii, potrzeba jeszcze większej przestrzeni magazynowej stała się widoczna.

Większość sprzętu SAN składa się z minimalistycznego kontrolera (lub zestawu kontrolerów) i dużego zbioru napędów o dużej pojemności, które są skonfigurowane do obsługi dużych dostępności i integralności danych.

Wiele z tych wyspecjalizowanych produktów jest wytwarzanych przez wielkich dostawców, takich jak NetApp, Dell Equaogic, HP StorageWorks lub EMC i ma do nich dołączone ceny, na które mogą sobie pozwolić tylko największe przedsiębiorstwa.

Realistycznie urządzenia te są niczym więcej niż dużymi tablicami dysku twardego z kontrolerem, który zapewnia przestrzeń tych dysków twardych klientom sieciowym. Wiele technologii istniało przez lata, które zapewniają tę funkcjonalność lub podobną funkcjonalność w zasadniczo tańszej cenie.

Debian GNU/Linux Dystrybucja zapewnia pakiety, które pozwalają systemowi Debianowi służyć celowi urządzenia do przechowywania SAN na poziomie przedsiębiorstw za zaledwie ułamek kosztów! Pozwala to wszystkim z podstawowych użytkowników domowych lub dużych centrów danych na uzyskanie korzyści płynących z magazynu SAN bez konieczności wydawania fortuny na zastrzeżone rozwiązanie dostawcy.

W tym artykule przyjrzy się, w jaki sposób można skonfigurować system Debian 9 (rozciąganie), aby obsłużyć przestrzeń na dysku za pomocą systemu znanego jako Interfejs Internetu małych systemów komputerowych Lub ISCSI w skrócie. ISCSI jest protokół internetowy (Ip) Standardowy standard dostarczania przechowywania bloków (dysku twardego) do innych systemów. ISCSI działa w modelu serwera klienta, ale używa różnych nazw do odróżnienia klienta od serwera.

W terminologii ISCSI serwer, który obsługuje 'miejsca na dysku'jest znany jako ISCSI 'Cel„A system, który żąda/wykorzystuje przestrzeń dysku, jest znany jako ISCSI”Inicjator'. Innymi słowy, i 'Inicjator„żąda przechowywania bloku z”Cel'.

Konfiguracja środowiska

Ten przewodnik przejdzie przez podstawową konfigurację obejmującą prostą ISCSI serwer (cel) I klient (inicjator) oba bieganie Debian 9 (rozciąganie).

Debian ISCSI Target: 192.168.56.101/24 Składowanie: Zawiera dwa dodatkowe dyski twarde, które należy użyć jako przechowywania w konfiguracji ISCSI Debian ISCSI Initiator: 192.168.56.102/24 

Sieć można przeglądać jak poniżej:

Schemat sieciowy debian ISCSI

Debian ISCSI Configuration

w ISCSI Świat, The cel jest uważany za host, który zawiera urządzenia pamięci, które mają być używane przez inicjator.

W tym artykule serwer z IP 192.168.56.101 jest używany jako cel. Wszystkie konfiguracje zostaną wykonane na tym hoście dla tej sekcji.

Pierwszym krokiem jest instalacja niezbędnych pakietów, aby umożliwić systemowi Debianowi na podanie cele ISCSI. Ten pakiet oprogramowania jest znany jako Ramy docelowe (TGT).

Drugim elementem używanym w tym przewodniku jest Logiczne zarządzanie woluminami (LVM) Narzędzia jako Logiczne tomy (LVS) będzie używany jako podkład magazynowy dla celu ISCSI.

Oba pakiety można zainstalować za pomocą następujących poleceń.

# Apt-get aktualizacja # apt-get instaluj tgt lvm2 

Po zainstalowaniu pakietów, LVM zostanie użyty do przygotowania dysków twardych na cel Do użycia jako ISCSI LUN. Pierwsze polecenie służy do przygotowania dysków do włączenia do konfiguracji LVM. Pamiętaj, aby zmodyfikować polecenie w razie potrzeby dla różnych scenariuszy!

# lsblk (używany tylko do potwierdzenia dysków do użycia w konfiguracji LVM) # pvcreate /dev /sd b, c 
Potwierdź i utwórz konfigurację LVM

Po przygotowaniu dysków z powyższymPVCreate„polecenie, nadszedł czas, aby utworzyć Grupa głośności z tych konkretnych dysków. Grupa głośności jest wymagane w celu utworzenia Logiczne tomy To będzie działać jak ISCSI przechowywanie później.

Aby utworzyć grupę woluminów,vgCreate„Polecenie jest potrzebne.

# vgCreate TecMint_ISCsi /dev /sd b, c # vgs (potrzebne tylko do potwierdzenia tworzenia grupy woluminów) 
Utwórz grupę wolumenu w Debian

Zauważ na powyższym wyjściu, że system odpowiada, że Grupa głośności został stworzony, ale zawsze dobrym pomysłem jest dwukrotnie sprawdzanie, jak pokazano powyżejVGS' Komenda. Pojemność tego Grupa głośności jest tylko 9.99 GB. Chociaż jest to szczególnie niewielka grupa objętościowa, proces byłby taki sam w przypadku dysków o większej pojemności!

Następnym krokiem jest tworzenie logicznego woluminu, który będzie działał jako dysk do ISCSI klient (inicjator). W tym przykładzie całość Grupa głośności będzie używane, ale nie jest konieczne.

Wolumin logiczny zostanie utworzony za pomocą 'lvCreate' Komenda.

# lvCreate -l 100%darmowe TecMint_lun1 TecMint_ISCsi # LVS (po prostu używane do potwierdzenia tworzenia objętości logicznej) 
Utwórz logiczny wolumen w Debian

Powyższe 'lvCreate„Polecenie może być na pierwszy rzut oka nieco mylące, ale rozkład jest taki:

  • LVCreate - Polecenie używane do utworzenia woluminu logicznego.
  • -L 100%za darmo - Utwórz wolumin logiczny za pomocą całej wolnej przestrzeni grupy woluminów.
  • -n TecMint_lun1 - Nazwa woluminu logicznego do utworzenia.
  • TecMint_ISCsi - Nazwa grupy woluminów, aby utworzyć wolumin logiczny wewnątrz.

Kiedyś wolumin logiczny został stworzony, nadszedł czas, aby stworzyć rzeczywisty Lun (Logiczny numer jednostki). Lun będzie urządzeniem do przechowywania, które inicjator połączy się i używa później.

Tworząc Lun jest bardzo proste i wymaga tylko kilku kroków. Pierwszym krokiem będzie tworzenie pliku konfiguracyjnego. Ten plik będzie znajdował się w '/etc/tgt/conf.D„Katalog i dla tego artykułu zostanie nazywany”TecMint_ISCsi.conf'.

Aby utworzyć ten plik, użyj edytora tekstu.

# nano/etc/tgt/conf.D/TecMint_ISCsi.conf 

W tym pliku wszystkie niezbędne informacje o konfiguracji dla tego Lun zostanie skonfigurowany. Istnieje wiele opcji, które można umieścić w tym pliku, ale na razie podstawowe Lun z wzajemnym Protokół uwierzytelniania uścisku wyzwania (FACET) zostanie skonfigurowany.

Definicja LUN będzie istniała między dwomacel' sprawozdania. Aby uzyskać więcej parametrów, które mogą przejść do instrukcji docelowej, przejrzyj stronę ręczną dla „cele.conf„Plik poprzez wydanie”Man 5 celów.conf'.

 # Udostępniane urządzenie jako ISCSI Target zaplecze/dev/mapper/tecmint_iscsi-tecmint_lun1 inicjator-address 192.168.56.102 IncomingUser TecMint-ISCSi-User Hasło wychodzące dla debian-iscsi-cel-cesetpass  

Powyżej wiele się dzieje. Szybkie wyjaśnienie może być dla większości pomocne.

  • Pierwszy Linia rozpoczyna konkretną ISCSI LUN konfiguracja. W tym przypadku Lun Oznaczone 'IQN.2018-02.Tecmint.com: Lun1'. ''IQN„Część wskazuje, że będzie to nazwa kwalifikowana ISCSI. ''2018-02'jest arbitralnie wybraną kombinacją dat. 'Tecmint.com„jest domeną, którą należy ten konkretny LUN. Wreszcie ''Lun1'jest używany jako nazwa tego konkretnego celu.
  • drugi Wiersz powyżej ilustruje komentarz. Komentarze mogą istnieć w plikach konfiguracyjnych docelowych i muszą być poprzedzone za pomocą '#„Symbol.
  • trzeci Linia jest tam, gdzie istnieje rzeczywista przestrzeń do przechowywania, której inicjator będzie używany. W takim przypadku podłożem przechowywania będzie logicznym woluminem utworzonym wcześniej w przewodniku.
  • czwarty Linia to adres IP, który jest oczekiwany od inicjatora. Chociaż nie jest to wymagany element konfiguracji, może pomóc zwiększyć bezpieczeństwo.
  • piąty Linia to przychodząca nazwa użytkownika/hasło. Podobnie jak powyższy adres inicjatora, ten parametr też nie jest wymagany, ale może pomóc w zabezpieczeniu LUN. Ponieważ ten przewodnik obejmuje również ISCSI Mutual Chap, ten parametr jest wymagany. Ta linia wskazuje nazwę użytkownika i hasło, które cel będzie oczekiwał od inicjatora, aby połączyć się z tym LUN.
  • szósty Linia to nazwa użytkownika/hasło, które cel dostarczy inicjatorowi, aby umożliwić wzajemne uwierzytelnianie Chap. Zwykle ten parametr nie jest wymagany, ale ten artykuł obejmuje wzajemne uwierzytelnianie Chap, więc ten parametr jest wymagany.
  • Ostateczna linia to stwierdzenie zamknięcia dla definicji docelowej. Zwróć uwagę na rozcięcie zamykające przed celem słowa kluczowego!

Po wpisaniu odpowiednich konfiguracji LUN zapisz zmiany i wyjdź z edytora tekstu. Jeśli używasz Nano, uderzyć Ctrl+o uratować, a następnie uderzyć Ctrl+x Aby wyjść z Nano.

Utwórz plik konfiguracyjny LUN

Po utworzeniu pliku konfiguracyjnego, TGT Usługa powinna zostać ponownie uruchomiona TGT jest świadomy nowego cele i powiązana konfiguracja.

Można to zrobić za pomocą jednej z następujących poleceń i jest zależne od używanego systemu init.

# Service TGT Restart (dla systemów init init SYSV) # Systemctl restart TGT (dla systemów init Systemd) 

Raz TGT został wznowiony, ważne jest, aby sprawdzić, czy upewnić się, że Cel ISCSI jest udostępniany zgodnie z utworzonym plikiem konfiguracyjnym.

Można to osiągnąć dzięki 'TGTADM' Komenda.

# TGTADM -MODE Target --op show (to pokaże wszystkie cele) 
Pokaż wszystkie cele ISCSI

To kończy konfigurację cel. Następna sekcja będzie działać poprzez konfigurację inicjator.

Konfiguracja inicjatora debian ISCSI

Następny krok w użyciu wcześniej skonfigurowanego Cel ISCSI to konfiguracja INITION ISCSI.

Inny system Debian 9 będzie używany jako inicjator W tym artykule, ale każdy system, który może wykorzystać protokół ISCSI, może połączyć się z wcześniej skonfigurowanym celem; Może to obejmować hiperwizory, takie jak Xenserver/ESXI lub inne dystrybucje, takie jak Red Hat, Debian lub Ubuntu.

Pierwszy krok w tym procesie Debian inicjator to instalacja odpowiednich pakietów dla ISCSI.

# apt-get aktualizacja # apt-get instaluj Open-ISCSI 

Po zakończeniu konfiguracji konfiguracji Open-iscsi pakiety, INITION ISCSI Konfiguracja może się rozpocząć. Pierwszym krokiem będzie komunikowanie się z cel Aby uzyskać początkowe informacje konfiguracyjne dla przygotowanego celu.

# ISCSIADM -m Discovery -t st -p 192.168.56.101 

Kiedy to polecenie będzie działać, odpowiedzie na nazwę Lun skonfigurowane wcześniej dla tego konkretnego hosta. Powyższe polecenie wygeneruje również dwa pliki dla nowo odkrytych informacji o LUN.

Połącz serwer docelowy ISCSI

Teraz plik utworzony dla tego węzła będzie musiał mieć FACET informacje skonfigurowane w tym celu Cel ISCSI Aby być dostępnym przez inicjator.

Technicznie informacje te mogą być skonfigurowane dla całego systemu jako całości, ale w przypadku, gdy host łączy się z innymi Luns Przy różnych poświadczeniach umieszczenie tych poświadczeń w określonym pliku konfiguracyjnym węzłów może złagodzić wszelkie problemy.

Plik konfiguracyjny węzła będzie istniał w katalogu ”/etc/iscsi/węzły/'i będzie miał dostęp do katalogu na LUN. W przypadku tego artykułu (pamiętaj, że ścieżki się zmieni, jeśli nazwy/adresy IP zostaną zmienione).

#/etc/iscsi/węzły/iqn.2018-02.Tecmint.com \: LUN1/192.168.56.101 \, 3260 \, 1/domyślnie 

Aby pracować z tym plikiem, można użyć dowolnego edytora tekstu.

# nano/etc/iscsi/węzły/iqn.2018-02.Tecmint.com \: LUN1/192.168.56.101 \, 3260 \, 1/domyślnie 

W tym pliku będzie kilka już skonfigurowanych opcji dla odpowiednich cel które zostały określone podczas 'ISCSIADM„Polecenie uruchomi się wcześniej.

Od tego konkretnego debiana cel/inicjator Konfiguracja używa wzajemnego FACET, Kilka więcej opcji należy zmienić i dodać do tego pliku, a następnie zalogować się do Cel ISCSI wykonane.

Zmiany w tym pliku to:

węzeł.sesja.Auth.AuthMethod = rozdz. #enable Chap Uwierzytelnianie.sesja.Auth.Nazwa użytkownika = TECMINT-ISCSI-USER #TARGET do inicjatora węzła uwierzytelniania.sesja.Auth.hasło = hasło #Target do inicjatora węzła uwierzytelniającego.sesja.Auth.nazwa użytkownika_in = debian-iscsi-cel #initiator do celu docelowego uwierzytelniania.sesja.Auth.hasło_in = SecretPass #initiator do uwierzytelnienia 

Powyższe opcje na to pozwolą cel uwierzytelnić się do inicjator a także pozwól inicjator uwierzytelnić się do cel.

W tym konkretnym pliku istnieje inna opcja, która może wymagać zmiany w zależności od preferencji administratora, a mianowicie „węzeł.uruchomienie„Parametr.

Po przestrzeganiu tego przewodnika ''węzeł.uruchomienie„Opcja zostanie ustawiona na”podręcznik'W tym momencie. To może nie być pożądane. Jeśli administrator chce mieć Cel ISCSI Połączone po uruchomieniu systemu, zmieńpodręcznik' Do 'automatyczny' takie jak:

węzeł.Startup = automatyczny 

Po dokonaniu powyższych zmian zapisz plik i wyjdź. W tym momencie Inicjator Open-ISCSI Usługa musi zostać ponownie uruchomiona, aby odczytać te nowe zmiany i połączyć się z Cel ISCSI.

Można to osiągnąć za pomocą jednego z poniższych poleceń w zależności od używanego systemu init.

# Service Open-ISCSI Restart (dla systemów init SYSV) # Systemctl restartu 
Uruchom ponownie otwórz inicjator ISCSI

Zauważ w zielonym polu powyżej INITION ISCSI był w stanie zalogować się do cel. Aby dodatkowo potwierdzić, że Cel ISCSI jest rzeczywiście dostępny dla inicjator, Możemy sprawdzić system dodatkowych dysków, które są dostępne za pomocą 'lsblk„polecenie i sprawdzanie wyjściowych pod kątem dodatkowych dysków.

# lsblk 
Sprawdź dysk docelowy ISCSI

Inne polecenie, które można użyć na inicjator Aby potwierdzić połączenie z cel Jest 'ISCSIADM' takie jak:

# sesja ISCSIADM -M 
Potwierdź połączenie z celem ISCSI

Ostatnie miejsce do potwierdzenia, że ​​połączenie będzie na cel sam wykorzystuje 'TGTADM„Polecenie do wymienienia dowolnych połączeń ISCSI.

# TGTADM -MODE CONN --P show -TID 1 
Wymień połączenia ISCSI

Od tego momentu nowo przywiązani ISCSI Urządzenie może być używane podobnie do każdego normalnie dołączonego dysku! Partycjonowanie, tworzenie systemu systemu, montaż i/lub trwałe montaż można normalnie obsługiwać.

Jedna wielka ostrożność, o której należy pamiętać ISCSI Urządzenia są, jeśli Cel ISCSI zawiera ważne systemy plików, które są potrzebne jako inicjator uruchamia się, upewnij się, że użyj '_NETDEV`` Wpis w ''/etc/fstab„Plik, aby upewnić się, że urządzenie ISCSI jest podłączone przed kontynuowaniem uruchamiania systemu!