پیوست ح
تغییرات Reef، Squid و Tentacle
این پیوست تغییرهای مهم سه نسخهی اصلی Reef (۱۸.۲)، Squid (۱۹.۲) و Tentacle (۲۰.۲) را که به فصلهای این کتاب مربوطاند، برای هر نسخه در یک جدول میآورد. ردیفهای «تأییدشده» در یادداشتهای رسمی انتشار نسخهی x.2.0 همان نسخه آمدهاند؛ ردیفهای «نیازمند بازبینی» از متن فصلها یا یادداشتهای نسخههای نقطهای گرفته شدهاند و هنوز با یادداشت انتشار اصلی تطبیق داده نشدهاند. برای تغییرهای Umbrella (۲۱.۲) و تاریخ پشتیبانی هر نسخه، پیوست د را ببینید.
Reef+ Reef (18.2)#
نسخهی {v}، {d} — یادداشتهای انتشار: https://docs.ceph.com/en/latest/releases/reef/
| حوزه | تغییر | فصلها | وضعیت |
|---|
| RADOS | FileStore دیگر پشتیبانی نمیشود و BlueStore تنها object store در OSD کلاسیک است (OSDهای FileStore باید پیش از ارتقا از نو ساخته شوند). | فصل ۱۲، فصل ۱۰، فصل ۲۱ | تأییدشده |
| RADOS | cache tiering منسوخ اعلام شد. | فصل ۱۶، فصل ۱۵ | تأییدشده |
| RADOS | RocksDB به نسخهی ۷.۹.۲ ارتقا یافت؛ تنظیمهای RocksDB برای هر column family جداگانه قابل تنظیم شد و پیشفرضهای تازه گرفت. | فصل ۲۵، فصل ۱۲ | تأییدشده |
| RADOS | read balancer: متعادلکردن PGهای primary در هر pool، بهصورت آفلاین با osdmaptool و pg-upmap-primary. | فصل ۸، فصل ۱۹، فصل ۲۸ | تأییدشده |
| RADOS | بازطراحی mClock: پروفایل balanced پیشفرض شد، QoS بهصورت کسری از ظرفیت IOPS هر OSD بیان میشود و اشیای degraded پیش از misplaced بازیابی میشوند. | فصل ۲۱، فصل ۷، فصل ۱۰ | تأییدشده |
| RADOS | perf dump و perf schema به نفع counter dump و counter schema (perf counterهای برچسبدار) منسوخ شدند. | فصل ۲۰، فصل ۱۰ | تأییدشده |
| Monitoring | ceph-exporter که روی هر میزبان مستقر میشود، بهجای ماژول prometheus در mgr، متریکهای کارایی daemonها را صادر میکند. | فصل ۲۰ | تأییدشده |
| RGW | reshard کردن bucket در multisite ممکن شد (zone feature با نام resharding که در استقرارهای تازه پیشفرض روشن است). | فصل ۵، فصل ۴۲، فصل ۴۰ | تأییدشده |
| RGW | فشردهسازی برای اشیایی که با رمزنگاری سمت سرور بارگذاری شدهاند (zonegroup feature با نام compress-encrypted). | فصل ۵، فصل ۴ | تأییدشده |
| RBD | رمزنگاری لایهای سمت کلاینت: هر clone میتواند قالب رمزنگاری و passphrase مخصوص خودش را داشته باشد، جدا از image والد. | فصل ۲، فصل ۳۸ | تأییدشده |
| Dashboard | صفحهی اصلی تازهی Dashboard با کارتهای هشدار و نمودار، و بخشی برای مدیریت کاربران cephx. | فصل ۹ | تأییدشده |
| RGW | ماژول rgw در mgr راهاندازی multisite را خودکار میکند (ceph rgw realm bootstrap)، همانطور که در مستندات رسمی ماژول mgr/rgw نسخهی Reef آمده است. | فصل ۵ | تأییدشده |
Squid+ Squid (19.2)#
نسخهی {v}، {d} — یادداشتهای انتشار: https://docs.ceph.com/en/latest/releases/squid/
| حوزه | تغییر | فصلها | وضعیت |
|---|
| RADOS | فشردهسازی LZ4 در RocksDBِ BlueStore بهطور پیشفرض روشن است. | فصل ۱۲، فصل ۲۵ | تأییدشده |
| RADOS | نوع تازهای از قاعدهی CRUSH به نام MSR (multi-step retry) برای چیدمانهای انعطافپذیرتر erasure coding. | فصل ۱۳، فصل ۲۸، فصل ۸ | تأییدشده |
| RADOS | ماژول balancer میتواند read balancing را بهصورت آنلاین انجام دهد، با حالتهای تازهی read و upmap-read. | فصل ۱۹، فصل ۲۸ | تأییدشده |
| RADOS | زمانبندی scrub بهبود یافت. | فصل ۳۲، فصل ۱۷ | تأییدشده |
| RADOS | هشدار POOL_APP_NOT_ENABLED برای هر poolی که برچسب application ندارد داده میشود، چه استفاده شود چه نه. | فصل ۳۶، فصل ۷ | تأییدشده |
| Crimson | نخستین پیشنمایش فنی Crimson (بار کاری RBD روی poolهای replicated). | فصل ۳۰ | تأییدشده |
| RBD | diff-iterate در حالت fast-diff، وقتی exclusive lock در دسترس است، بهصورت محلی اجرا میشود؛ جهشی بزرگ برای همگامسازی زندهی دیسک در QEMU و پشتیبانگیری. | فصل ۲، فصل ۳۹ | تأییدشده |
| RGW | حسابهای کاربری (account): APIهای IAM سازگار با AWS برای مدیریت سلفسرویس کاربران، کلیدها، گروهها، نقشها و policyها. | فصل ۴، فصل ۴۱ | تأییدشده |
| RGW | چیدمان تازه برای topicهای bucket notification که با همگامسازی metadata تکثیر میشود (zone feature با نام notification_v2). | فصل ۵، فصل ۴۲ | تأییدشده |
| CephFS | فرمانهای quiesce برای subvolume جهت snapshotهای crash-consistent، فرمان ceph fs swap، و الزام --fs در فرمانهای snap-schedule وقتی کلاستر چند فایلسیستم دارد. | فصل ۶ | تأییدشده |
| cephx | چرخش کلید با ceph auth rotate. | فصل ۸ | تأییدشده |
| RBD | نسخهی نقطهای ۱۹.۲.۴ آرگومان group را به ceph orch apply nvmeof افزود؛ از آن پس gateway NVMe-oF با gateway group راه رسمی ارائهی RBD روی NVMe/TCP است. | فصل ۲، فصل ۳۱ | تأییدشده |
| RADOS | نسخهی نقطهای ۱۹.۲.۱ پیشفرض شارد OSDهای HDD را به osd_op_num_shards_hdd برابر ۱ (پیشتر ۵) و osd_op_num_threads_per_shard_hdd برابر ۵ (پیشتر ۱) تغییر داد تا گذردهی کلاینت و recovery زیر mClock پایدارتر شود (issue 66289)؛ Tentacle و Umbrella هم همین را نگه داشتهاند. | فصل ۲۱، فصل ۷ | تأییدشده |
Tentacle+ Tentacle (20.2)#
نسخهی {v}، {d} — یادداشتهای انتشار: https://docs.ceph.com/en/latest/releases/tentacle/
| حوزه | تغییر | فصلها | وضعیت |
|---|
| RADOS | FastEC: خواندن و نوشتن جزئی و سربار فضای کمتر در poolهای erasure coding، که برای هر pool با allow_ec_optimizations روشن میشود. | فصل ۱۳، فصل ۲۷، فصل ۱۶ | تأییدشده |
| RADOS | ISA-L جای Jerasure را بهعنوان افزونهی پیشفرض erasure code در کلاسترهایی که با Tentacle ساخته میشوند گرفت؛ کلاسترهای ارتقایافته پیشفرض قبلی را نگه میدارند. | فصل ۱۳، فصل ۲۷ | تأییدشده |
| RADOS | BlueStore: فشردهسازی بهتر و یک write-ahead log تازه و سریعتر. | فصل ۱۲، فصل ۲۴ | تأییدشده |
| RADOS | امتیاز دسترسپذیری داده برای هر pool (ceph osd pool availability-status، پیشنمایش فنی و بهطور پیشفرض خاموش). | فصل ۲۰، فصل ۱۷ | تأییدشده |
| Crimson | پیشنمایش فنی SeaStore: برای آزمایش در کنار Crimson OSD قابل استقرار است. | فصل ۳۰ | تأییدشده |
| MGR | ماژولهای restful و zabbix از mgr حذف شدند؛ جایگزین restful، REST API ماژول dashboard است. | فصل ۷، فصل ۹، فصل ۱۰ | تأییدشده |
| cephadm | سرویس mgmt-gateway (یک نقطهی ورود TLS برای Dashboard و پشتهی پایش)، oauth2-proxy برای SSO و certmgr برای مدیریت گواهیها. | فصل ۹، فصل ۲۰ | تأییدشده |
| CephFS | ماژول smb در mgr اشتراکهای SMB مبتنی بر Samba را روی CephFS مدیریت میکند، با کاربران محلی یا Active Directory. | فصل ۶ | تأییدشده |
| CephFS | نامهای بیحساس به بزرگی و کوچکی حروف یا نرمالشده برای مدخلهای دایرکتوری، و لزوم پرچم تأیید برای تغییر max_mds در کلاستر ناسالم. | فصل ۶ | تأییدشده |
| RBD | rbd device map بهطور پیشفرض از msgr2 استفاده میکند (-o ms_mode=legacy برای krbd همان msgr1 را نگه میدارد). | فصل ۲، فصل ۲۹ | تأییدشده |
| RBD | mirroring میتواند یک namespace محلی را به namespaceی با نام دیگر در کلاستر مقابل جفت کند (--remote-namespace)، و فرمانهای rbd group info و rbd group snap info اضافه شدند. | فصل ۲، فصل ۳۹ | تأییدشده |
| RGW | پشتیبانی از S3 GetObjectAttributes؛ گرد شدن LastModified به ثانیه؛ و reshard که مدت بسیار کوتاهتری نوشتن را مسدود میکند. | فصل ۴، فصل ۴۰ | تأییدشده |
| RGW | APIهای IAM در سطح tenant به نفع account منسوخ شدند (حذف، زودتر از نسخهی V نیست). | فصل ۴ | تأییدشده |
| RBD | نسخهی نقطهای ۲۰.۲.۱ فرمان ceph nvme-gw listeners را افزود؛ رابط خط فرمان ceph nvmeof برای پیکربندی gateway در ۲۰.۲.۵ مستند شد. | فصل ۳۱ | تأییدشده |
Umbrella+ Umbrella (21.2)#
نسخهی {v}، {d} — یادداشتهای انتشار: https://docs.ceph.com/en/latest/releases/umbrella/
| حوزه | تغییر | فصلها | وضعیت |
|---|
| cephadm | ارتقای OSD با آگاهی از bucketهای CRUSH: فرمان ok-to-upgrade حالا OSDها را تجمیع میکند و ارتقا میتواند به یک bucket از CRUSH محدود شود. | فصل ۷ | تأییدشده |
دستورهایی که به نسخهای جدیدتر از Reef نیاز دارند#
برچسب نسخه: کنار هر کادر کدی که دستور Ceph دارد برچسبی مثل «Reef+» آمده است، یعنی دستور از آن نسخه به بعد بیتغییر کار میکند. پیشفرض کتاب Reef است؛ دستورهای زیر به نسخهای جدیدتر نیاز دارند:
| برچسب | نخستین دستور کادر | فصل |
|---|
| Squid+ | ceph osd pool create nvmeof-pool && rbd pool init nvmeof-pool | فصل ۲ |
| Squid+ | radosgw-admin account create --account-name=acme --email=ops@acme.example | فصل ۴ |
| Tentacle+ | ceph mgr module enable smb | فصل ۶ |
| Umbrella+ | ceph orch upgrade start --image quay.io/ceph/ceph:v21.2.0 --daemon-types mgr,mon | فصل ۷ |
| Tentacle+ | ceph orch apply mgmt-gateway --placement="label:mgmt" | فصل ۹ |
| Tentacle+ | ceph osd pool set ecpool allow_ec_optimizations true | فصل ۱۳ |
| Tentacle+ | ceph osd erasure-code-profile set ec42fast plugin=isa technique=reed_sol_van k=4 m=2 \ | فصل ۱۳ |
| Tentacle+ | ceph orch apply mgmt-gateway --placement="label:mgmt" | فصل ۲۰ |
| Tentacle+ | ceph osd erasure-code-profile set ec42 plugin=isa technique=reed_sol_van k=4 m=2 crush-failure-domain=host | فصل ۲۷ |
| فقط main | ceph tell osd.0 dump_metrics reactor_utilization | فصل ۳۰ |
| Tentacle+ | ceph orch apply nvmeof POOL GROUP --placement="host01, host02" | فصل ۳۱ |
| Squid+ | ceph pg deep-scrub 2.1f | فصل ۳۲ |