Bosh sahifa Wiki iSCSI

iSCSI

iSCSI — SCSI buyruqlarini TCP/IP tarmog‘i orqali tashib, masofadagi saqlash resursini mijozga block device sifatida taqdim etadigan protokoldir. Nomi Internet Small Computer Systems Interface iborasidan olingan. Server tomoni target, undan foydalanadigan host esa initiator deb ataladi; target ichidagi mantiqiy disk LUN orqali ko‘rsatiladi.

Ishlash modeli

Initiator target portalining IP manzili va TCP portiga ulanadi, discovery orqali mavjud targetlarni topishi mumkin. Login bosqichida parametrlar kelishiladi va iSCSI session hosil bo‘ladi. Keyin SCSI read, write va inquiry buyruqlari iSCSI PDU ichida TCP orqali uzatiladi.

Operatsion tizim remote LUNni mahalliy diskka o‘xshab ko‘radi. Partition, filesystem yoki database storage engine shu blok qurilmadan foydalanadi. Fayl sharing kerak bo‘lsa, filesystemni odatda bitta host yaratadi yoki cluster filesystem hamda locking ishlatiladi; oddiy filesystemni bir nechta host nazoratsiz mount qilishi buzilish keltiradi.

Tarmoq talablari

iSCSI odatiy Ethernet infratuzilmasidan foydalangani uchun alohida Fibre Channel fabric talab qilmaydi. Biroq storage trafik latency, loss va congestionga sezgir. Yetarli bandwidth, to‘g‘ri queue, redundant switch va kuzatiladigan network path muhim.

Jumbo frame faqat end-to-end barcha qurilma bir xil MTU bilan sozlanganda overheadni kamaytirishi mumkin. Noto‘g‘ri MTU yashirin fragmentation yoki ulanish muammosi yaratadi. TCP offload va multipath kabi optimallashtirish haqiqiy workload bilan sinovdan o‘tkaziladi.

Multipath va mavjudlik

Multipath I/O hostdan storage’gacha bir nechta mustaqil yo‘l yaratadi. Bir NIC, switch, controller yoki cable ishdan chiqsa boshqa path xizmatni davom ettiradi. Path policy active-active yoki active-passive target arxitekturasiga moslanadi.

Faqat ikki IP manzil yaratish to‘liq redundancy emas; yo‘llar umumiy fizik switch yoki quvvat manbasiga bog‘langan bo‘lsa bir xil failure domain saqlanadi. Failover va path recovery rejalashtirilgan sinovda tekshiriladi.

Xavfsizlik

CHAP initiator va targetni credential orqali autentifikatsiya qilishi mumkin, lekin o‘zi trafikni shifrlamaydi. Maxfiy tarmoqda VLAN yoki alohida fabric bilan segmentatsiya, ACL va firewall targetga kirishni cheklaydi. Tarmoq ishonchsiz bo‘lsa IPsec kabi himoya ko‘rib chiqiladi.

LUN masking qaysi initiator qaysi LUNni ko‘rishini belgilaydi. IQN nomi identifikator bo‘lsa-da, faqat unga ishonish kuchli autentifikatsiya o‘rnini bosmaydi. Management interfeysi storage data path’dan ajratiladi va audit qilinadi.

Unumdorlik va operatsiya

Queue depth ko‘p parallel I/Oni yuborishga imkon beradi, ammo ortiqcha qiymat targetda latency navbatini oshirishi mumkin. Monitoring IOPS, throughput, latency, retransmission, path state va storage queue’ni birga ko‘radi. Sekinlikni faqat disk yoki faqat network bilan izohlashdan oldin end-to-end o‘lchov olinadi.

Snapshot va replication target funksiyasi bo‘lishi mumkin, ammo host filesystem yoki database consistency alohida muvofiqlashtiriladi. LUNni o‘chirish, resize qilish yoki pathni almashtirishdan oldin initiator holati hamda multipath xaritasi tekshiriladi.

Session va connection

Bitta iSCSI session ichida bir yoki bir nechta TCP connection bo‘lishi mumkin, ammo multipath bilan multi-connection session bir xil tushuncha emas. MPIO mustaqil target portal va failure pathlarni operatsion tizim darajasida boshqaradi. Discovery maqsadni topishni yengillashtiradi, lekin keraksiz targetlarni keng tarmoqqa e’lon qilmaslik kerak. Persistent login bootdan keyin LUNni qayta ulaydi; root filesystem iSCSI’da bo‘lsa initramfs ichida NIC, initiator va autentifikatsiya sozlamasi mavjud bo‘ladi. Tizim shutdownda filesystemni uzishdan oldin yozuvlarni flush qiladi.

Bog‘liq tushunchalar

SCSI, LUN, SAN, Multipath I/O, Block storage, CHAP