راهنمای جامع Ceph
Englishشروع کنید
نسخه‌ی ۱٫۶ · بخش تخصصی تازه: RADOS، RBD و RGW
کتاب آموزشی Ceph

راهنمای جامع Ceph

طراحی، پیاده‌سازی و راهبری ذخیره‌سازی مقیاس‌پذیر — از درون کد تا عملیات

از نخستین کلاستر تا کد منبع و بایت‌های روی دیسک؛ با دستورهای آزموده، شکل‌های اختصاصی و الگوریتم‌هایی که مستقیم از کد Ceph بیرون کشیده شده‌اند.

شروع مطالعه شروع کنید خواندن نسخه‌ی انگلیسی

۴۲فصل
۳۷۵شکل
۱۸۸کادر الگوریتم
۴بخش

نسخه ۱٫۶ · آبان ۱۴۰۵
مبنای فنی: Ceph Squid (۱۹.۲)، Tentacle (۲۰.۲) و Umbrella (۲۱.۲)

جلد کتاب «راهنمای جامع Ceph» نوشته‌ی رامین نجارباشی

از کجا شروع کنم؟

بسته به این‌که امروز با Ceph چه کار دارید، یکی از این مسیرها را بردارید. همه‌ی فصل‌ها مستقل خوانده می‌شوند و به هم ارجاع می‌دهند.

آزمایشگاه تعاملی

هفت شبیه‌ساز کوچک که الگوریتم‌های کتاب را در همین مرورگر اجرا می‌کنند: بی‌نیاز به شبکه و نصب. محاسبات، برگردان خط‌به‌خط کد خود Ceph است و آزمون‌های tests/sims (make check-sims) آن را با همان کد مقایسه می‌کنند.

زمین بازی CRUSHیک root، چند host و OSD بسازید، قاعده را انتخاب کنید و ببینید straw2 هر PG را کجا می‌گذارد؛ یک OSD را out یا down کنید یا وزنش را تغییر دهید و ببینید کدام PGها جابه‌جا می‌شوند.ماشین‌حساب تعداد PGتعداد OSDها و سهم هر pool از داده را بدهید: پاسخ pgcalc کلاسیک و انتخاب pg_autoscaler را گذر به گذر ببینید.Replication یا erasure codingk، m و plugin را انتخاب کنید و ظرفیت قابل‌استفاده، سربار، خرابی‌های قابل‌تحمل و هزینهٔ بازسازی یک chunk را مقایسه کنید.گام‌به‌گام peering و recoveryسه داستان از یک PG با سه نسخه را گام‌به‌گام دنبال کنید و ماشین حالت PeeringState، مجموعه‌های up و acting و لاگ‌های PG را ببینید.مسیر نوشتن BlueStoreدستگاه، offset و طول یک نوشتن را انتخاب کنید و ببینید BlueStore چطور آن را تکه می‌کند و تصمیم می‌گیرد چه چیزی از WAL (deferred) و چه چیزی مستقیم نوشته شود.PUT و multipart در RGWیک کلید و اندازه بدهید و یک PUT ی S3 را از radosgw تا bucket index و data pool، همراه با شیءهای RADOS که می‌سازد، دنبال کنید.نگاشت striping در RBDاندازهٔ شیء، stripe_unit و stripe_count یک image و offset و طول یک I/O را تعیین کنید: ببینید به کدام شیءهای rbd_data و کجای آن‌ها دست می‌زند.

آزمایشگاه تعاملی

چهار بخش کتاب

کتاب از کار روزمره شروع می‌کند و لایه به لایه پایین‌تر می‌رود.

بخش اول · فصل‌های ۱ تا ۲۱

مبانی و راهبری

معماری و نخستین کلاستر، RBD، RGW و multisite، CephFS، راهبری، BlueStore، erasure coding، عیب‌یابی، پایش و تنظیم کارایی.

۱۵ ساعت و ۳۶ دقیقه

بخش ویژه · فصل ۲۲

معماری کد

ساختار مخزن Ceph و مسیر کامل درخواست‌ها، تابع به تابع، از کلاینت تا دیسک.

۳۰ دقیقه

بخش سوم · فصل‌های ۲۳ تا ۳۳

لایه‌های پایینی

فصل‌های ۲۳ تا ۳۳ Ceph را از پایین‌ترین لایه بازخوانی می‌کنند.

۶ ساعت و ۴۴ دقیقه

بخش چهارم · فصل‌های ۳۴ تا ۴۲تازه

بخش تخصصی: RADOS، RBD و RGW

فصل‌های ۳۴ تا ۴۲ RADOS، RBD و RGW را تخصصی و در سطح کد بررسی می‌کنند.

۳ ساعت و ۳۳ دقیقه

فهرست مطالب

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

فهرست کامل مطالب

درباره‌ی این اثر

درباره‌ی این اثر. این کتاب یک اثر تألیفی است. متن، توضیح‌ها، مثال‌ها، دستورها، تمرین‌ها و همه‌ی نمودارها برای همین کتاب نوشته و طراحی شده‌اند.

کد منبع. تکه‌های کوتاه کد Ceph با ذکر مسیر از مخزن github.com/ceph/ceph (مجوز LGPL-2.1/3.0) نقل شده‌اند. در فصل‌های ۲۵ و ۲۹ نام توابع، ثابت‌ها و قالب رشته‌ها از RocksDB (Apache-2.0/GPL-2.0) و هسته‌ی لینوکس (GPL-2.0) با ذکر مسیر آمده است. بقیه‌ی کدها شبه‌کد یا مثال خود این کتاب هستند.

علائم تجاری. Ceph و نام سایر پروژه‌ها و محصولات ذکرشده علائم تجاری دارندگان آن‌ها هستند. طرح جلد اثری اصیل است و از نشان یا طرح هیچ ناشری استفاده نمی‌کند.

مجوز. © ۲۰۲۶ رامین نجارباشی. متن، شکل‌ها و ابزارهای این اثر با مجوز Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) منتشر شده‌اند: بازنشر و اقتباس با ذکر منبع و با همان مجوز آزاد است، اما استفاده‌ی تجاری بدون اجازه‌ی کتبی مجاز نیست. متن کامل مجوز: creativecommons.org/licenses/by-nc-sa/4.0. تکه‌های کد نقل‌شده مجوز اصلی خود را حفظ می‌کنند.

کاربری. این اثر برای استفاده‌ی شخصی، آموزشی و غیرتجاری فراهم شده است. اطلاعات فنی با دقت تهیه شده ولی بدون هیچ ضمانتی ارائه می‌شود. پیش از اجرای دستورها در محیط عملیاتی، آن‌ها را در محیط آزمایشی بسنجید.