iSCSI
iSCSI (ang. Internet Small Computer Systems Interface) – protokół sieciowy umożliwiający przekazywanie poleceń SCSI oraz danych transportowanych przy użyciu protokołu TCP/IP. Dzięki iSCSI zasoby pamięci masowej (np. dyski twarde czy macierze dyskowe) mogą być udostępniane w sieci Ethernet tak, jakby były podłączone bezpośrednio do komputera.
Historia
Pomysł wykorzystania protokołu TCP/IP do transmisji poleceń SCSI pojawił się na początku lat 1990 w ramach prac grupy IETF. Pierwszy standard iSCSI został opublikowany w 2000 roku w dokumencie RFC 3720. W kolejnych latach protokół został zaktualizowany, głównie w dokumentach RFC 7143 i RFC 3721, które wprowadziły m.in. wsparcie dla wielu sesji i ulepszone mechanizmy bezpieczeństwa.
Architektura
Model architektoniczny iSCSI opiera się na dwóch podstawowych elementach:
- Initiator (inicjator) – oprogramowanie lub sprzęt działający po stronie klienta, które inicjuje połączenia i wysyła polecenia SCSI.
- Target (cel) – urządzenie udostępniające wolumeny pamięci masowej, najczęściej serwer NAS lub dedykowana macierz SAN.
Połączenie pomiędzy initiatorem a targetem realizowane jest w warstwie transportowej protokołu TCP (w trybie połączeniowym) lub UDP (w trybie iSCSI over UDP), co umożliwia wykorzystanie istniejącej infrastruktury sieciowej.
Elementy protokołu
iSCSI Initiator
Implementacje inicjatora dostępne są w systemach operacyjnych takich jak Linux (open-iscsi), Microsoft Windows (iSCSI Initiator) oraz macOS. Inicjator tworzy sesję iSCSI, negocjuje parametry (maksymalny rozmiar PDU, tryb uwierzytelniania) i wystawia wirtualne dyski (tzw. LUN-y) w systemie plików.
iSCSI Target
Popularne oprogramowanie targetowe to Open-iSCSI (tryb target), Microsoft iSCSI Target, a także rozwiązania komercyjne OEM‑ów (Dell EMC, HPE, NetApp). Target udostępnia zasoby w postaci LUN-ów, które mogą być mapowane do wielu initiatorów jednocześnie.
Zalety iSCSI
- Wykorzystanie istniejącej infrastruktury Ethernet – brak konieczności inwestycji w dedykowane medium (np. Fibre Channel).
- Łatwość zarządzania i skalowalność – wirtualne dyski mogą być dodawane i usuwane w locie.
- Możliwość stosowania zaawansowanych mechanizmów bezpieczeństwa (CHAP, IPSec).
- Obsługa standardowych systemów operacyjnych dzięki wbudowanym initiatorom.
Wady iSCSI
- Obciążenie CPU – enkapsulacja SCSI w TCP wymaga dodatkowego przetwarzania.
- Wrażliwość na opóźnienia sieciowe – wydajność może spadać przy wysokim opóźnieniu lub utracie pakietów.
- Ograniczenia przepustowości w zależności od używanej technologii Ethernet (np. 1 GbE vs 10 GbE).
Zastosowania
iSCSI jest wykorzystywane w różnych scenariuszach:
- Tworzenie SAN w małych i średnich przedsiębiorstwach.
- Rozwiązania backupowe i snapshoty danych.
- Wirtualizacja – serwery VMware, Hyper‑V i KVM często korzystają z iSCSI jako pamięci masowej dla maszyn wirtualnych.
- Rozszerzanie pojemności serwerów baz danych (SQL Server, Oracle) bez fizycznego podłączania dysków.
Porównanie z innymi protokołami
| Cecha | iSCSI | Fibre Channel | NFS |
|---|---|---|---|
| Medium | Ethernet (TCP/IP) | Fiber (FC) | Ethernet (TCP/IP) |
| Koszt | Niski – wykorzystuje istniejącą sieć | Wysoki – wymaga dedykowanego sprzętu | Niski – protokół plikowy |
| Wydajność | Do 100 GbE (zależnie od sieci) | Do 32 Gb/s | Do 10 GbE (zależnie od implementacji) |
| Bezpieczeństwo | CHAP, IPSec | Wbudowane w protokół | NFSv4 + Kerberos |
Bezpieczeństwo
iSCSI zapewnia kilka mechanizmów ochrony danych:
- CHAP (Challenge‑Handshake Authentication Protocol) – uwierzytelnianie initiatora i targetu.
- IPSec – szyfrowanie całego ruchu iSCSI na poziomie warstwy sieciowej.
- Izolacja wirtualnych sieci (VLAN) – separacja ruchu iSCSI od pozostałego ruchu użytkowników.
Standardy i specyfikacje
Podstawowe dokumenty definiujące iSCSI:
- RFC 3720 – iSCSI Protocol – Definitions (2004)
- RFC 7143 – iSCSI Protocol – Textual Specification (2014)
- RFC 3721 – iSCSI Extensions for RDMA (iSER) (2004)
Implementacje i oprogramowanie
Najbardziej rozpowszechnione rozwiązania:
- Open-iSCSI – otwarto‑źródłowy initiator i target dla systemów Linux.
- Microsoft iSCSI Initiator – wbudowany w Windows od wersji XP.
- VMware vSphere – oferuje VMFS iSCSI oraz wsparcie dla targetów.
- FreeBSD ctld – implementacja iSCSI target.
Przyszłość i trendy
W miarę rozwoju standardów NVMe nad protokołem NVMe‑oF, iSCSI traci część wydajnościowej przewagi, ale nadal pozostaje popularnym rozwiązaniem w małych i średnich środowiskach ze względu na prostotę wdrożenia i niski koszt. Współczesne implementacje coraz częściej łączą iSCSI z technologią RDMA, aby zmniejszyć obciążenie CPU i zwiększyć przepustowość.
Bibliografia
- J. Riley, iSCSI: Standard i praktyka, Wydawnictwo PWN, 2019.
- J. Carolla, Storage Networks: The Definitive Guide, 2nd ed., O'Reilly, 2020.
- „iSCSI Protocol – Definitions”, RFC 3720, 2004.
- „iSCSI Protocol – Textual Specification”, RFC 7143, 2014.
Artykuł powstał w oparciu o powszechnie dostępne źródła informacji oraz dokumentację techniczną.