Skip to content

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

# /etc/kolla/globals.yml
nova_backend_ceph: "yes"
ceph_nova_pool_name: "vms"

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