Block storage — ma’lumotni belgilangan o‘lchamdagi bloklar orqali o‘qish va yozish imkonini beradigan saqlash modeli. Host qurilmani disk kabi ko‘radi va bloklarni mantiqiy adreslar orqali boshqaradi. Storage tizimi fayl nomi yoki katalog ma’nosini bilmaydi; bu tuzilmani yuqori qatlamdagi file system, database yoki volume manager yaratadi.
Blok interfeysi
Operatsion tizim block device’ga read, write, flush va discard kabi buyruqlar yuboradi. Har so‘rov boshlang‘ich logical block address, uzunlik va yo‘nalishga ega. Zamonaviy qurilmalarda fizik sektor va OS ko‘radigan logical sektor o‘lchami farq qilishi mumkin; yozuvlarni to‘g‘ri chegaraga tekislash ortiqcha read-modify-write ishini kamaytiradi.
Local SSD, HDD, SAN LUN va cloud volume bir xil umumiy interfeysni berishi mumkin, lekin latency va failure xususiyatlari keskin farqlanadi. Remote block storage’da har I/O tarmoq orqali ketadi. Path redundancy va multipathing bir yo‘l uzilganda boshqa yo‘lga o‘tishni ta’minlaydi.
File va object storage’dan farqi
File storage server tomonida katalog, nom, permission va locking semantikasini taqdim etadi. Block storage’da host avval qurilmani formatlaydi, so‘ng mount qiladi. Object storage esa object key va HTTPga o‘xshash API bilan ishlaydi; odatda sectorni joyida yangilash imkonini bermaydi.
Block modeli database’ga page joylashuvi, write-ahead log va cache siyosatini chuqur boshqarish imkonini beradi. Biroq raw device bilan ishlash backup, metadata va recovery mas’uliyatini ham dastur zimmasiga yuklaydi.
Unumdorlik ko‘rsatkichlari
IOPS bir soniyada bajarilgan operatsiyalar sonini, throughput uzatilgan baytlar hajmini, latency esa bitta so‘rov vaqtini ko‘rsatadi. 4 KiB random I/O bilan 1 MiB sequential I/O bir xil IOPS bo‘lsa ham mutlaqo boshqa throughput beradi. Queue depth ko‘p so‘rovni parallel yuborish darajasidir; yuqori qiymat throughputni oshirishi, ammo tail latency’ni yomonlashtirishi mumkin.
Read va write cache natijani tezlashtiradi. Write-back cache elektr uzilganda ma’lumot yo‘qotmaslik uchun barqaror quvvat yoki replicationga tayanadi. Dastur durability talab qilganda fsync yoki flush buyruqlarining barcha qatlamlar orqali haqiqiy stable storage’gacha yetishi muhim.
Data protection
RAID yoki replication bitta qurilma nosozligiga chidamlilik beradi, lekin foydalanuvchi o‘chirgan blokni ham tezda nusxalaydi; shu sababli backup o‘rnini bosmaydi. Snapshot copy-on-write xarita orqali tez yaratilishi mumkin. Crash-consistent snapshot qurilma quvvati birdan uzilgandagi holatga o‘xshaydi; application-consistent nusxa uchun database flush yoki freeze qilinadi.
Encryption bloklarni backend yoki host qatlamida shifrlaydi. Host-side encryption storage operatoridan plaintextni yashirishi mumkin, ammo kalit yo‘qolsa volume tiklanmaydi. Secure erase ba’zan har blokni yozish o‘rniga encryption key’ni yo‘q qilish orqali bajariladi.
Operatsion xavflar
Bitta volume’ni muvofiqlashtirmasdan ikki hostga read-write ulash file systemni buzishi mumkin. Cluster file system yoki database shared-disk protokoli distributed lock va fencing ishlatadi. Fencing eski hostning yozish huquqini qat’iy uzadi.
Thin-provisioned backend to‘lib qolsa hostda logical bo‘sh joy ko‘rinsa ham yozuv xatosi yuz beradi. Monitoring latency, queue, media error, capacity va throttlingni birgalikda kuzatadi. Discard/TRIM bo‘shatilgan bloklarni backendga bildiradi, ammo uning performance va security semantikasi platformaga bog‘liq.
Bog‘liq tushunchalar
Storage volume, File storage, Object storage, IOPS, Logical block address, Snapshot, Multipathing, RAID