Nova Ephemeral Disks sur Ceph¶
Introduction¶
Configurer Nova pour utiliser Ceph pour les disques éphémères des instances, permettant migration live et meilleure résilience.
Configuration¶
Kolla globals.yml¶
Configuration manuelle¶
# /etc/kolla/config/nova/nova-compute.conf
[libvirt]
images_type = rbd
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = nova
rbd_secret_uuid = <UUID_SECRET>
Créer utilisateur Nova¶
ceph auth get-or-create client.nova \
mon 'profile rbd' \
osd 'profile rbd pool=vms, profile rbd pool=volumes, profile rbd pool=images' \
mgr 'profile rbd pool=vms'
ceph auth get client.nova -o /etc/ceph/ceph.client.nova.keyring
Secret libvirt¶
# Même procédure que pour Cinder
UUID_SECRET=$(uuidgen)
cat > secret.xml << EOF
<secret ephemeral='no' private='no'>
<uuid>${UUID_SECRET}</uuid>
<usage type='ceph'>
<name>client.nova secret</name>
</usage>
</secret>
EOF
for host in compute-{1,2}; do
ssh $host 'sudo virsh secret-define /tmp/secret.xml'
ssh $host "sudo virsh secret-set-value ${UUID_SECRET} $(ceph auth get-key client.nova)"
done
Vérification¶
# Créer une instance
openstack server create test-ephemeral \
--flavor m1.small \
--image cirros \
--network provider-net
# Vérifier le disque dans Ceph
rbd ls vms
# Doit montrer : <instance-uuid>_disk
Avantages¶
- Migration live : Disques sur stockage partagé
- Résilience : Données répliquées
- Performance : Cache RBD + Copy-on-Write depuis Glance
Checkpoint¶
- Nova configuré avec backend Ceph
- Secret libvirt configuré sur compute nodes
- Instance créée avec disque sur Ceph
- Migration live testée