La mise en place du gestionnaire de verrouillage distribué (DLM) empêche une même machine virtuelle de fonctionner sur plusieurs noeuds de calcul simultanément. Cette situation peut se produire lorsqu'une machine virtuelle est reconstruite sur un autre système lors d'une panne matérielle temporaire ou lors de la maintenance du matériel et que le système initial hébergeant cette machine virtuelle est remis en service. Le gestionnaire de verrouillage distribué place un verrou sur chaque machine virtuelle qui fonctionne sur un nœud de calcul, ce qui empêche les autres nœuds de calcul d'exécuter cette machine virtuelle. La fonction d'évacuation Nova n'est pas prise en charge lorsque le gestionnaire de verrouillage distribué n'est pas installé ni configuré.
La configuration du gestionnaire de verrouillage distribué sur le noeud de calcul d'OpenStack Oracle VM Server for SPARC nécessite un serveur NFS spécialement configuré et des modifications du fichier /etc/nova/nova.conf. Reportez-vous à Fichier de configuration /etc/nova/nova.conf du noeud de calcul.
L'exemple suivant indique comment configurer un seul hôte Solaris comme serveur NFSv4. Le système de fichiers ZFS se trouve dans saspool, le partage est appelé nfspool et le nom de partage est /saspool/nfspool. Les adresses IP de vos clients NFS sont 10.0.68.20 et 10.0.68.22. Dans cet exemple, le domaine NFS est également configuré dans tous les hôtes.
cctrl# sharectl set -p server_versmin=4 nfs cctrl# sharectl set -p server_delegation=off nfs cctrl# zfs create -o quota=1g saspool/nfspool cctrl# zfs set share=name=nfspool,path=/saspool/nfspool,prot=nfs,sec=sys,rw=@10.0.68.20/32:@10.0.68.22/32,root=@10.0.68.20/32:@10.0.68.22/32,anon=0 saspool/nfspool cctrl# zfs share.nfs=on saspool/nfspool cctrl# chown 85:85 /saspool/nfspool # Nova user's UID cctrl# sharectl set -p nfsmapid_domain=us.oracle.com nfs nova# sharectl set -p nfsmapid_domain=us.oracle.com nfs
Si vous avez besoin d'arrêter le serveur NFSv4 de DLM pendant un certain temps, il faut d'abord désactiver la gestion de verrouillage distribué sur chacun de vos noeuds de calcul.
Modifiez le fichier de configuration /etc/nova/nova.conf et mettez en commentaire l'entrée dlm_nfs_server. Par exemple :
#dlm_nfs_server=10.10.68.61
Redémarrez le service nova-compute sur tous vos noeuds de calcul.
nova# svcadm restart nova-compute
DLM quitte le cluster sur tous les nœuds et ne tente plus de verrouiller les noeuds par perte de connectivité dans le partage NFS.
Lorsque le serveur NFS est prêt à être mis en ligne, inversez les étapes précédentes en supprimant le caractère de commentaire (#) à partir du début de l'entrée dlm_nfs_server et en redémarrant le service nova-compute.
Notez que l'opération d'évacuation Nova n'est pas prise en charge lorsque le cluster DLM est déconnecté.