Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.65K photos
1.36K videos
1.23K files
5.97K links
@unixmens_support
@yashar_esm
unixmens@gmail.com
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
ساختار bluestore و lvm در ceph :



این نکته را باید گفت که : ؛در Ceph و مشخصاً در BlueStore، استفاده از LVM یک گزینه است، نه یک الزام.؛


اما در ادامه به بررسی مزایا و معایب این روش خواهیم پرداخت :

در کل ما دو گزینه داریم در مبحث bluestore

استفاده از Raw Device (Default و توصیه‌شده)


در این حالت، BlueStore مستقیماً روی یک دیسک یا پارتیشن فیزیکی نصب می‌شود (مثلاً /dev/sdX).

هیچ LVM یا فایل‌سیستمی در بین نیست.

مزیت: عملکرد بهتر، تأخیر کمتر، و سادگی در مدیریت.

و روش دیگر LVM-Based OSD (معمولاً در Ceph-Ansible یا ceph-volume استفاده می‌شود)

در این حالت از Volume Group و Logical Volume (LVM) استفاده می‌شود.

مخصوصاً وقتی شما بخواهید فضای OSD را روی LVM پارتیشن‌بندی کنید یا چند دیسک کوچک را تجمیع نمایید.

در ابزار ceph-volume این حالت پرکاربرد است.

به صورت مثال:



ceph-volume lvm create --data /dev/sdX


یا برای ساخت دستی:

pvcreate /dev/sdX
vgcreate ceph-vg /dev/sdX
lvcreate -n osd-lv -l 100%FREE ceph-vg
ceph-volume lvm create --data ceph-vg/osd-lv



پس BlueStore چگونه کار می‌کنه بدون فایل‌سیستم؟

در واقع BlueStore داده‌ها را مستقیماً روی دستگاه بلاک (Block Device) می‌نویسد.

برای متادیتا و ساختار مدیریت داخلی خودش، از یک دیتابیس داخلی استفاده می‌کند که اغلب RocksDB است.

ساختار ذخیره‌سازی BlueStore:

        block: داده‌های اصلی

block.db: متادیتا

block.wal: write-ahead log


این‌ها یا روی همان دیسک یا روی دیسک‌های جداگانه می‌توانند قرار گیرند.
🔧 چرا این تصمیم گرفته شده؟

حذف فایل‌سیستم مانند XFS باعث شده:

یک لایه میانی کمتر شود (Overhead کمتر)

Ceph کنترل کامل روی داده‌ها و تخصیص داشته باشد

بتواند عملکرد و latency را بهینه کند

بهتر با SSD و NVMe سازگار شود

اما مزایای استفاده از lvm میتونه چی باشه ؟ !!!!!!


استفاده از LVM در BlueStore یک گزینه اختیاری اما بسیار مفید است، مخصوصاً در محیط‌های production. در ادامه، مزایا و دلایل اصلی استفاده از LVM در BlueStore را با هم بررسی میکنیم :


1. مدیریت منعطف دیسک‌ها

با LVM می‌توان از چند دیسک فیزیکی یک Volume Group ساخت و آن را به یک OSD اختصاص داد.

می‌توان ظرفیت را در آینده افزایش داد (extend) یا تنظیمات جدید اعمال کرد.

مناسب برای دیتاسنترهایی که مدیریت منابع ذخیره‌سازی به‌صورت داینامیک انجام می‌دهند.

2. پارتیشن‌بندی دقیق اجزای BlueStore (block, block.db, block.wal)

در BlueStore ما سه جزء کلیدی داریم که قبلا به اون پرداختم .


با LVM می‌توان این اجزا را روی دیسک‌های مختلف قرار داد تا
از SSD برای block.db و block.wal استفاده کرد

و از HDD برای block (داده حجیم)

این کار تأثیر چشم‌گیری در افزایش کارایی و کاهش latency دارد.
3. یکپارچگی با ابزار ceph-volume

در واقع ceph-volume ابزار رسمی Ceph برای مدیریت OSDها است و از LVM به‌صورت native پشتیبانی می‌کند.

مزایا:

ساخت آسان‌تر OSD

مانیتورینگ بهتر با ceph-volume lvm list

سازگاری با cephadm/ansible

بازیابی ساده‌تر در صورت crash

4. قابلیت Tag گذاری و مدیریت منطقی

با LVM می‌توان Volumeها را با تگ‌های مشخص تعریف کرد (مثلاً برای osd.12 یا nvme-db)

در سناریوهای Disaster Recovery یا Migration بسیار مفید است.

5. Snapshot و Backup سطح Volume (در برخی کاربردها)

هرچند برای OSD عملیاتی مرسوم نیست، اما در برخی سناریوهای تست و توسعه امکان گرفتن snapshot از OSD volume وجود دارد.

مثلاً قبل از upgrade.

6. درک و مشاهده ساختار دقیق با ابزارهای LVM

ابزارهایی مثل lvdisplay, vgdisplay, pvdisplay دید کاملی از وضعیت OSD می‌دهند.

تشخیص مشکلات و مدیریت ساده‌تر.

#ceph #lvm #linux #storage #kernel #sds #bluestore

https://t.me/unixmens