RAID — bir nechta fizik diskni bitta mantiqiy storage tizimiga birlashtirib, performance, sig‘im yoki nosozlikka chidamlilikni oshirish usuli. Uning to‘liq nomi Redundant Array of Independent Disks hisoblanadi.
RAID ma’lumotni disklar orasida turli sxema bilan taqsimlaydi:
- striping;
- mirroring;
- parity;
- ularning kombinatsiyasi.
RAID backupning o‘rnini bosmaydi. U asosan disk nosozligiga qarshi ishlaydi.
Striping
Data bloklari disklar orasida navbat bilan yoziladi.
Misol, ikki disk:
Block 1 → Disk A
Block 2 → Disk B
Block 3 → Disk A
Block 4 → Disk B
Bir nechta disk parallel ishlagani sabab throughput oshadi.
Ammo redundancy bo‘lmasa, bitta disk nosozligi butun arrayni buzadi.
Mirroring
Bir xil data ikki yoki undan ko‘p diskka yoziladi.
Bir disk ishlamay qolsa, nusxa saqlanadi.
Kamchiligi — usable capacity fizik sig‘imning bir qismigina.
Parity
Parity bir yoki bir nechta disk yo‘qolganda data’ni qolgan bloklardan hisoblab tiklashga yordam beradi.
Oddiy XOR parity:
A XOR B = P
A yo‘qolsa:
B XOR P = A
Parity write paytida qo‘shimcha hisob va I/O talab qiladi.
RAID 0
RAID 0 faqat striping.
Xususiyatlari:
- minimum 2 disk;
- usable capacity — disklar yig‘indisi;
- read/write performance yuqori;
- redundancy yo‘q.
Bitta disk buzilsa, arraydagi barcha data yo‘qolishi mumkin.
Temporary yoki qayta yaratiladigan data uchun ishlatiladi.
RAID 1
RAID 1 mirroring.
Xususiyatlari:
- minimum 2 disk;
- usable capacity odatda bitta disk hajmi;
- read bir nechta nusxadan bajarilishi mumkin;
- write barcha mirrorlarga yoziladi;
- bir disk nosozligiga chidamli.
Disklar hajmi turlicha bo‘lsa, kichik disk hajmi asos bo‘ladi.
RAID 5
RAID 5 distributed parity bilan striping.
Xususiyatlari:
- minimum 3 disk;
- usable capacity
(N - 1) × eng kichik disk; - bitta disk nosozligiga chidamli;
- read tez;
- small random write parity overheadga ega.
Katta disk va uzoq rebuild davrida ikkinchi disk xatosi xavfli.
RAID 6
RAID 6 ikki mustaqil parity ishlatadi.
Xususiyatlari:
- minimum 4 disk;
- usable capacity
(N - 2) × eng kichik disk; - ikki disk nosozligiga chidamli;
- write overhead RAID 5dan yuqori.
Katta capacity arraylarda ko‘proq himoya beradi.
RAID 10
RAID 10 mirror juftliklar ustida striping.
Xususiyatlari:
- minimum 4 disk;
- usable capacity taxminan 50%;
- yuqori read/write performance;
- tez rebuild;
- turli mirror juftlikdagi bir nechta disk nosozligiga chidashi mumkin.
Bir mirror juftlikdagi ikkala disk buzilsa array yo‘qoladi.
Nested RAID
RAID 01 va RAID 10 nomlari o‘xshash, lekin failure xatti-harakati farq qiladi.
RAID 10 odatda fault tolerance jihatdan ma’qulroq.
Vendor implementatsiyasi disk guruhlarini qanday tashkil qilishi tekshiriladi.
Hardware RAID
Alohida controller:
- parity hisoblaydi;
- disklarni boshqaradi;
- cache;
- battery yoki flash-backed write cache;
- hot spare;
- monitoring
beradi.
Kamchiligi — controllerga bog‘liqlik. Controller buzilsa mos controller kerak bo‘lishi mumkin.
Software RAID
Operatsion tizim RAIDni software orqali boshqaradi.
Afzalliklari:
- standard disk interfeysi;
- controllerga kam bog‘liqlik;
- moslashuvchan;
- zamonaviy CPUda parity hisoblash yetarli tez.
Linux MD, ZFS RAID-Z va boshqa tizimlar misol.
Firmware RAID
Motherboard firmware RAID metadata yozadi, ammo asosiy ish driver va CPUda bajariladi.
Bu ba’zan “fake RAID” deb ataladi.
OS driver qo‘llovi muhim.
Stripe size
Stripe size bir diskka navbatdagi diskka o‘tishdan oldin yoziladigan data hajmi.
Kichik stripe:
- random workload;
- ko‘p diskka tarqalish.
Katta stripe:
- sequential workload;
- video;
- backup.
Filesystem va application block size bilan moslik performance’ga ta’sir qiladi.
Write hole
Power loss vaqtida data va parityning faqat bir qismi yozilsa, ular mos kelmay qolishi mumkin.
Himoya:
- battery-backed cache;
- flash-backed cache;
- journaling;
- copy-on-write filesystem;
- write intent bitmap;
- power-loss protection.
Hot spare
Hot spare arrayga ulangan, ammo normal data uchun ishlatilmaydigan zaxira disk.
Disk buzilganda controller avtomatik rebuildni spare’da boshlaydi.
Hot spare backup emas va latent xatoni tuzatmaydi.
Rebuild
Nosoz disk almashtirilganda data yoki parity yangi diskka qayta tiklanadi.
Rebuild:
- barcha disklarni kuchli o‘qiydi;
- performance’ni pasaytiradi;
- boshqa disk xatosi xavfini oshiradi;
- katta diskda uzoq davom etadi.
Rebuild priority workload bilan muvozanatlanadi.
Degraded mode
Disk yo‘qolganda array degraded holatga o‘tadi.
Data mavjud bo‘lishi mumkin, ammo:
- redundancy kamaygan;
- read paritydan hisoblanishi;
- performance pasayishi;
- ikkinchi xatoga xavf.
Alert darhol yuboriladi.
URE
Disk o‘qish paytida qayta tiklab bo‘lmaydigan sector xatosi Unrecoverable Read Error.
Rebuild barcha disk maydonini o‘qigani sabab URE ehtimoli oshadi.
RAID level, disk turi va scrub siyosati shunga mos tanlanadi.
Scrub
Array davriy ravishda barcha blok va parityni tekshiradi.
Bu latent xatolarni disk nosozligidan oldin aniqlashga yordam beradi.
Scrub performance’ga yuk beradi va jadval asosida bajariladi.
RAID va backup
RAID quyidagilardan himoya qilmaydi:
- faylni tasodifiy o‘chirish;
- ransomware;
- application corruption;
- noto‘g‘ri update;
- controller yoki filesystem xatosi;
- yong‘in;
- o‘g‘rilik;
- butun server yo‘qolishi.
Backup alohida media yoki joyda, versiyali va tiklash sinovi bilan saqlanadi.
Disk tanlash
Arrayda:
mosligi muhim.
Bir xil model disklar bir xil vaqtda eskirishi mumkin. Turli production batch riskni taqsimlashi mumkin.
Monitoring
RAID uchun:
- array holati;
- disk SMART;
- media error;
- degraded;
- rebuild progress;
- cache battery;
- temperature;
- controller log;
- patrol read;
- spare
kuzatiladi.
Faqat OS volume ko‘rinishi array sog‘lomligini kafolatlamaydi.
Diagnostika
RAID muammosida:
- qaysi level;
- qaysi disk nosoz;
- metadata;
- rebuild holati;
- controller;
- cache;
- sector size;
- SMART;
- event log;
- backup mavjudligi
tekshiriladi.
Bir nechta disk “foreign” yoki “failed” ko‘rinsa, tartibsiz qayta initialize qilish data’ni yo‘qotishi mumkin.
Bog‘liq tushunchalar
Striping, Mirroring, Parity, RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, Rebuild, Hot spare, Backup