<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>The Comprehensive Ceph Guide — releases</title><id>https://book.ceph-s3.ir/releases.xml</id><link rel="self" href="https://book.ceph-s3.ir/releases.xml"/><link rel="alternate" href="https://book.ceph-s3.ir/"/><updated>2026-11-15T00:00:00Z</updated><author><name>Ramin Najarbashi</name></author><entry><title>The Comprehensive Ceph Guide 1.6</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.6</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.6"/><updated>2026-11-01T00:00:00Z</updated><content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Part IV, &quot;Specialist Part&quot; (chapters 34–42), on RADOS, RBD and RGW, checked against the Ceph main branch (November 2026): RADOS object model and op path; pg log, past intervals and recovery; snapshots, watch/notify and cls; RBD image layout, striping and object map; the librbd I/O path, exclusive lock and caches; rbd-mirror internals; the RGW data model (bucket index, OLH versioning, manifest, multipart); the RGW request path (SigV4, quota, rate limit, gc, lifecycle); and multisite internals (period commit, log records, sync status objects, bilog generations, conflict resolution). 45 new algorithm boxes and 25 new figures, with answers for every review question.&lt;/li&gt;&lt;li&gt;English placeholder pages for chapters 34–42, so numbering matches the Persian edition.&lt;/li&gt;&lt;li&gt;Glossary: 20 new terms (OLH, bilog, mdlog, period, error repo, bilog generation, SigV4, placement target, delete marker, multipart upload, RGW gc, RGW rate limit, SnapSet, SnapMapper, PastIntervals, divergent entry, watch/notify, hobject_t, PWL, mirror snapshot).&lt;/li&gt;&lt;li&gt;Bibliography: Ceph developer docs for the bucket index, RGW placement and multisite.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Changed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Version 1.6 in metadata, covers (back text lists the specialist part), preface and README.&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>The Comprehensive Ceph Guide 1.5</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.5</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.5"/><updated>2026-11-01T00:00:00Z</updated><content type="html">&lt;h3&gt;Changed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;The book is presented as an original authored work. Every reference to another book (title, authors, publisher, ISBN, rights notice, &quot;not a translation&quot; wording, page correspondences and the &lt;code&gt;original_heading&lt;/code&gt; front-matter field) was removed from the front matter, colophon, preface, chapters, appendices, cover, metadata, README, NOTICE, CONTRIBUTING and LICENSE. Citations of Ceph documentation and papers are unchanged.&lt;/li&gt;&lt;li&gt;New cover for both editions (&lt;code&gt;tools/render_cover.py&lt;/code&gt;): an abstract CRUSH hierarchy and placement-group grid on a deep ink background, Vazirmatn / Inter, CC BY-NC-SA note.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Earlier unreleased changes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;English edition: every chapter (1–33) and its answers is now a placeholder page with the note &quot;The English translation of this chapter is in progress…&quot; (&lt;code&gt;translation: pending&lt;/code&gt;), so chapter, section, figure and algorithm numbering stay identical to the Persian edition. The existing English drafts (chapters 1–25 and part of 26) are kept on the &lt;code&gt;en-drafts&lt;/code&gt; branch; chapters will be brought back one by one after the Persian pages are reviewed.&lt;/li&gt;&lt;li&gt;&lt;code&gt;make fonts&lt;/code&gt; installs the book fonts with &lt;code&gt;tools/install_fonts.sh&lt;/code&gt; only when fontconfig cannot find them (macOS: &lt;code&gt;~/Library/Fonts&lt;/code&gt;); &lt;code&gt;pdf&lt;/code&gt;, &lt;code&gt;html&lt;/code&gt; and &lt;code&gt;site&lt;/code&gt; depend on it.&lt;/li&gt;&lt;li&gt;The web book serves high-resolution figures: &lt;code&gt;make webfig&lt;/code&gt; (&lt;code&gt;tools/render_web_figures.py&lt;/code&gt;) renders mermaid diagrams at 3x and byte-layout figures at 2x as WebP (&lt;code&gt;srcset&lt;/code&gt; 1x/2x) and re-runs the matplotlib scripts as SVG with text converted to paths, so zoomed figures stay sharp. Variants live in &lt;code&gt;build/webfig/&lt;/code&gt;; any figure that fails falls back to the print PNG.&lt;/li&gt;&lt;li&gt;English web pages are hyphenated at build time (Pyphen en_US patterns insert soft hyphens into long words outside code, headings and URLs), so justified text on narrow screens does not open wide gaps even where the browser has no English hyphenation dictionary.&lt;/li&gt;&lt;li&gt;&lt;code&gt;make html&lt;/code&gt; now builds a multi-page web book (&lt;code&gt;tools/build_site.py&lt;/code&gt;, &lt;code&gt;templates/site/&lt;/code&gt;): one page per chapter and appendix with stable source anchors, collapsible sidebar and in-page contents, previous/next and breadcrumbs, offline Persian-aware search, figure lightbox with wheel/drag/pinch zoom, light/dark theme, Pygments highlighting with copy buttons, fa/en switcher, print stylesheet and self-hosted fonts. The Pandoc single file moved to &lt;code&gt;make html-single&lt;/code&gt;. &lt;code&gt;make check-site&lt;/code&gt; and &lt;code&gt;make shoot-site&lt;/code&gt; test the result.&lt;/li&gt;&lt;li&gt;Relicensed the whole repository (text, figures, templates, tools and scripts) under a single licence, CC BY-NC-SA 4.0 (previously CC BY-SA 4.0). Quoted upstream code excerpts keep their original licences.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;The book is now a source repository. The content is Pandoc Markdown with fenced divs, organised as &lt;code&gt;content/fa&lt;/code&gt; and &lt;code&gt;content/en&lt;/code&gt; with the same structure.&lt;/li&gt;&lt;li&gt;Shared figures with per-language label strings (&lt;code&gt;figures/i18n/&amp;lt;lang&amp;gt;.yaml&lt;/code&gt;) and generated &lt;code&gt;&amp;lt;name&amp;gt;.&amp;lt;lang&amp;gt;.mmd&lt;/code&gt; / &lt;code&gt;.png&lt;/code&gt; variants.&lt;/li&gt;&lt;li&gt;Single-source bilingual glossary (&lt;code&gt;glossary/glossary.yaml&lt;/code&gt;) and a CSL-JSON bibliography (&lt;code&gt;references/references.json&lt;/code&gt;).&lt;/li&gt;&lt;li&gt;A &lt;code&gt;Makefile&lt;/code&gt; with &lt;code&gt;LANG=fa|en&lt;/code&gt;. It builds PDF (WeasyPrint), HTML, EPUB and DOCX (Pandoc), and runs the &lt;code&gt;lint&lt;/code&gt;, &lt;code&gt;spell&lt;/code&gt;, &lt;code&gt;check-refs&lt;/code&gt;, &lt;code&gt;check-links&lt;/code&gt; and &lt;code&gt;check-parity&lt;/code&gt; checks. &lt;code&gt;make all&lt;/code&gt; builds both editions.&lt;/li&gt;&lt;li&gt;CI workflow (&lt;code&gt;.github/workflows/build.yml&lt;/code&gt;), &lt;code&gt;Dockerfile&lt;/code&gt;, pinned &lt;code&gt;requirements.txt&lt;/code&gt; / &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;.editorconfig&lt;/code&gt;, markdownlint config.&lt;/li&gt;&lt;li&gt;53 figure scripts (&lt;code&gt;figures/scripts/plot_*&lt;/code&gt;, &lt;code&gt;measure_*&lt;/code&gt;, &lt;code&gt;compute_*&lt;/code&gt;) and their raw data (&lt;code&gt;figures/data/&lt;/code&gt;). Before this they lived outside the book sources.&lt;/li&gt;&lt;li&gt;English edition: started (see &lt;code&gt;content/en&lt;/code&gt;, &lt;code&gt;make check-parity&lt;/code&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Troubleshooting appendix: the &lt;code&gt;jq&lt;/code&gt; cell lost its escaped pipe (&lt;code&gt;ceph pg &amp;lt;pgid&amp;gt; query | jq .recovery_state&lt;/code&gt;).&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>The Comprehensive Ceph Guide 1.4</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.4</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.4"/><updated>2026-11-15T00:00:00Z</updated><content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;18 new figures (350 in total) and 14 new algorithm boxes (143 in total). Many of them come from measurements on a Ceph 18.2.7 test cluster: - &lt;code&gt;rbd du&lt;/code&gt; with and without &lt;code&gt;--exact&lt;/code&gt; (ch. 2); - copyset and rebuild models computed exactly with &lt;code&gt;osdmaptool&lt;/code&gt; (ch. 1); - host add / reweight data movement (ch. 8); - mgr stats lag against &lt;code&gt;mgr_stats_period&lt;/code&gt;, and &lt;code&gt;pg dump&lt;/code&gt; cost per PG (ch. 9); - Little&#x27;s law and block-size sweep with &lt;code&gt;rados bench&lt;/code&gt; (ch. 10); - &lt;code&gt;numops&lt;/code&gt; against read-modify-write and Lua against client-side reads (ch. 15); - PG state timeline and host failure (ch. 17); - upmap and PG split (ch. 19); - OpTracker stages (ch. 22); - BlueStore label bytes and allocator free map (ch. 24); - pg-log memory and per-item cost (ch. 33).&lt;/li&gt;&lt;li&gt;Preface section «تازه‌های نسخه‌ی ۱٫۴».&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Changed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Version strings in every chapter document that still said 1.2.&lt;/li&gt;&lt;li&gt;The PromQL table in ch. 20 was checked against the metric names in the mgr &lt;code&gt;prometheus&lt;/code&gt; module and &lt;code&gt;prometheus_alerts.yml&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;ch. 15: the &lt;code&gt;cls_lua&lt;/code&gt; global table is &lt;code&gt;objclass&lt;/code&gt;, not &lt;code&gt;cls&lt;/code&gt;. This was checked on 18.2.7 and against &lt;code&gt;cls_lua.cc&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;ch. 15: corrected the error codes for &lt;code&gt;assert_version&lt;/code&gt; (ERANGE / EOVERFLOW) and &lt;code&gt;cmpxattr&lt;/code&gt; (ECANCELED).&lt;/li&gt;&lt;li&gt;1080 pages.&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>The Comprehensive Ceph Guide 1.3</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.3</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.3"/><updated>2026-11-15T00:00:00Z</updated><content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;About 61 new figures (332 in total) and 52 new algorithm boxes (129 in total). They cover striping, object map, fast-diff, bucket-index sharding and resharding, datalog and mdlog sharding, dirfrag split and merge, Paxos failure handling, dmclock, autoscaler, compression and min_alloc amplification, and more.&lt;/li&gt;&lt;li&gt;Preface section «تازه‌های نسخه‌ی ۱٫۳».&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;ch. 16: the cache-tier eviction condition was inverted. It was checked against &lt;code&gt;PrimaryLogPG::agent_maybe_evict&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;ch. 24: &lt;code&gt;range_seg_t&lt;/code&gt; is 80 bytes (checked with a compile test).&lt;/li&gt;&lt;li&gt;ch. 24: RGW lifecycle marker format, and the worked hash example recomputed.&lt;/li&gt;&lt;li&gt;&lt;code&gt;!TABLE&lt;/code&gt; blocks without &lt;code&gt;!ENDTABLE&lt;/code&gt; (ch. 14, 16, 24).&lt;/li&gt;&lt;li&gt;1050 pages.&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>The Comprehensive Ceph Guide 1.2</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.2</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.2"/><updated>2026-11-15T00:00:00Z</updated><content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;New chapters 30–33: Crimson/Seastar, SPDK and NVMe-oF, scrub/recovery/repair, memory and CPU.&lt;/li&gt;&lt;li&gt;Algorithm boxes (77) with pseudocode, complexity, a worked example and the source &lt;code&gt;file::function&lt;/code&gt; for each. Appendix «فهرست الگوریتم‌ها».&lt;/li&gt;&lt;li&gt;Byte-layout figure generator. Figures grew from 177 to 271.&lt;/li&gt;&lt;li&gt;16 new glossary terms. 954 pages.&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>The Comprehensive Ceph Guide 1.1</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.1</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.1"/><updated>2026-11-15T00:00:00Z</updated><content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;New section of low-level chapters 23–29: block device and bufferlist, BlueStore on-disk format, RocksDB, msgr2, erasure-code math, CRUSH internals, kernel clients.&lt;/li&gt;&lt;li&gt;Expanded chapters 13, 14, 16, 18, 20 and 21.&lt;/li&gt;&lt;li&gt;758 pages, 177 figures, 230 references, 290 answers.&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>The Comprehensive Ceph Guide 1.0</title><id>https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.0</id><link rel="alternate" href="https://github.com/RaminNietzsche/ceph-scalable-storage/releases/tag/v1.0"/><updated>2026-11-15T00:00:00Z</updated><content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;First complete edition with 22 chapters. Chapter 22, &quot;Ceph code architecture&quot;, walks end to end through a RADOS write, RBD, an RGW PUT and CephFS.&lt;/li&gt;&lt;li&gt;&quot;From the code&quot; deep dives in every chapter, with short attributed excerpts (ceph/ceph, LGPL).&lt;/li&gt;&lt;li&gt;Review questions with answers, a glossary, a troubleshooting appendix and a versions appendix.&lt;/li&gt;&lt;li&gt;587 pages, 134 figures, 191 references.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;[Unreleased]: #unreleased&lt;/p&gt;&lt;p&gt;[1.4]: #14--2026-11-15&lt;/p&gt;&lt;p&gt;[1.3]: #13--2026-11-15&lt;/p&gt;&lt;p&gt;[1.2]: #12--2026-11-15&lt;/p&gt;&lt;p&gt;[1.1]: #11--2026-11-15&lt;/p&gt;&lt;p&gt;[1.0]: #10--2026-11-15&lt;/p&gt;</content></entry></feed>
