Pool Creation and CephFS Setup (Replica = 2 Architecture)

مفروضات این مستند به شرح زیر است.

  • شبکه‌ی Mgt مربوط به Ceph به صورت 172.16.223.0/24 می‌باشد.
  • شبکه‌ی Cluster مربوط به Ceph به صورت 10.10.10.0/24 می‌باشد.

مشخصات سرور اول به شرح زیر است.

مشخصات سرور دوم به شرح زیر است.

مشخصات سرور سوم به شرح زیر است.

در ادامه مستند به نحوه‌ی راه‌اندازی Cluster و اتصال سرورها پرداخته خواهد شد.


وضعیت OSD ها در این مستند به شرح زیر است.


انجام تنظیمات Global

دستور زیر مقدار Replica پیش‌فرض برای تمام Poolهایی که در آینده ساخته می‌شوند را روی ۲ تنظیم می‌کند. Poolهای موجود تغییری نمی‌کنند و فقط Poolهای جدید از این مقدار استفاده می‌کنند. برای کلاسترهای با ۲ نود دیتادار از ایجاد ناخواسته Pool با Replica=3 و مشکل PG جلوگیری می‌کند.

دستور زیر مقدار min_size پیش‌فرض برای همه Poolهای جدید را روی ۱ تنظیم می‌کند. یعنی با از دست رفتن یک replica، Pool حداقل در حالت Read باقی می‌ماند. روی Poolهای موجود اثری ندارد و فقط برای Poolهای آینده اعمال می‌شود.


تنظیمات مربوط به Metadata

دستور زیر تعداد Replicaهای Pool متادیتا را روی ۲ تنظیم می‌کند. یعنی هر object متادیتا روی دو OSD متفاوت ذخیره می‌شود. برای کلاسترهای با دو نود دیتادار از ایجاد PGهای undersized جلوگیری می‌کند.

دستور زیر مقدار min_size مربوط به Pool متادیتا را روی ۱ تنظیم می‌کند. یعنی حتی با در دسترس بودن فقط یک replica، Pool همچنان فعال می‌ماند. این کار پایداری موقت سرویس را در سناریوهای از دست رفتن نود افزایش می‌دهد.

دستور زیر یک Pool جدید به نام cephfs_metadata ایجاد می‌کند. عدد ۶۴ تعداد PG (Placement Group) های این Pool را مشخص می‌کند. این Pool معمولاً برای ذخیره‌سازی متادیتای CephFS استفاده می‌شود.


تنظیمات مربوط به Data

دستور زیر تعداد Replicaهای Pool داده‌ی CephFS را روی ۲ تنظیم می‌کند. یعنی هر فایل روی دو OSD متفاوت ذخیره می‌شود. برای کلاسترهای با دو نود دیتادار پایداری مناسب و مصرف بهینه فضا فراهم می‌کند.

دستور زیر حداقل تعداد Replica لازم برای فعال ماندن Pool داده‌ی CephFS را ۱ تعیین می‌کند. یعنی حتی با در دسترس بودن یک OSD، I/O قطع نمی‌شود. برای شرایط موقت و جلوگیری از گیر کردن PGها در کلاسترهای کوچک استفاده می‌شود.

دستور زیر یک Pool جدید به نام cephfs_data ایجاد می‌کند. عدد ۱۲۸ تعداد PG (Placement Group) های این Pool را مشخص می‌کند. این Pool برای ذخیره‌سازی داده‌های اصلی فایل‌ها در CephFS استفاده می‌شود.


ساخت CephFS

دستور زیر یک فایل‌سیستم جدید CephFS به نام cephfs ایجاد می‌کند. Pool متادیتا را cephfs_metadata و Pool داده را cephfs_data مشخص می‌کند. پس از اجرا، امکان استفاده از CephFS برای ذخیره و دسترسی فایل فراهم می‌شود.


ساخت MDS

دستور زیر سرویس MDS مربوط به CephFS را در کلاستر مستقر می‌کند. گزینه placement=2 تعیین می‌کند دو MDS اجرا شوند (یک فعال و یک استندبای). این کار باعث افزایش پایداری و دسترس‌پذیری CephFS می‌شود.

دستور زیر PG Autoscaler را برای Pool متادیتای CephFS فعال می‌کند. Ceph به‌صورت خودکار تعداد PGها را متناسب با اندازه کلاستر تنظیم می‌کند. باعث بهبود تعادل داده و عملکرد در رشد تدریجی کلاستر می‌شود.

دستور زیر قابلیت PG Autoscaler را برای Pool داده‌ی CephFS فعال می‌کند. Ceph به‌صورت خودکار تعداد PGها را متناسب با اندازه و بار کلاستر تنظیم می‌کند. این کار از عدم تعادل PG و افت عملکرد در آینده جلوگیری می‌کند.


انجام فعالیت‌ها به صورت یکجا


بررسی وضعیت Cluster

در نهایت به منظور بررسی وضعیت cephfs به صورت زیر عمل نمایید.

در نهایت به صورت زیر اقدام به مشاهده‌ی وضعیت کلاستر نمایید.

پیشنهاد می‌شود به صورت زیر نیز اقدام به مانیتور نمایید.

مطابق با خروجی سه دستور بالا ، وضعیت کلاستر بر روی سلامت کامل است.