Sometimes my ceph-(test!)deployments inside a VM failed.
The Problem is that the kernel/cpu can not provide enough entropy (random numbers) for the
ceph-create-keys command - so it stuck/hang. It is not a ceph problem! This can also happen with ssl commands.
But first things first - we need to check the available entropy on a system:
The read-only file
entropy_avail gives the available entropy.
Normally, this will be 4096 (bits), a full entropy pool (see man 4 random)
Values less than 100-200, means you have a problem!
For a virtual machine we can create a new device - virtio-rng. Here is a xml example for libvirt.
<rng model='virtio'> <backend model='random'>/dev/random</backend> </rng>
That is ok for ONE virtual machine on the hypervisor. Usually we find more than one virtual machine. Therefore we need to install the
rng-tools package on the virtual machines.
$pkgmgr install rng-tools systemctl enable rngd systemctl start rngd
That's it! That solved a lot of my problems ;)