encyklopedia.space

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 3720iSCSI Protocol – Definitions (2004)
  • RFC 7143iSCSI Protocol – Textual Specification (2014)
  • RFC 3721iSCSI 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ą.