GH GambleHub

Block Storage և արտադրողականությունը

Live ռեզյումե

Բլոկային պահեստը տալիս է հում սարքեր (LUN/հատոր), որոնց վերևում դուք կառուցում եք FS, LVM/ZMS և այլն։ Արտադրողականությունը որոշվում է 'կրիչի տեսակը, մուտքագրումը, հերթերը և խորությունը, բլոկի չափսերը, միացումը (SNC/EC), քեշները և խոչընդոտները, ցանցային գործարանը, ինչպես նաև I/O հատուկ ծրագիրը (rand/հաջորդական, ընթերցում/ձայնագրություն, wwww.nc/async)։ Նպատակն է ապահովել անհրաժեշտ p95/p99 ուշացումները և IOPS/բաց կայուն և կանխատեսելի։

Փայլուն հասանելիության տաքսոնոմիա

Տեղական ՝ NVMe (PCIe), SAS/SATA SSD/HDD։ Նվազագույն լատենտ, ցանցային նեղ տեղերի բացակայություն։

Ցանցային

iSCSI (Ethernet, LUN, MPIO, ALUA).

Fibre Channel (FC) (16-64G, ցածր ուշացումները, հովանոցը)։

NVME-oF: NVMe/TCP, NVME/RoCE, NVME/FC - «NVME» ցանցը, ավելի քիչ կեղծ։

HCI/բաշխված (Ceph RBD, vSAN) 'հարմար մեծացում, բայց լատինականությունը ավելի բարձր է, քննադատական է ցանցը/կոդավորումը։

Ընտրություն (ազդանշաններ)

p99 latency 241-2 ms, շատ բարձր IOPS-ը տեղական NVMe/NVMe-oF-ն է։

Կայուն «միջին» լատենտ 2-5 ms, տեսողական գործարան www.FC կամ NVMe/FC։

Բելգիայի վրա միավորումը, ավելի հեշտ է օգտագործել www.iSCSI կամ NVMe/TCP-ը։

Արձանագրությունները և դրանց առանձնահատկությունները

iSCSI 'համընդհանուր, MPIO/ALUA, զգայուն է TCP (MTU, www.load, qdepth)։

FC 'մեկուսացում, հոսքեր առանց վիզաների, WWPN, HBA գծեր և վարկեր։

NVME-oF: Զուգահեռ բազմաթիվ Disission/Completion Queues, ցածր CPU-2019, TSA-ն հնարավոր է NVMe/TCP (անհրաժեշտության դեպքում) համար։

III/EC և կրողներ

RAID10-ը նվազագույն լատենտ և կանխատեսելի IOPS-ն է։ լավատես է BD/դրամապանակների համար։

RAID5/6-ը ավելի լավ է տարաներով, ձայնագրման տուգանքը (write penalty), ընկնում է IOPS-ը nc-write-ի համար։

Erasure Coding-ը բաշխված զանգվածներում ձեռնտու է տեմպերով, բայց ձայնագրությունը «ավելի թանկ է»։

NVMe SSD-p99 տեղային; SAS SSD-ը փոխզիջում է։ HDD-ը հետևողական անցք է, բայց վատ վերք։

Հիբրիդային համակարգեր և հավասարեցում

XIV-ը հիանալի ընտրություն է մեծ ֆայլերի/BD ամսագրերի տակ։ տեղադրված «agcount», «realtime» լոգարանների համար։

ext4-ը համընդհանուր է, ուշադիր '«stride/strone e _ width» տակ։

ZMS-COW, ամբողջականության, դիպուկահարների/կրկնօրինակի ստուգում, ARC/ZIL/SLOG; nc բեռնման համար SLOG-ն NVMe-ում PLP-ի հետ։

Հավասարեցում ՝ 1MiB-aligned հատվածներ, ճիշտ «recordsize »/« blocksize» բեռի տակ։

Հերթերը, խորությունը և բլոկի չափը

