22
0
Fork 0

Ajout section « RBD et Libvirt »

This commit is contained in:
abenmiloud 2018-10-03 14:40:30 +02:00
parent c13a681dce
commit 5dee3358a8
1 changed files with 37 additions and 1 deletions

View File

@ -242,7 +242,7 @@ Si on compte utiliser le block device pour y installer une machine virtuelle, il
# mkfs.ext4 -m0 /dev/rbd/rbd/foo
# mkdir /mnt/ceph-block-device
# mount /dev/rbd/rbd/foo /mnt/ceph-block-device
# cat <<EOF >>/mnt/ceph-block-device
# cat <<EOF >>/mnt/ceph-block-device/file
plain text is life
EOF
~~~
@ -363,6 +363,42 @@ Pour finir, on supprime le pool puis on active à nouveau la sécurité :
## RBD et Libvirt
Il est possible de faire en sorte que Libvirt parle à Ceph directement. Cela facilite l'allocation de RBD a une machine virtuelle.
Sur la machine cliente, on ajoute la clef de l'utilisateur libvirt dans un secret :
~~~
# cat > secret.xml << EOF
<secret ephemeral='no' private='no'>
<usage type='ceph'>
<name>client.libvirt secret</name>
</usage>
</secret>
EOF
# virsh secret-define --file secret.xml # Donne la valeur de UUID
# virsh secret-set-value --secret $UUID --base64 $KEY # KEY est dans le fichier /etc/ceph/ceph.client.libvirt.keyring
~~~
Il est maintenant possible d'ajouter un RBD à une machine virtuelle. Par exemple pour ajouter le disque vm0-data du pool rbd à la VM vm0 (ne pas oublier de renseigner l'UUID) :
~~~
# cat << EOF > vm0-data.xml
<disk type='network' device='disk'>
<driver name='qemu'/>
<auth username='libvirt'>
<secret type='ceph' uuid='$UUID'/>
</auth>
<source protocol='rbd' name='rbd/vm0-data'>
<host name='192.168.0.1' port='6789'/>
<host name='192.168.0.2' port='6789'/>
<host name='192.168.0.3' port='6789'/>
</source>
<target dev='vda' bus='virtio'/>
</disk>
EOF
# virsh attach-device vm0 vm0-data.xml --live --config
~~~
## VM
On peut utiliser un block device pour y installer une machine virtuelle avec `virt-install`. Le chemin du disque doit mener au block device :