Which drivers are "block" storage?

When reading the docs you come across descriptions like block based driver but its not particularly clear to me which of the drivers (zfs ceph btrfs cephfs dir lvm) count as block drivers.

Looking else where in the docs you sometimes see block based driver (lvm) but I dont want to miss interpret this as “only lvm is block based”.

Can anyone advise?

All storage drivers support block volumes in some way or another (either natively or via a disk image file and loop block device).

However some of the storage drivers only natively support block devices and don’t have their own native filesystem. It is these that we refer to as ‘block backed’ storage drivers.

These drivers are currently lvm and ceph.

Because of the nature of these drivers a filesystem must be added ontop for container usage, and because block devices have a fixed size, the volume and filesystem come with a default volume size of 10GB and a filesystem specified by the storage pool setting ‘volume.block.filesystem’ that defaults to ext4.

The dir, btrfs and cephfs drivers use their associated underlying filesystems for filesystem volumes and a loop disk image file for block volumes.

ZFS is special in that it natively supports both filesystem and block volumes, and we use the appropriate type as needed.

1 Like

Thanks! :grinning_face_with_smiling_eyes: