cifmw_block_device
Creates a virtual block device with logical volumes. Useful for deploying Ceph on a virtual machine which does not have any block devices except for root. Creates a systemd unit so the virtual block device comes back online during reboot.
The target system must have 7 GB of available disk space at minimum.
This role will recreate the block device on each run. Thus, if there is data on the block device from the previous run it will delete it. The assumption is that the block device exists for testing and that rebuilding the environment quickly is more important preserving any test data.
Privilege escalation
Requires root on the remote system to create loop back device and systemd unit.
Parameters
cifmw_block_device_image_file
: Name of thedd'd
image file (default/var/lib/ceph-osd.img
)cifmw_block_device_size
: Size of the virtual block device (default7G
)cifmw_block_device_loop
: Name of the loop device (default/dev/loop3
)cifmw_block_vg_name
: Name of the logical volume group (defaultceph_vg
)cifmw_block_lv_name
: Name of the logical volume (defaultceph_lv_data
)cifmw_block_systemd_unit_file
: Name of the systemd unit which restores the device on system startup (default/etc/systemd/system/ceph-osd-losetup.service
)
Examples
The following will create a 7 GB block device on the target system using the defaults above.
- import_role:
name: cifmw_block_device
The lsblk
command should then show an available block
device.
[root@edpm-compute-0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop3 7:3 0 7G 0 loop
└─ceph_vg-ceph_lv_data 253:0 0 7G 0 lvm
vda 252:0 0 20G 0 disk
└─vda1 252:1 0 20G 0 part /
[root@edpm-compute-0 ~]#
If a Ceph spec file has the following, then an OSD will be created which uses the virtual block device.
data_devices:
paths:
- /dev/ceph_vg/ceph_lv_data
The following will stop and disable the systemd unit file which starts the virtual block device, remove the logical volume, volume group, and physical volume, and delete the loopback device and its backing file.
- import_role:
name: cifmw_block_device
tasks_from: cleanup