GH GambleHub

ذخیره سازی بلوک و عملکرد

خلاصه ای کوتاه

ذخیره سازی بلوک می دهد دستگاه های خام (LUN/حجم) که در بالای آن شما ساخت FS، LVM/ZFS، و غیره عملکرد توسط نوع رسانه، پروتکل دسترسی، صف و عمق، اندازه بلوک، طرح برنامه نویسی (RAID/EC)، کش ها و موانع، پارچه شبکه و الگوی I/O خاص برنامه (تصادفی/متوالی، خواندن/نوشتن، همگام سازی/async) تعیین می شود. هدف این است که تاخیر مورد نیاز p95/p99 و IOPS/پهنای باند را با قابلیت اطمینان و پیش بینی فراهم کنیم.

طبقه بندی دسترسی بلوک

محلی: NVMe (PCIe)، SAS/SATA SSD/HDD. حداقل تاخیر، بدون تنگنای شبکه.

شبکه:
  • iSCSI (اترنت، LUN، MPIO، ALUA).
  • کانال فیبر (FC) (16-64G، تاخیر کم، منطقه بندی).
  • NVMe-oF: NVMe/TCP، NVMe/RoCE، NVMe/FC - NVMe «بومی» از طریق شبکه، سربار کمتر.
  • HCI/distributed (Ceph RBD, vSAN): مقیاس پذیری مناسب، اما تأخیر بالاتر است، شبکه/کدگذاری بسیار مهم است.
انتخاب (سیگنال):
  • تاخیر P99 ≤ 1-2 میلی ثانیه، IOPS بسیار بالا → NVMe/NVMe-oF محلی.
  • پایدار «متوسط» تاخیر 2-5 میلی ثانیه، بالغ → FC یا NVMe/FC کارخانه.
  • یکپارچه در اترنت، آسان تر به کار → iSCSI یا NVMe/TCP.

پروتکل ها و ویژگی های آنها

iSCSI: تطبیق پذیری، MPIO/ALUA، حساس به پیکربندی TCP (MTU، بارگیری، qdepth).
FC: جداسازی، جریان بدون تلفات، منطقه بندی WWPN، صف HBA و اعتبارات.
NVMe-oF: موازی از طریق چندین صف ارسال/تکمیل، بار کم CPU، TLS برای NVMe/TCP (در صورت لزوم) امکان پذیر است.

💡 > RAID/EC و رسانه ها

RAID10 - حداقل تاخیر و IOPS قابل پیش بینی ؛ مناسب برای پایگاه های داده/کیف پول.
RAID5/6 - ظرفیت بهتر، مجازات نوشتن، قطره IOPS برای همگام سازی نوشتن.
پاک کردن کدگذاری در آرایه های توزیع شده از نظر ظرفیت سودمند است، اما ضبط «گران تر» است.
NVMe SSD - P99 بالا ؛ SAS SSD - سازش ؛ HDD یک پهنای باند متوالی است، اما تصادفی بد است.

سیستم های فایل و تراز

XFS یک انتخاب عالی برای فایل های بزرگ پایگاه داده/سیاهههای مربوط است ؛ «agcount» قابل تنظیم، «زمان واقعی» برای سیاهههای مربوط.
ext4 - همه کاره، با دقت به «stride/stripe _ width» برای RAID.
ZFS - CoW، بررسی یکپارچگی، عکس های فوری/ماکت، ARC/ZIL/SLOG ؛ برای بارهای همگام سازی - SLOG در NVMe با PLP.
تراز کردن: پارتیشن های 1MiB-aligned، درست «اندازه ثبت »/« اندازه بلوک» تحت بار.

صف، عمق و اندازه بلوک

IOPS با عمق صف افزایش می یابد، اما تاخیر است ؛ هدف - QD، که IOPS مورد نیاز در طول کنترل p95/p99 می دهد.
اندازه بلوک: کوچک (4-16K) - IOPS بیشتر، پهنای باند بدتر ؛ بزرگ (128K-1M) - بهتر پایان به پایان سرعت.
NVMe qpairs: تخصیص توسط هسته/NUMA ؛ iSCSI/FC: qdepth HBA/initiators، سیاست های MPIO.
موانع و FUA: شامل نوشتن موانع افزایش قابلیت اطمینان اما افزایش p99 ؛ SLOG/PLP افست.

چند مسیر و در دسترس بودن

MPIO/DM-Multipath: تجمع مسیر، تحمل خطا.

