Thanks to infernix who contributed this tip on how to use libguestfs to access Ceph (and in theory, sheepdog, gluster, iscsi and more) devices.
If you apply this small patch to libguestfs you can use these distributed filesystems straight away by doing:
$ guestfish ><fs> set-attach-method appliance ><fs> add-drive /dev/null ><fs> config -set drive.hd0.file=rbd:pool/volume ><fs> run
… followed by usual guestfish commands.
This is a temporary hack, until we properly model Ceph (etc) through the libguestfs stable API. Nevertheless it works as follows:
- The
add-drive /dev/nulladds a drive, known to libguestfs. - Implicitly this means that libguestfs adds a
-driveoption when it runs qemu. - The custom qemu
-set drive.hd0.file=...parameter modifies the preceding-driveoption added by libguestfs so that the file is changed from/dev/nullto whatever you want. In this case, to a Cephrbd:...path.