IOPS-ը աճում է Queue Depth-ից, բայց աճում է նաև լատինականությունը։ նպատակը QD է, որը տալիս է անհրաժեշտ IOPS-ը p95/p99 վերահսկման ժամանակ։

Բլոկի չափը 'փոքր (4-16K) - ավելի շատ IOPS, ավելի վատ անցնող; մեծ (128K-1M) - ավելի լավ արագություն։

NVMe qpairs: Հատկացրեք միջուկներով/NUMA; iSCSI/FC: qdepth NVA/նախաձեռնողներ, MPIO քաղաքականություն։

Խոչընդոտները և FUA-ը 'write-barriers-ներն ավելացնում են պարամետրերը, բայց ավելացնում են p99; SLOG/PLP-ն փոխհատուցում է։

Multipath և հասանելիություն

MPIO/DM-Multipath 'ուղիների ագրեգացիան, անկայունությունը։

Քաղաքական գործիչները ՝ «round-robin» (հավասարակշռություն), «queue-length» (ավելի խելացի), «failover» (71-լոկոմոտիվ)։

ALUA '«նախընտրելի» ճանապարհներ ակտիվ վերահսկողի համար։

Կարևոր է, որ «բանաձև _ path _ retry», «queue _ if _ բանաձև _ path» - կոկիկ, որպեսզի չլինի «սառեցնել» I/O երկար րոպեների ընթացքում։

FC zonization: «մեկ նախաձեռնող գոտի մեկ target» (reduces blast radius)։

NVMe-oF: ANA (Asymmetric Namespace Access) — аналог ALUA.

TRIM/Wincard և cashing

TRIM/Wincard-ը ազատում է SSD բլոկները (նվազեցնում է write-amp, կայունացնում է լատինականությունը)։ Միացրեք պարբերաբար (com) կամ առցանց www.card, որտեղ թույլատրելի է։

Read-ahead օգտակար է հաջորդական ընթերցումների համար։ վնասակար է ռանդոմում։

Write-back kashi-ը միայն BBU/PLP-ից է։ հակառակ դեպքում տվյալների կորստի ռիսկը։

Ցանցային հոսքը (iSCSI/NVMe-TCP)

Առանձին SNAN/VRF սթորաջի գործարանի համար։ հաճախորդներից մեկուսացում։

MTU 9000 end-to-end; RSA/RPS-ը և IRQ-ի պինինգը NUMA-ին։

QoS/priority RoCE-ի համար (եթե lossless), ECN/RED-ի համար TCP պիկի համար։

Երկու դելֆիտ ծառեր մինչև storage (կրկնակի TOR, տարբեր ներարկման ֆիդերներ)։

Linux/host (նմուշը)

bash
Scheduler for NVMe echo none     sudo tee /sys/block/nvme0n1/queue/scheduler echo 1024      sudo tee /sys/block/nvme0n1/queue/nr_requests echo 0        sudo tee /sys/block/nvme0n1/queue/add_random echo 0        sudo tee /sys/block/nvme0n1/queue/iostats

Read-ahead (sequential loads)
blockdev --setra 4096 /dev/nvme0n1