سیاستمداران: «round-robin» (ترازنامه)، «queue-length» (دقیق تر)، «failover» (دارایی-بدهی).
ALUA «ترجیح» مسیر به کنترل فعال است.
مهم: 'no _ path _ retry', 'queue _ if _ no _ path' - با دقت به طوری که برای «مسدود کردن» I/O برای دقایق طولانی.
منطقه بندی FC: «یک منطقه آغازگر - یک هدف» (شعاع انفجار را کاهش می دهد).
NVMe-oF: ANA (دسترسی نامتقارن فضای نام) - аналог ALUA.

TRIM/دور انداختن و ذخیره سازی

TRIM/Discard بلوک های SSD را آزاد می کند (نوشتن آمپر را کاهش می دهد، تاخیر را تثبیت می کند). روشن به طور منظم (CRON) و یا آنلاین دور انداختن که در آن مناسب است.
خواندن پیش رو برای خواندن متوالی مفید است ؛ در رندوم مضر است.
حافظه های کنترل کننده Write-back - فقط با BBU/PLP ؛ در غیر این صورت، خطر از دست دادن اطلاعات وجود دارد.

پشته شبکه (برای iSCSI/NVMe-TCP)

VLAN/VRF جداگانه برای کارخانه SRF ؛ جداسازی از ترافیک مشتری.
MTU 9000 پایان به پایان ؛ RSS/RPS و IRQ به NUMA متصل می شوند.
QoS/اولویت برای RoCE (اگر بدون تلفات)، ECN/RED برای قله TCP.
دو درخت چربی مستقل تا storaj (TORs دوگانه، فیدر قدرت های مختلف).

لینوکس/تنظیم میزبان (نمونه)

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
نکات:
  • گرمایش و اندازه گیری جداگانه، درجه حرارت/حرارتی را ثبت کنید.
  • تست بر روی LUN/حجم، نه FS (اگر هدف سخت افزار خام است).
  • اندازه گیری تاخیر p95/p99 و 99. 9٪ دم - آنها کسانی هستند که «کشتن» پایگاه داده.
💡 > نظارت و SLO
معیارها:
  • تاخیر p50/p95/p99 (خواندن/نوشتن)، IOPS، توان، صف عمق، دستگاه مشغول٪، ادغام، دور انداختن.
  • در سطح شبکه: قطره، انتقال مجدد، علائم ECN، خطاهای رابط.
  • در سطح آرایه: تاخیر تکرار، پیشرفت بازسازی/حل کننده، نوشتن آمپر، SSD در سطح سایش.
SLO (نمونه):
  • БД LUN (OLTP): p99 نوشتن ≤ 1. 5ms، p99 ≤ 1 را بخوانید. 0 میلی ثانیه، در دسترس بودن ≥ 99. 95%.
  • سیاهههای مربوط: p95 ضمیمه ≤ 2. 5 میلی ثانیه، پهنای باند ≥ 400 مگابایت بر ثانیه در هر حجم.
  • پشتیبان گیری: seq نوشتن ≥ 1 GB/s (جمع شده)، بازیابی RTO ≤ 15 دقیقه.
هشدارها:
  • p99 تاخیر> آستانه N دقیقه، تخریب IOPS با همان QD، رشد خواندن اصلاح نوشتن در RAID5/6، بیش از حد/thermal throttle SSD، دنده شروع/گیر کرده است.

کوبرنتیز и CSI

PVC/StorageClass: پارامترهای 'reclaimPolicy', 'volumeBindingMode = WaitForFirstConsumer' (مکان صحیح), 'allowVolumeExpansion'.
فروشنده پلاگین CSI: عکس های فوری/کلون, QoS/سیاست های عملکرد, حجم توپولوژی.
AccessModes: RWO برای پایگاه داده/دولت، RWX - با دقت (معمولا از طریق فایل/شبکه).
توپولوژی/Affinity: پین پد به گره های کنار ذخیره سازی (تاخیر کم).
مهم: HPA/VPA یک درایو بد را «درمان» نمی کند ؛ برنامه SLO حجم، استفاده از PodDisruptionBudget برای شبکه های stateful.

عکس های فوری، کلون ها، گروه های سازگاری

عکس های فوری crash-consistent سریع هستند، اما ناسازگاری پایگاه داده امکان پذیر است.
برنامه سازگار - از طریق اسکریپت quiesce (fsfreeze, قبل/ارسال قلاب DB).
گروه سازگاری (CG) - برای چندین LUN (سیستم های معاملاتی) در همان زمان.
کلون ها محیط های سریع dev/test بدون کپی کردن هستند.

ایمنی و انطباق

