Architektura systemu Linux i protokołu iSCSI
Korzystanie z urządzenia QNAP NAS jako zewnętrznego magazynu opartego na protokole iSCSI będzie bezpieczne i wydajne, a ponadto będzie można używać wszystkich innych funkcji ułatwiających wykorzystanie zasobów magazynowych. Na przykład funkcja rozbudowy poolu w trybie online oraz alokacja cienka urządzenia ES NAS umożliwiają rozszerzanie magazynów danych w trybie online bez przestojów. Aby korzystać z sieci SAN (Storage Area Network) opartych na protokole iSCSI, należy utworzyć jednostkę LUN na docelowym urządzeniu iSCSI (tj. ES NAS), a następnie zainstalować ją jako magazyn danych na hoście. Poniższy diagram ilustruje wykorzystanie magazynu iSCSI w środowisku Linux.
Uwaga:
Do połączenia z docelowym urządzeniem iSCSI zalecana jest karta sieciowa Gigabit Ethernet przesyłająca dane z szybkością 1000 megabitów na sekundę (Mb/s).
Przygotowanie do instalacji
Ustalono, że hosty mogą łączyć się z urządzeniem ES NAS za pośrednictwem protokołu iSCSI. Można skonfigurować magazyny danych (repozytoria dla maszyn wirtualnych) na urządzeniu ES NAS, które hosty wykrywają w środowisku Linux. Poniżej zostanie przedstawiona ta implementacja.
W prezentacji użyta jest następująca konfiguracja:
- Urządzenie magazynowe: seria QNAP ES NAS z systemem QES 1.1.4 (system operacyjny NAS) lub nowszym.
- Hosty z systemem Linux: CentOS 7 x86_64
- Pakiety open-iscsi: 6.2.0.873-32.el7
- Pakiety device-mapper-multipath: 0.4.9-85.el7_2.1
- Adresowanie IP: Dla hostów z systemem Linux oraz urządzenia ES NAS zalecane są statyczne adresy IP.
Ustawienia sieci serwera i magazynu
| Ustawienia sieci serwera | ||
|---|---|---|
| Rola | Adres IP | Opis |
| Sieć danych 1 | 10.10.10.21 | Port danych 10G 1 w hoście z systemem Linux |
| Sieć danych 2 | 10.10.20.21 | Port danych 10G 2 w hoście z systemem Linux |
| Ustawienia sieci magazynu | ||
|---|---|---|
| Ustawienie | Wartość | Opis |
| IP zarządzania SCA | 192.168.1.10 | IP zarządzania kontrolera A |
| IP Ethernet1 SCA | 10.10.10.51 | IP portu danych 1 kontrolera A |
| IP Ethernet2 SCA | 10.10.20.51 | IP portu danych 2 kontrolera A |
| IP zarządzania SCB | 192.168.1.11 | IP zarządzania kontrolera B |
| IP Ethernet1 SCB | 10.10.10.52 | IP portu danych 1 kontrolera B |
| IP Ethernet2 SCB | 10.10.20.52 | IP portu danych 2 kontrolera B |
Potwierdzenia wymagane przed konfiguracją
- Wszystkie porty danych, zarówno hosta z systemem Linux, jak i urządzenia ES NAS, powinny znajdować się w tej samej podsieci.
- Przed skonfigurowaniem jednostki LUN iSCSI na urządzeniu ES NAS należy zbudować dostępne poole. Aby zbudować poole, zapoznaj się z dokumentem „ES quick setup".
Definicja
W tym dokumencie host z systemem Linux jest zdefiniowany jako inicjator iSCSI, a urządzenie QNAP ES NAS jako docelowe urządzenie iSCSI.
Konfigurowanie protokołu iSCSI z funkcją MPIO w systemie Linux
Konfigurowanie inicjatora open-iscsi
Krok 1: Wykrywanie docelowego urządzenia iSCSI ES NAS
# iscsiadm -m discovery -t st -p 10.10.10.51
# iscsiadm -m discovery -t st -p 10.10.10.52
# iscsiadm -m discovery -t st -p 10.10.20.51
# iscsiadm -m discovery -t st -p 10.10.20.52
Krok 2: Logowanie do docelowego urządzenia iSCSI
# iscsiadm -m node –l
Krok 3: Wyświetlanie szczegółów sesji iSCSI
# iscsiadm -m session
tcp: [23] 10.10.20.51:3260,1 iqn.2004-04.com.qnap:es1640dc:iscsi.linux.e57840.0 (non-flash)
tcp: [24] 10.10.10.51:3260,1 iqn.2004-04.com.qnap:es1640dc:iscsi.linux.e57840.0 (non-flash)
tcp: [31] 10.10.20.52:3260,1 iqn.2004-04.com.qnap:es1640dc:iscsi.linux.e57840.1 (non-flash)
tcp: [32] 10.10.10.52:3260,1 iqn.2004-04.com.qnap:es1640dc:iscsi.linux.e57840.1 (non-flash)
Konfigurowanie funkcji multipath
Krok 1: Tworzenie pliku konfiguracyjnego funkcji multipath
# mpathconf --enable --with_multipathd y
Krok 2: Konfigurowanie ustawień funkcji multipath
# vim /etc/multipath.conf
defaults {
user_friendly_names yes
find_multipaths yes
polling_interval 10
path_selector "round-robin 0"
path_grouping_policy multibus
uid_attribute ID_SERIAL
prio alua
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
}
Krok 3: Po zakończeniu edycji uruchom ponownie usługę multipath.
#systemctl restart multipathd
Krok 4: Sprawdzanie stanu funkcji multipath
# multipath -ll
mpathn (36e843b66430373739633034323866663) dm-2 QNAP ,iSCSI Storage
size=100G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=30 status=active
|- 26:0:0:1 sdf 8:80 active ready running
|- 25:0:0:1 sdj 8:144 active ready running
|- 34:0:0:1 sdbe 67:128 active ready running
`- 33:0:0:1 sdx 65:112 active ready running
Korzystanie z jednostki LUN
Krok 1: Tworzenie partycji
# fdisk /dev/mapper/mpathn
Krok 2: Formatowanie partycji
# mkfs.ext4 /dev/mapper/mpathn
Krok 3: Montowanie systemu plików
# mount /dev/mapper/mpathn /mount_point/
Krok 4: Montowanie systemu plików podczas uruchamiania systemu
# vim /etc/fstab
Krok 5: Dodanie wiersza do pliku
/dev/mapper/mpathn /mount_point/ ext4 defaults,_netdev 1 2
Podsumowanie
Po skonfigurowaniu ustawień funkcji multipath inicjator iSCSI systemu Linux będzie używać wszystkich dostępnych interfejsów do przesyłania danych w celu zapewnienia równoważenia obciążenia i wysokiej dostępności.