مفروضات این مستند به شرح زیر است.
- شبکهی Mgt مربوط به Ceph به صورت 172.16.223.0/24 میباشد.
- شبکهی Cluster مربوط به Ceph به صورت 10.10.10.0/24 میباشد.
مشخصات سرور اول به شرح زیر است.
|
1 2 3 4 5 |
ceph-1 ens33:172.16.223.101/24 ens34:10.10.10.101/24 No Hdd - just mgt server |
مشخصات سرور دوم به شرح زیر است.
|
1 2 3 4 5 |
ceph-2 ens33:172.16.223.102/24 ens34:10.10.10.102/24 6 x 2.2 TB HDD |
مشخصات سرور سوم به شرح زیر است.
|
1 2 3 4 5 |
ceph-3 ens33:172.16.223.103/24 ens34:10.10.10.103/24 6 x 2.2 TB HDD |
در ادامه مستند به نحوهی راهاندازی Cluster و اتصال سرورها پرداخته خواهد شد.
وضعیت OSD ها در این مستند به شرح زیر است.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.23383 root default -3 0.11691 host ceph-2 0 hdd 0.01949 osd.0 up 1.00000 1.00000 3 hdd 0.01949 osd.3 up 1.00000 1.00000 5 hdd 0.01949 osd.5 up 1.00000 1.00000 7 hdd 0.01949 osd.7 up 1.00000 1.00000 9 hdd 0.01949 osd.9 up 1.00000 1.00000 11 hdd 0.01949 osd.11 up 1.00000 1.00000 -5 0.11691 host ceph-3 1 hdd 0.01949 osd.1 up 1.00000 1.00000 2 hdd 0.01949 osd.2 up 1.00000 1.00000 4 hdd 0.01949 osd.4 up 1.00000 1.00000 6 hdd 0.01949 osd.6 up 1.00000 1.00000 8 hdd 0.01949 osd.8 up 1.00000 1.00000 10 hdd 0.01949 osd.10 up 1.00000 1.00000 |
انجام تنظیمات Global
دستور زیر مقدار Replica پیشفرض برای تمام Poolهایی که در آینده ساخته میشوند را روی ۲ تنظیم میکند. Poolهای موجود تغییری نمیکنند و فقط Poolهای جدید از این مقدار استفاده میکنند. برای کلاسترهای با ۲ نود دیتادار از ایجاد ناخواسته Pool با Replica=3 و مشکل PG جلوگیری میکند.
|
1 |
# ceph config set global osd_pool_default_size 2 |
دستور زیر مقدار min_size پیشفرض برای همه Poolهای جدید را روی ۱ تنظیم میکند. یعنی با از دست رفتن یک replica، Pool حداقل در حالت Read باقی میماند. روی Poolهای موجود اثری ندارد و فقط برای Poolهای آینده اعمال میشود.
|
1 |
# ceph config set global osd_pool_default_min_size 1 |
تنظیمات مربوط به Metadata
دستور زیر تعداد Replicaهای Pool متادیتا را روی ۲ تنظیم میکند. یعنی هر object متادیتا روی دو OSD متفاوت ذخیره میشود. برای کلاسترهای با دو نود دیتادار از ایجاد PGهای undersized جلوگیری میکند.
|
1 |
# ceph osd pool set cephfs_metadata size 2 |
دستور زیر مقدار min_size مربوط به Pool متادیتا را روی ۱ تنظیم میکند. یعنی حتی با در دسترس بودن فقط یک replica، Pool همچنان فعال میماند. این کار پایداری موقت سرویس را در سناریوهای از دست رفتن نود افزایش میدهد.
|
1 |
# ceph osd pool set cephfs_metadata min_size 1 |
دستور زیر یک Pool جدید به نام cephfs_metadata ایجاد میکند. عدد ۶۴ تعداد PG (Placement Group) های این Pool را مشخص میکند. این Pool معمولاً برای ذخیرهسازی متادیتای CephFS استفاده میشود.
|
1 |
# ceph osd pool create cephfs_metadata 64 |
تنظیمات مربوط به Data
دستور زیر تعداد Replicaهای Pool دادهی CephFS را روی ۲ تنظیم میکند. یعنی هر فایل روی دو OSD متفاوت ذخیره میشود. برای کلاسترهای با دو نود دیتادار پایداری مناسب و مصرف بهینه فضا فراهم میکند.
|
1 |
# ceph osd pool set cephfs_data size 2 |
دستور زیر حداقل تعداد Replica لازم برای فعال ماندن Pool دادهی CephFS را ۱ تعیین میکند. یعنی حتی با در دسترس بودن یک OSD، I/O قطع نمیشود. برای شرایط موقت و جلوگیری از گیر کردن PGها در کلاسترهای کوچک استفاده میشود.
|
1 |
# ceph osd pool set cephfs_data min_size 1 |
دستور زیر یک Pool جدید به نام cephfs_data ایجاد میکند. عدد ۱۲۸ تعداد PG (Placement Group) های این Pool را مشخص میکند. این Pool برای ذخیرهسازی دادههای اصلی فایلها در CephFS استفاده میشود.
|
1 |
# ceph osd pool create cephfs_data 128 |
ساخت CephFS
دستور زیر یک فایلسیستم جدید CephFS به نام cephfs ایجاد میکند. Pool متادیتا را cephfs_metadata و Pool داده را cephfs_data مشخص میکند. پس از اجرا، امکان استفاده از CephFS برای ذخیره و دسترسی فایل فراهم میشود.
|
1 |
# ceph fs new cephfs cephfs_metadata cephfs_data |
ساخت MDS
دستور زیر سرویس MDS مربوط به CephFS را در کلاستر مستقر میکند. گزینه placement=2 تعیین میکند دو MDS اجرا شوند (یک فعال و یک استندبای). این کار باعث افزایش پایداری و دسترسپذیری CephFS میشود.
|
1 |
# ceph orch apply mds cephfs --placement="2" |
دستور زیر PG Autoscaler را برای Pool متادیتای CephFS فعال میکند. Ceph بهصورت خودکار تعداد PGها را متناسب با اندازه کلاستر تنظیم میکند. باعث بهبود تعادل داده و عملکرد در رشد تدریجی کلاستر میشود.
|
1 |
# ceph osd pool set cephfs_metadata pg_autoscale_mode on |
دستور زیر قابلیت PG Autoscaler را برای Pool دادهی CephFS فعال میکند. Ceph بهصورت خودکار تعداد PGها را متناسب با اندازه و بار کلاستر تنظیم میکند. این کار از عدم تعادل PG و افت عملکرد در آینده جلوگیری میکند.
|
1 |
# ceph osd pool set cephfs_data pg_autoscale_mode on |
انجام فعالیتها به صورت یکجا
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ceph config set global osd_pool_default_size 2 ceph config set global osd_pool_default_min_size 1 ceph osd pool create cephfs_metadata 64 ceph osd pool set cephfs_metadata size 2 ceph osd pool set cephfs_metadata min_size 1 ceph osd pool create cephfs_data 128 ceph osd pool set cephfs_data size 2 ceph osd pool set cephfs_data min_size 1 ceph osd pool set cephfs_metadata pg_autoscale_mode on ceph osd pool set cephfs_data pg_autoscale_mode on ceph fs new cephfs cephfs_metadata cephfs_data ceph orch apply mds cephfs --placement="2" |
بررسی وضعیت Cluster
در نهایت به منظور بررسی وضعیت cephfs به صورت زیر عمل نمایید.
|
1 2 3 4 5 6 7 8 9 10 11 |
# ceph fs status cephfs - 0 clients ====== RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS 0 active cephfs.ceph-1.tfeemy Reqs: 0 /s 10 13 12 0 POOL TYPE USED AVAIL cephfs_metadata metadata 64.0k 113G cephfs_data data 0 113G STANDBY MDS cephfs.ceph-3.mitioy MDS version: ceph version 19.2.3 (c92aebb279828e9c3c1f5d24613efca272649e62) squid (stable) |
در نهایت به صورت زیر اقدام به مشاهدهی وضعیت کلاستر نمایید.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# ceph -s cluster: id: 5563a940-d99b-11f0-a581-17c1a68770d6 health: HEALTH_OK services: mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3 (age 5h) mgr: ceph-1.hmqaqw(active, since 5h), standbys: ceph-2.qsdhqg mds: 1/1 daemons up, 1 standby osd: 12 osds: 12 up (since 2h), 12 in (since 2h); 1 remapped pgs data: volumes: 1/1 healthy pools: 3 pools, 49 pgs objects: 24 objects, 451 KiB usage: 1.1 GiB used, 239 GiB / 240 GiB avail pgs: 49 active+clean |
پیشنهاد میشود به صورت زیر نیز اقدام به مانیتور نمایید.
|
1 2 |
# ceph pg stat 49 pgs: 49 active+clean; 451 KiB data, 1.1 GiB used, 239 GiB / 240 GiB avail |
مطابق با خروجی سه دستور بالا ، وضعیت کلاستر بر روی سلامت کامل است.