iSCSI CHAP/CHAP متقابل، جداسازی VLAN/VRF.
NVMe/TCP با TLS - برای سناریوهای متقابل مرکز/چند اجاره.
رمزگذاری «در حالت استراحت»: LUKS/dm-crypt، درایوهای خود رمزگذاری (TCG Opal)، کلیدها در KMS.
حسابرسی: چه کسی نقشه LUN، تغییر منطقه FC، تغییرات چند مسیری را ترسیم کرد.

DR و عملیات

replica synchronous (RPO≈0) - تاخیر، فاصله های کوتاه را افزایش می دهد.
ناهمزمان (RPO = N min) - فاصله جغرافیایی، قابل قبول برای اکثر پایگاه های داده با سیاهههای مربوط.
Runbooks: از دست دادن مسیر MPIO، از دست دادن کنترل، بازسازی دیسک، تخریب استخر، سوئیچ سایت.
پنجره های سرویس: کنترل کننده های «نورد»، محدودیت های rebield به طوری که برای خوردن prod.

FinOps (هزینه در هر عملکرد)

$/IOPS و $/ms p99 برای OLTP «$/TB» مفیدتر هستند.
Tiering: OLTP داغ - NVMe/RAID10 ؛ گزارش/آرشیو - HDD/EC.
مقررات و استهلاک: برنامه ریزی برای رشد 30-50٪ IOPS ؛ نگه داشتن سهام تحت rebilds/اسکراب.
خروج/کارخانه: بودجه جداگانه برای شبکه ذخیره سازی و به روز رسانی HBA/NIC.

چک لیست پیاده سازی

  • پروتکل (NVMe-oF/FC/iSCSI) و پارچه جدا شده انتخاب شده است.
  • RAID/EC و نوع بار استخر (OLTP/ورود/پشتیبان گیری) طراحی شده اند.
  • MPIO/ALUA/ANA و زمان بندی پیکربندی شده ؛ بررسی شکست/بازگرداندن.
  • FS/تراز برای RAID، TRIM/Discard طبق مقررات فعال شده است.
  • تنظیم صف/qdepth/خواندن پیش رو ؛ اعتبار توسط پروفایل های فیو (randread/write 4k, seq 1M).
  • دیسک/مسیر/تاخیر نظارت p95/p99، هشدار به rebilds و دریچه گاز.
  • عکس های فوری (برنامه سازگار) و CG ؛ تست DR/recovery
  • رمزگذاری و CHAP/TLS ؛ کلید در حسابرسی KMS از عملیات.
  • پارامترهای Kubernetes/CSI، توپولوژی و QoS در هر حجم.

خطاهای رایج

یک مسیر بدون MPIO → تنها نقطه شکست.
RAID5/6 زیر sync-write OLTP → high p99 write.
بدون TRIM → رشد نوشتن آمپر و تخریب SSD.
QD بیش از حد بزرگ → IOPS «زیبا» و دم وحشتناک برای پایگاه داده است.
آنلاین دور انداختن در «داغ» حجم با OLTP → جهش تاخیر.
'queue _ if _ no _ path' without timeout → خدمات «منجمد» در یک فاجعه.

مخلوط کردن NVMe و HDD در همان استخر → تاخیر غیر قابل پیش بینی

iGaming/fintech خاص

پایگاه داده های کیف پول/معاملات: NVMe + RAID10، ورود همزمان به سیستم در SLOG/NVMe جداگانه، p99 نوشتن ≤ 1. 5 میلی ثانیه، عکس های CG.
صف های پرداخت/ضد تقلب: سیاهههای مربوط سریال → بلوک های بزرگ، پهنای باند بالا، LUN های جداگانه برای ورود و داده ها.
TPS قله (مسابقات/مسابقات): مخازن پایگاه داده قبل از گرم، ≥ سردرد 30٪، کنترل دریچه گاز حرارتی، SLO نرخ سوختگی.
تنظیم کننده: رمزگذاری LUN، گزارش حسابرسی نقشه برداری، تمرینات DR، گزارش RPO/RTO.

مجموع

ذخیره سازی بلوک تولیدی پروتکل صحیح + صف به درستی پیکربندی شده و qdepth + RAID/EC مناسب + کش/مانع نظم و انضباط + پارچه جدا شده است. پین همه چیز را در runbooks، اندازه گیری p95/p99، اعتبار با پروفایل های fio، خودکار عکس های فوری و DR - و دریافت تاخیر قابل پیش بینی و IOPS مورد نیاز برای محصول بحرانی و مسیرهای جریان نقدی.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.