راهنمای جامع Ceph
Englishشروع کنید
پیوست الف

واژه‌نامه‌ی انگلیسی-فارسی

۱۶ دقیقه مطالعه

در این پیوست اصطلاحات کلیدی به‌کاررفته در کتاب به ترتیب الفبای انگلیسی همراه با معادل فارسی و توضیحی کوتاه آمده‌اند. برای یافتن جای کاربرد هر اصطلاح در متن، به نمایه‌ی پایان کتاب مراجعه کنید.

اصطلاحمعادل فارسی و توضیح
Acting setمجموعه‌ی ‏OSD‏هایی که در عمل یک ‏PG‏ را سرویس می‌دهند؛ ممکن است به‌طور موقت با ‏up set‏ فرق کند
Admin socketسوکت مدیریتی محلی هر ‏daemon‏ برای فرمان مستقیم (‏ceph daemon‏)
AES-GCMرمزنگاری احرازشده‌ی ‏msgr2‏ در حالت ‏secure‏ (کلید ۱۶، ‏IV‏ ۱۲ و ‏tag‏ ۱۶ بایتی)
Allocatorتخصیص‌دهنده‌ی فضای خام در ‏BlueStore‏ (پیش‌فرض ‏hybrid‏)
ANAوضعیت دسترسی نامتقارن فضای نام در ‏NVMe-oF‏ که مسیر بهینه را به میزبان اعلام می‌کند
Backfillبازسازی کامل ‏PG‏ روی ‏OSD‏ جدید با پیمایش همه‌ی اشیا
Balancerماژول ‏mgr‏ برای یکنواخت کردن توزیع ‏PG‏ (حالت ‏upmap‏)
Bannerرشته‌ی آغازین اتصال ‏msgr2‏ («‏ceph v2‏») همراه با ویژگی‌های پشتیبانی‌شده و الزامی
Bilog (bucket index log)لاگ تغییرات هر ‏shard‏ ایندکس ‏bucket‏ که ‏multisite‏ آن را برای همگام‌سازی افزایشی می‌خواند؛ در ایندکس (‏InIndex‏) یا در ‏FIFO‏ جدا
Bilog generationنسل ‏layout‏ لاگ ‏bucket‏ پس از ‏reshard‏؛ مقصد نسل قدیم را تا انتها همگام می‌کند و سپس به نسل جدید می‌رود
Blobواحد ‏checksum‏ و فشرده‌سازی در ‏BlueStore‏ که به ‏pextent‏ها اشاره می‌کند
Blocklistفهرست سیاه کلاینت‌ها در ‏OSDMap‏ برای جلوگیری از نوشتن‌های دیررسیده
Bloom filterساختار احتمالاتی عضویت با مثبت کاذب ولی بدون منفی کاذب؛ در ‏RocksDB‏ و ‏HitSet‏ به کار می‌رود
BlueFSسامانه‌فایل کوچک داخلی ‏BlueStore‏ برای ‏RocksDB‏
BlueStore‏backend‏ پیش‌فرض ذخیره‌سازی ‏OSD‏ که مستقیم روی دستگاه خام می‌نویسد
Bucket indexفهرست اشیای یک ‏bucket‏ در ‏RGW‏ که در ‏omap‏ شاردها نگه داشته می‌شود
bufferlistزنجیره‌ای از ‏bufferptr‏ها روی ‏buffer‏های شمارش‌ارجاع‌دار؛ واحد اصلی داده در کد ‏Ceph‏
Cache tieringلایه‌بندی کش بین دو ‏pool‏؛ از ‏Reef‏ منسوخ شده است
Capability (cap)مجوز کش و تغییر که ‏MDS‏ به کلاینت ‏CephFS‏ برای هر ‏inode‏ می‌دهد
ceph-volumeابزار آماده‌سازی دیسک و ساخت ‏OSD‏ (LVM)
cephadmابزار و ماژول ‏mgr‏ برای استقرار و مدیریت چرخه‌ی عمر کلاستر با کانتینر
Cephxپروتکل احراز هویت مبتنی بر کلید مشترک و بلیت در ‏Ceph‏
Cloneتصویر ‏RBD‏ قابل نوشتن که از ‏snapshot‏ یک تصویر والد ساخته می‌شود
cls_lockکلاس ‏RADOS‏ برای قفل مشورتی انحصاری یا اشتراکی با انقضا، ذخیره در ‏xattr‏
Collectionگروه اشیای یک ‏PG‏ در ‏ObjectStore‏
Copy-on-writeکپی در زمان نوشتن؛ داده‌ی والد فقط هنگام اولین تغییر کپی می‌شود
Copyupکپی کل شیء والد به فرزند در اولین نوشتن روی ‏clone‏
crc32c‏checksum‏ با چندجمله‌ای ‏Castagnoli‏ که ‏BlueStore‏، ‏msgr2‏ و ‏journal‏ از آن استفاده می‌کنند
Crimsonبازنویسی ‏OSD‏ بر پایه‌ی ‏Seastar‏ با مدل ‏shard‏ به ازای هر هسته و بدون قفل مشترک
CRUSHالگوریتم جای‌گذاری شبه‌تصادفی و قطعی داده روی ‏OSD‏ها بر اساس سلسله‌مراتب
CRUSH ruleقاعده‌ی انتخاب ‏OSD‏ برای ‏pool‏ (دامنه‌ی خرابی، نوع دستگاه)
Datalogلاگ تغییر شاردهای ‏bucket‏ برای همگام‌سازی ‏multisite‏
Deep scrubبررسی کامل داده با خواندن و مقایسه‌ی ‏checksum‏
Deferred writeنوشتن کوچک که ابتدا در ‏WAL‏ ثبت و بعداً روی دستگاه اعمال می‌شود
Delete markerنسخه‌ی بی‌داده‌ای که حذف بدون ‏versionId‏ در ‏bucket‏ نسخه‌دار می‌سازد و نسخه‌ی جاری می‌شود
Dirfragتکه‌ای از یک دایرکتوری ‏CephFS‏ که واحد تقسیم و جابه‌جایی بین ‏MDS‏ها است
Divergent entryورودی ‏PG log‏ در یک ‏replica‏ که در لاگ ‏authoritative‏ نیست و هنگام ‏merge_log‏ باید برگردانده یا حذف شود
Dynamic reshardingافزایش خودکار شارد ‏index‏ یک ‏bucket‏ بزرگ در ‏RGW‏
Envelope mode (BlueFS)قالب تازه‌ی ثبت فایل‌های ‏BlueFS‏ که در ‏Tentacle‏ و بالاتر وجود دارد
Erasure codingکد پاک‌سازی؛ تقسیم داده به ‏k‏ قطعه‌ی داده و ‏m‏ قطعه‌ی ‏parity‏
Error repo (sync)‏omap‏ شیء ‎.‏retry‏ کنار وضعیت هر ‏shard‏ ‏‏datalog‏ که ‏bucket shard‏های شکست‌خورده را برای تلاش دوباره نگه می‌دارد
Exclusive lockقفل همکارانه‌ی ‏RBD‏ برای داشتن یک نویسنده‌ی فعال
Failure domainدامنه‌ی خرابی؛ سطحی از سلسله‌مراتب (‏host‏، ‏rack‏) که نسخه‌ها بین آن پخش می‌شوند
Fast-diffقابلیت ‏RBD‏ برای محاسبه‌ی سریع تفاوت با استفاده از ‏object map‏
Flattenجدا کردن ‏clone‏ از والد با کپی همه‌ی داده
Frame preambleسرآیند ۳۲ بایتی هر قاب ‏msgr2‏ با ‏tag‏، طول ‏segment‏ها و ‏crc‏
Full ratioآستانه‌ی پر شدن ‏OSD‏ که بالاتر از آن نوشتن متوقف می‌شود
Garbage collection (RGW)صف حذف ‏tail‏های شیء حذف‌شده یا بازنویسی‌شده در اشیای ‏gc.N‏ که پس از ‏rgw_gc_obj_min_wait‏ پردازش می‌شود
GF(2⁸)میدان متناهی ۲۵۶ عضوی که ضرب و جمع (‏XOR‏) در کدهای ‏Reed-Solomon‏ در آن انجام می‌شود
GFNIدستورهای میدان گالوا در پردازنده‌های ‏x86‏ که ضرب ‏GF‏(۲⁸) را سخت‌افزاری می‌کنند
HitSetمجموعه‌ی اشیای دسترسی‌شده در یک بازه‌ی زمانی برای تعیین دمای شیء در ‏cache tiering‏
hobject_tشناسه‌ی کامل شیء در ‏OSD‏ (pool، ‏namespace‏، ‏key‏، ‏name‏، ‏snap‏، ‏hash‏) با ترتیب ‏bitwise‏ که فهرست‌گیری و ‏backfill‏ بر آن تکیه دارند
Incremental mapتفاوت دو ‏epoch‏ متوالی نقشه که به مشترکان ارسال می‌شود
io_uringرابط ورودی و خروجی ناهم‌گام هسته‌ی لینوکس؛ در ‏BlueStore‏ جایگزین اختیاری ‏libaio‏
Journal (RBD)ثبت ترتیبی تغییرات تصویر برای ‏mirroring‏ مبتنی بر ‏journal‏
Knapsackمسئله‌ی کوله‌پشتی؛ ‏autoscaler‏ در ‏Umbrella‏ با آن تصمیم می‌گیرد کدام ‏pool‏ به توان دو بالاتر گرد شود
krbdدرایور هسته‌ای ‏RBD‏ (rbd.ko) که تصویر را به‌صورت دستگاه بلوکی /‏dev/rbdN‏ نشان می‌دهد
Label (BlueStore)بلوک ۴۰۹۶ بایتی آغاز دستگاه با ‏uuid‏، اندازه و فراداده‌ی ‏OSD‏
Leaseاجازه‌ی محدود زمانی که رهبر ‏MON‏ برای خواندن به ‏peon‏ها می‌دهد
libaioرابط قدیمی‌تر ‏AIO‏ لینوکس (‏io_submit‏ و ‏io_getevents‏) که پیش‌فرض ‏KernelDevice‏ در ‏BlueStore‏ است
libcephکتابخانه‌ی مشترک هسته‌ی لینوکس برای ‏messenger‏، ‏monclient‏، ‏osd_client‏ و ‏CRUSH‏
libradosکتابخانه‌ی کلاینت بومی ‏RADOS‏
librbdکتابخانه‌ی کلاینت دستگاه بلوکی ‏RBD‏ در فضای کاربر
Lifecycle (RGW)قواعد انقضا و انتقال اشیا که ‏LCWorker‏ها در پنجره‌ی زمانی اجرا می‌کنند
Linger requestدرخواست ماندگار ‏libceph‏ یا ‏Objecter‏ برای ‏watch‏ و ‏notify‏ که با هر نقشه دوباره ارزیابی می‌شود
LSM treeساختار درخت ادغام ساخت‌یافته در لاگ که ‏RocksDB‏ بر آن بنا شده است
Manifestنقشه‌ی بخش‌های یک شیء ‏RGW‏ (head و ‏tail‏)
mClockزمان‌بند ‏QoS‏ پیش‌فرض ‏OSD‏ بر پایه‌ی ‏reservation‏، ‏weight‏ و ‏limit‏
Mdlog (metadata log)لاگ تغییرات فراداده‌ی ‏RGW‏ (کاربر، ‏bucket‏) به ازای هر ‏period‏ در اشیای ‏meta.log.<period>.<N>‏
MDSسرویس فراداده‌ی ‏CephFS‏
mempoolشمارش حافظه بر حسب نوع داده در ‏Ceph‏؛ با ‏dump_mempools‏ دیده می‌شود
memtableجدول درون‌حافظه‌ای ‏RocksDB‏ پیش از ‏flush‏ شدن به ‏SST‏
Mgr‏daemon‏ مدیر که ماژول‌های پایتون مثل ‏dashboard‏ و ‏prometheus‏ را اجرا می‌کند
min_sizeکمترین تعداد نسخه‌ی در دسترس برای پذیرش ‏I/O‏ در یک ‏pool‏
Mirror snapshot‏snapshot‏ ویژه‌ی ‏RBD‏ با فضای نام ‏mirror‏ که حالت ‏snapshot-based mirroring‏ بر پایه‌ی آن تفاوت دو نقطه را کپی می‌کند
Mirroringتکثیر ناهمگام تصاویر ‏RBD‏ یا ‏CephFS‏ به کلاستر دیگر
MMgrReportپیام دوره‌ای ‏daemon‏ها به ‏mgr‏ حاوی ‏perf counter‏ها
MONمانیتور؛ نگه‌دارنده‌ی نقشه‌های کلاستر با اجماع ‏Paxos‏
MOSDOpپیام درخواست عملیات کلاینت به ‏OSD‏
msgr2نسخه‌ی ۲ پروتکل شبکه‌ی ‏Ceph‏ با رمزنگاری اختیاری (پورت ۳۳۰۰)
MSRقاعده‌ی چندمرحله‌ای ‏CRUSH‏ (multi-step retry) برای جای‌گذاری ‏EC‏ در چند دامنه‌ی خطا، از ‏Squid‏
Multipart uploadآپلود یک شیء در چند بخش مستقل که ‏complete‏ آن‌ها را بدون کپی داده با یک ‏manifest‏ به هم وصل می‌کند؛ ‏ETag‏ با پسوند ‎-‏N‏
Multisiteساختار ‏realm‏، ‏zonegroup‏ و ‏zone‏ برای تکثیر ‏RGW‏ بین سایت‌ها
NVMe-oFدسترسی به فضاهای نام ‏NVMe‏ روی شبکه (‏TCP‏ یا ‏RDMA‏)؛ درگاه ‏NVMe-oF‏ در ‏Ceph‏ تصاویر ‏RBD‏ را به این شکل صادر می‌کند
O_DIRECTباز کردن دستگاه بدون ‏page cache‏؛ ‏BlueStore‏ داده را این‌گونه می‌نویسد
Object mapبیت‌مپ وضعیت وجود اشیای یک تصویر ‏RBD‏
Objecterمؤلفه‌ی کلاینت که ‏op‏ را به ‏OSD‏ درست می‌فرستد و ‏retry‏ می‌کند
ObjectStoreرابط انتزاعی ذخیره‌سازی محلی ‏OSD‏
OLH (Object Logical Head)نشانگر نسخه‌ی جاری یک شیء در ‏bucket‏ نسخه‌دار ‏RGW‏؛ یک ورودی ۱۰۰۱_ در ایندکس و یک ‏head‏ بی‌داده با ‏xattr‏های ‏user.rgw.olh.*‏
omapذخیره‌ی کلید-مقدار وابسته به هر شیء ‏RADOS‏
Onodeساختار فراداده‌ی یک شیء در ‏BlueStore‏
OSD‏daemon‏ ذخیره‌سازی شیء؛ معمولاً یکی برای هر دیسک
OSDMapنقشه‌ی وضعیت ‏OSD‏ها، ‏pool‏ها و استثناهای جای‌گذاری
PastIntervalsخلاصه‌ی بازه‌هایی که ‏acting set‏ یک ‏PG‏ در آن‌ها ثابت بوده؛ ‏peering‏ با آن ‏OSD‏هایی را می‌یابد که باید پرسیده شوند
Paxosالگوریتم اجماع مورد استفاده‌ی ‏MON‏ها
Peeringفرایند توافق ‏OSD‏های یک ‏PG‏ روی وضعیت و تاریخچه‌ی آن
Perf counterشمارنده‌ی کارایی درون ‏daemon‏ (u۶۴، ‏time‏، ‏avg‏ یا ‏histogram‏)
Periodنسخه‌ی ثبت‌شده‌ی پیکربندی ‏multisite‏ با شناسه، ‏epoch‏ و ‏realm_epoch‏؛ تغییر ‏master zone‏ یک ‏period‏ تازه می‌سازد
PG (Placement Group)گروه جای‌گذاری؛ واحد منطقی توزیع و بازیابی اشیا
PG logتاریخچه‌ی اخیر تغییرات هر ‏PG‏ برای ‏recovery‏ سریع
pg_autoscalerماژول ‏mgr‏ برای تنظیم خودکار تعداد ‏PG‏ هر ‏pool‏
pg_tempنگاشت موقت ‏acting set‏ در ‏OSDMap‏ هنگام ‏backfill‏
Placement targetقاعده‌ی ‏zonegroup‏ که ‏pool‏ ایندکس، ‏data_extra_pool‏ و ‏pool‏ هر ‏storage class‏ یک ‏bucket‏ را در ‏zone‏ تعیین می‌کند
Poolفضای منطقی با سیاست تکثیر، قاعده‌ی ‏CRUSH‏ و تعداد ‏PG‏ مستقل
Primary affinityضریب تمایل یک ‏OSD‏ برای ‏primary‏ شدن
Primary OSD‏OSD‏ نخست ‏acting set‏ که درخواست‌های کلاینت را هماهنگ می‌کند
PriorityCacheمدیر بودجه‌ی حافظه که ‏cache‏های ‏BlueStore‏ و ‏RocksDB‏ را با ‏osd_memory_target‏ تنظیم می‌کند
PSHUFBدستور جابه‌جایی بایت ‏SSSE3‏ که ‏ISA-L‏ با جدول ۱۶تایی برای ضرب ‏GF‏(۲⁸) به کار می‌برد
PWL (persistent write log)‏cache‏ نوشتن پایدار ‏librbd‏ روی ‏SSD‏ یا ‏PMEM‏ که نوشتن‌ها را به‌ترتیب ثبت و بعداً به خوشه ‏flush‏ می‌کند
Quorumاکثریت ‏MON‏های در دسترس که می‌توانند تصمیم بگیرند
RADOSلایه‌ی پایه‌ی ذخیره‌ی شیء توزیع‌شده و خودترمیم ‏Ceph‏
Rate limit (RGW)سطل توکن در حافظه‌ی هر ‏RGW‏ برای ‏account‏، کاربر و ‏bucket‏ که درخواست اضافی را با ۵۰۳ ‏SlowDown‏ رد می‌کند
RBDدستگاه بلوکی ‏Ceph‏
Recoveryبازگرداندن نسخه‌های گم‌شده‌ی اشیا بر اساس ‏PG log‏
Reed-Solomonکد پاک‌سازی ‏MDS‏ که با ‏k‏ تکه‌ی داده و ‏m‏ تکه‌ی ‏parity‏ هر ‏m‏ خرابی را تحمل می‌کند
Replicationتکثیر کامل داده در چند نسخه
Reweightضریب موقت کاهش داده‌ی یک ‏OSD‏ (۰ تا ۱)
RGWدروازه‌ی شیء سازگار با ‏S3‏ و ‏Swift‏
Rjenkins hashتابع ‏hash‏ باب جنکینز که برای نام شیء و ورودی ‏CRUSH‏ استفاده می‌شود
Rookاپراتور ‏Kubernetes‏ برای استقرار و مدیریت ‏Ceph‏
Scrubبررسی دوره‌ای سازگاری فراداده‌ی نسخه‌های یک ‏PG‏
Seastarچارچوب ‏C++‏ ناهمگام با ‏future/promise‏ و یک ‏thread‏ به ازای هر هسته که ‏Crimson‏ بر آن بنا شده است
SeaStore‏ObjectStore‏ تازه‌ی ‏Crimson‏ که برای دستگاه‌های سریع و مدل تک‌هسته‌ای طراحی شده است
Shardیک بخش از داده‌ی تقسیم‌شده؛ مثلاً شارد ‏index‏، شارد ‏EC‏ یا شارد صف ‏OSD‏
SigV4امضای ‏AWS Signature Version 4‏؛ ‏HMAC-SHA256‏ روی ‏string to sign‏ با کلیدی که از ‏secret‏، تاریخ، ‏region‏ و سرویس مشتق می‌شود
Skiplistفهرست پیوندی چندسطحی احتمالاتی؛ ساختار پیش‌فرض ‏memtable‏ در ‏RocksDB‏
SnapMapperنگاشت ‏omap‏ میان ‏snapshot‏ و اشیا (کلیدهای ‏SNA_‏ و ‏OBJ_‏) که ‏snap trim‏ برای یافتن ‏clone‏ها به کار می‌برد
SnapSetفراداده‌ی ‏snapshot‏ یک شیء ‏RADOS‏ روی ‏head‏ (seq، ‏clones‏، ‏clone_overlap‏، ‏clone_size‏) که خواندن از ‏snapshot‏ را حل می‌کند
Snapshotتصویر فقط‌خواندنی یک نقطه‌ی زمانی
SPDKکیت توسعه‌ی کارایی ذخیره‌سازی؛ راه‌انداز ‏NVMe‏ در فضای کاربر با ‏polling‏ که ‏BlueStore‏ و ‏Crimson‏ می‌توانند به‌جای هسته به کار ببرند
SSTفایل جدول مرتب و تغییرناپذیر ‏RocksDB‏
stable_modنگاشت ‏seed‏ به ‏PG‏ که با رشد ‏pg_num‏ فقط بخشی از اشیا را جابه‌جا می‌کند
Storage classکلاس ذخیره‌سازی در ‏RGW‏ که به ‏data_pool‏ جداگانه در ‏placement target‏ نگاشت می‌شود
straw2الگوریتم انتخاب ‏bucket‏ در ‏CRUSH‏ با کشیدن «نی» به‌صورت ‏ln‏(hash)/‏weight‏
Stretch modeحالت کلاستر کشیده بین دو مرکز داده همراه یک ‏MON‏ داور
Stripingتقسیم داده‌ی پیوسته روی چند شیء
Superblock (BlueFS)سرآیند ‏BlueFS‏ در آفست ۴۰۹۶ دستگاه با ‏log_fnode‏ و نسخه
Throttle (BlueStore)محدودیت هزینه‌ی تراکنش‌های در جریان بر حسب بایت معادل
Tiebreaker‏MON‏ داور در ‏stretch mode‏ برای شکستن تساوی ‏quorum‏
Up setمجموعه‌ی ‏OSD‏های محاسبه‌شده با ‏CRUSH‏ پیش از اعمال ‏pg_temp‏
Upmapاستثنای صریح جای‌گذاری ‏PG‏ در ‏OSDMap‏ برای توازن
Volume selectorسیاست ‏BlueFS‏ برای انتخاب دستگاه ‏WAL‏، ‏DB‏ یا کند برای هر فایل ‏RocksDB‏
vstart.shاسکریپت راه‌اندازی کلاستر توسعه‌ی محلی از درخت ساخت
WALلاگ پیش‌نویس ‏RocksDB‏ در ‏BlueStore‏
Watch/Notifyسازوکار ‏RADOS‏ که کلاینت‌ها روی یک شیء ‏watch‏ ثبت می‌کنند و ‏notify‏ پیامی را به همه می‌رساند و منتظر ‏ack‏ می‌ماند
WriteBatchدسته‌ی اتمیک عملیات ‏Put‏ و ‏Delete‏ در ‏RocksDB‏
Zoneیک استقرار ‏RGW‏ با ‏pool‏های خودش در ‏multisite‏
Zonegroupگروه ‏zone‏ها که داده را بین خود تکثیر می‌کنند