iSCSI: example of aggressive timeouts and retries iscsiadm -m node --op update -n node. session. timeo. replacement_timeout -v 10 iscsiadm -m node --op update -n node. conn[0].timeo. noop_out_interval -v 5 iscsiadm -m node --op update -n node. conn[0].timeo. noop_out_timeout -v 5
Multipath (հատված 'multipath. conf`):
conf defaults {
find_multipaths yes polling_interval 5 no_path_retry 12
}
devices {
device {
vendor "PURE    DELL    NETAPP    HITACHI"
path_checker tur features "1 queue_if_no_path"
path_grouping_policy group_by_prio prio alua
}
}

Բենչմարկինգը և ավելացումը

fio-ը կոդավորման նվազագույն հավաքածու է

bash
Random read 4K, queue 32, 4 threads fio --name = randread --filename =/dev/nvme0n1 --direct = 1 --rw = randread\
--bs=4k --iodepth=32 --numjobs=4 --time_based --runtime=60

Random 4K entry (sync), log loads fio --name = randwrite --rw = randwrite --bs = 4k --iodepth = 16 --numjobs = 4\
--fsync=1 --direct=1 --runtime=60

Large block sequential recording (backups/dumps)
fio --name=seqwrite --rw=write --bs=1M --iodepth=64 --numjobs=2 --runtime=60

Խորհուրդ

Բաժանեք տաքությունը և չափեք, գրանցեք ջերմաստիճանը/thermal throttling։

Փորձարկեք LUN/tome-ում, ոչ թե FS-ում (եթե նպատակը «հում» երկաթի)։

Չափեք p95/p99 latency և 99։ 9% tail, նրանք «սպանում են» BD-ն։

Windows և SLO

Մետրիկները

P50/p95/p99 (read/write), IOPS, throughput, queue-depth, device busy%, merges, www.card։

Ցանցի մակարդակում 'drops, retransmits, ECN պիտակավորում, ինտերֆեյսային սխալներ։

Գրանցման մակարդակում 'վերարտադրության լամգ, rebuild/resilver առաջընթաց, write-amp, wear-level SSD։

SLO (օրինակներ)

LUN БД (OLTP): p99 write ≤ 1. 5 ms, p99 read 241։ 0 մզ, հասանելիություն 3699։ 95%.

Լոգա/ամսագրեր ՝ p95 append 242։ Հինգ մզ, բաց թողնելով 400 ՄԲ/s։

Bakaps: seq write 241 GB/s (համախմբված), RTO վերականգնումը թիվ 15

Ալերտա

p99 latency> N րոպեի շեմն է, IOPS-ի քայքայումը նույն QD-ում, read-modify-write աճը RAID5/6-ում, գերտաքացման/thermal throtttle SSD, որը սկսվեց/խրված ռեբիլդները։

Kubernetes и CSI

PVC/Storts Class: Պարամետրեր 'reclaimPolicy "," volumeBindingMode = WaitFirStonsumer "(ճիշտ տեղադրում)," allows VolumeeExpansion "։

Vendore CSI-plagins: Crupshots/clons, QoS/արտադրողական քաղաքականություն, volume-topology։

Modes: RWO-ի համար BD/steit-ի համար, RWX-ը զգուշավոր է (սովորաբար ալյումինե/ցանցի միջոցով)։

Topology/Affinity: Pin Pin-ը ստորագիայի կողքին (ցածր լատենտ)։

Կարևոր է 'HPA/MSA-ը չի «բուժում» վատ սկավառակը։ պլանավորեք SLO tomov, օգտագործեք PodMedrupics Budget stateful ցանցերի համար։

Դիպուկահարներ, կլոններ, Consistency Drups

Crash consistent-consistent-ը արագ է, բայց հնարավոր է BD-ի անհամաձայնությունը։

App-consistent - quiesce (fsfreeze, pre/post hooks BD) ջութակների միջոցով։

Consistency Group (CG) - միաժամանակ մի քանի LUN (գործարքային համակարգեր) համար։

Կլոնները արագ dev/test միջավայր են առանց պատճենման։

Անվտանգություն և ընկերակցություն

iSCSI CHAP/Mutium CHAP, MSAN/VRF մեկուսացում։

NVMe/TCP-ը TFC-ի հետ 'միջքաղաքային/բազմաբնույթ պարամետրերի համար։

«Հանգիստ» կոդավորումը ՝ LUKS/dm-crypt, wwww.f-encrypting drives (TCG Opal), KHL-ի բանալիները։

Աուդիտ 'ով mappate LUN, FC գոտիների փոփոխություն, multipath փոփոխություններ։

DR և վիրահատություն

Սինխրոն կրկնօրինակը (RPO 350) մեծացնում է լատենտությունը, կարճ հեռավորությունները։

Asinhronnaya (RPO = N min) - գեորեսթիա, ընդունելի է BD մեծամասնության համար ամսագրերի հետ։

Runbooks: MPIO ճանապարհի կորուստ, միգրանտների կորուստ, rebuild սկավառակ, փամփուշտի քայքայումը, կայքի տեղափոխումը։

Ծառայության պատուհանները '«rolling» վերահսկիչներ, ռեբիլդի լիմիտներ, որպեսզի չուտեն։

FinOps (արտադրողականության արժեքը)

/ IOPS դոլար և $/ms p99 - ավելի օգտակար «դոլար/TB» OLTP-ի համար։

Tiering: տաք OLTP - NVMe/RAID10; լրագրողներ/արխիվ - HDD/EC։

Պահուստները և ամորտիզացիան 'պլանավորեք աճը 30-50 տոկոսով IOPS; պահեք պահեստամասերը։

Egress/գործարան 'առանձին բյուջե storage ցանցի և HBA/NIC նորարարությունների համար։

Ներդրման թուղթ

  • Ընտրվել է արձանագրություն (NVMe-oF/FC/iSCSI) և մեկուսացման գործարան։
  • Նախագծված են RF/EC և փամփուշտները բեռնման տեսակի (OLTP/log/bakap)։
  • MPIO/ALUA/ANA և թայմաուտներ; ստուգվել է failover/restore։
  • FC/հավասարումը RF-ի տակ, ներառված է TRIM/Wincard-ում։
  • Թյունինգը հերթերով/qdepth/read-ahead; vaio fio (randread/write 4k, seq 1M)։
  • Սկավառակներ/ճանապարհներ/p95/p99, ալտերտեր և throttle։
  • Սնապշոտները (ap-consistent) և CG; DR/վերականգնումը։
  • Կոդավորումը և CHAP/TRK; բանալիներ KFC; վիրահատության աուդիտ։
  • Kubernetes/CSI պարամետրերը, տեղաբանությունը և QoS-ը հատորով։

Տիպիկ սխալներ

Մեկ ճանապարհ առանց MPIO www.single of failure։

RAID5/6-ը nc-write OLTP-ի տակ տեղադրվում է բարձր p99 write։

Ոչ TRIM-ը կանխատեսում է write-amp աճը և SSD-ի քայքայումը։

QD-ը չափազանց մեծ է IOPS-ի «գեղեցիկ» և սարսափելի tail BD-ի համար։

Առցանց www.card-ը OLTP-ի «տաք» հատորների վրա ցույց է տալիս լատենտության ցատկ։

"queue _ if _ բանաձև _ path 'առանց թայմաուտի" կախված "ծառայություններն են վթարի ժամանակ։

NVMe-ի և HDD-ի խառնուրդը մեկ փամփուշտի մեջ անկանխատեսելի լատենտ է։

Հատուկ iGaming/fintech համար

Դրամապանակ/գործարքային BD: NVMe + RAID10, սինխրոն ամսագիր առանձին SLOG/NVMe, p99 write 351։ 5 ms, CG-cupshots։

Հերթերը/հակաֆրոդը 'հաջորդական լոգները մեծ բլոկներ են, բարձր բաց, առանձին LUN-ը ամսագրերի և տվյալների տակ։

Pike TPS (Records/խաղեր): pre-warm cash BD, headrope 2430 տոկոսը, thermal throttle, burn-rate SLO-ի վերահսկողությունը։

Կարգավորիչ ՝ LUN ծածկագրում, mapings, DR ուսուցումներ, RPO/RTO հաշվետվություններ։

Արդյունքը

Արդյունավետ բլոկային պահեստը ճիշտ արձանագրություն է + ճիշտ տրամադրված գծեր և qdepth + համարժեք MS/EC + քեշի/խոչընդոտների կարգապահություն + մեկուսացված գործարան։ Ամրագրեք ամեն ինչ runbook-ah-ում, չափեք p95/p99, validirute fio-պրոֆիլներով, ավտոմատ և DR-ով, և կստանաք կանխատեսելի լատենտ և IOPS, որոնք անհրաժեշտ են ապրանքի և դրամական հոսքի կրիտիկական ուղիների համար։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։