Bosh sahifa Wiki Distributed storage

Distributed storage

Distributed storage — ma’lumotni tarmoq orqali bog‘langan bir nechta tugun va diskda saqlab, clientga yagona storage xizmati sifatida ko‘rsatadigan tizim. U capacity va throughputni gorizontal kengaytirish, qurilma nosozligiga chidash hamda ma’lumotni turli failure domainlarga tarqatish uchun ishlatiladi.

Asosiy qatlamlar

Client qaysi node ma’lumotni saqlashini bilmasligi mumkin. Metadata xizmati object, block yoki file nomini fizik joylashuv bilan bog‘laydi; data node’lar esa fragmentlarni saqlaydi. Placement algorithm hash, CRUSHga o‘xshash deterministik xarita yoki markaziy metadata orqali target tanlaydi.

Control plane membership, health va placementni boshqaradi. Data plane client read/write oqimini tashiydi. Ularning alohida failure va scale xususiyatlari mavjud: metadata bottleneck bo‘lsa ko‘p bo‘sh data disk bo‘lishiga qaramay xizmat sekinlashadi.

Data modeli

Distributed block storage VM yoki databasega disk device beradi. Distributed file system directory, file va POSIXga yaqin semantics taqdim etadi. Object storage HTTP API orqali immutable yoki butun obyekt sifatidagi data bilan ishlaydi. Bitta platforma bir nechta interfeysni umumiy backend ustida berishi mumkin, lekin consistency va performance bir xil emas.

Workload access patterni tanlovni belgilaydi: kichik random write, katta sequential object, metadata-heavy file create va analytic scan boshqa dizayn talab qiladi.

Redundancy

Replication har fragmentning bir nechta to‘liq nusxasini saqlaydi; sodda tiklanadi, ammo ko‘proq sig‘im ishlatadi. Erasure coding data va parity fragmentlar orqali storage overheadni kamaytiradi, evaziga encode/reconstruction CPU va network xarajatini oshiradi.

Replica soni durabilityni faqat nusxalar mustaqil disk, host va racklarga joylashtirilganda beradi. Placement rule topologiyani biladi. Correlated firmware xatosi, operator delete yoki ransomware uchun alohida backup va immutability kerak.

Consistency va quorum

Bir nechta replica orasida write acknowledgement qoidasi consistency va availabilityga ta’sir qiladi. Strong consistency ko‘pincha leader yoki consensusga tayanadi. Eventual consistency vaqtincha eski qiymat ko‘rsatishi mumkin. Split-brainni cheklash uchun quorum va fencing ishlatiladi.

Quorum” atamasi mahsulotlar orasida turli ma’noga ega. Write va read sonlari, conflict resolution, clock hamda failure modeli hujjatda aniq tekshiriladi. Distributed tizim network partitionni oddiy disk xatosidek qabul qila olmaydi.

Rebalancing va repair

Node qo‘shilganda data yangi capacityga ko‘chiriladi. Rebalancing production IO bilan tarmoq va diskni bo‘lishadi; tezligi throttling orqali boshqariladi. Node yo‘qolganda recovery replica yoki paritydan fragment yaratadi. Katta disklar rebuild window’ni cho‘zadi va shu vaqtda ikkinchi xato xavfi oshadi.

Checksum va scrub yashirin bit rotni topadi. Repair backlog ortishi redundancy nominal ko‘rinsa ham real durability kamayganini bildiradi.

Ekspluatatsiya

Monitoring usable/raw capacity, latency percentillari, replication lag, degraded object, recovery throughput, metadata health va network congestionni kuzatadi. Capacity faqat disk foizi emas; ayrim node, rack yoki placement class to‘lishi butun klasterni cheklashi mumkin.

Upgrade rolling bajarilsa protocol va on-disk format compatibilitysi tekshiriladi. Failure test node, rack, network partition va control-plane yo‘qolishini qamraydi. Backup restore hamda cluster butunlay yo‘qolganda metadata va keylarni qayta tiklash tartibi muntazam sinaladi.

Bog‘liq tushunchalar

Replication, Erasure coding, Distributed file system, Object storage, Block storage, Quorum, Data placement, Rebalancing