v20260901
Pre-releaseFull Changelog: v20260827...v20260901
Native Ceph RBD storage for XCP-ng 8.3 (aes256k / msgr2). Source + full docs:
https://github.com/dicode-nl/xcp-ng-ceph-rbd. Verify with sha256sum -c SHA256SUMS.
Four parts: install the kernel modules (the datapath) first, then — if you use the
SMAPIv3 backend=local control plane — the Ceph userspace bindings, then the
SMAPIv1 driver and/or the SMAPIv3 plugin.
1. Kernel modules — backported krbd (aes256k + msgr2)
Give the 8.3 dom0 kernel (4.19.0+1) the aes256k CephX key type and msgr2. Install
all three in ONE transaction (locked, circular dependency):
rpm -ivh krb5-module-*.rpm libceph-module-alt-*.rpm rbd-module-alt-*.rpm
modprobe rbdRequires: kernel-uname-r = 4.19.0+1 (stock 8.3 dom0 kernel), kmod.
2. Ceph userspace bindings — aes256k librados / librbd + python3
The dom0-side librados/librbd (built with aes256k) and their python3 bindings. Used
by the SMAPIv3 plugin's backend=local control plane (native librados/librbd), and
by any userspace librbd/librados tooling on dom0. Self-contained (librados2 provides
libceph-common.so.2); install all four in one transaction:
rpm -ivh librados2-*.rpm librbd1-*.rpm python3-rados-*.rpm python3-rbd-*.rpmNOT needed for the SMAPIv1 driver (which uses the rbd CLI + kernel map only).
3. SMAPIv1 driver — sm-additional-rbd (SR type rbd)
rpm -ivh sm-additional-rbd-*.rpm
xe-toolstack-restart # on every pool host — registers SR type 'rbd'Requires (from the XCP-ng repos): sm, python3; plus rbd-module-alt (part 1).
4. SMAPIv3 plugin (SR type rbd-vol)
Three RPMs (shared libs + volume + datapath); install all — the volume pulls the
datapath, both pull the libs:
rpm -ivh dicode-xapi-storage-libs-rbd-*.rpm \
dicode-xapi-storage-volume-rbd-*.rpm \
dicode-xapi-storage-datapath-rbd-*.rpm
xe-toolstack-restart # registers SR type 'rbd-vol' (on every host;
# VDI_MIRROR/VDI_MIRROR_IN promote once all
# hosts have re-registered)Requires (from the XCP-ng repos): xapi-storage-script, python3-xapi-storage,
blktap, python3; plus rbd-module-alt (part 1).
Optional runtime deps (installed on demand, NOT hard requirements — the plugin
fails with a clear error if a mode is used without its tool):
python3-rados+python3-rbd(part 2) — fordevice-config datapath=/
backend=local(the librados/librbd LocalBackend).qemu-dp+nbd(from the XCP-ng repos) — for theqemudatapath serve mode
and live storage migration (SXM). The defaultblkbackmode needs neither.
Dependencies NOT included here
These ship with XCP-ng 8.3 (base repos) and are pulled in by yum/dnf:
sm, xapi-storage-script, python3-xapi-storage, blktap, python3, the
4.19.0+1 kernel, and (optional, for the qemu/SXM datapath) qemu-dp, nbd.
Tip: to serve these as a yum repo instead of installing by hand, run createrepo_c .
in this directory and add it as a repo on your hosts (yum install then resolves
everything, including the correct install order).
Contents / versions
| RPM | version |
|---|---|
krb5-module, libceph-module-alt, rbd-module-alt |
1.0.0-1.xcpng8.3 (x86_64) |
librados2, librbd1, python3-rados, python3-rbd |
2:15.2.17-0.xcpng8.3.dicode.aes256k1 (x86_64) |
sm-additional-rbd |
2.0-3.xcpng8.3 (noarch) |
dicode-xapi-storage-libs-rbd, -volume-rbd, -datapath-rbd |
0.2-5.xcpng8.3 (noarch) |