分散ロックマネージャー (DLM) を実装すると、同じ VM が同じコンピュートノードで同時に実行されなくなります。VM が一時的なハードウェアの障害中またはハードウェアの保守中に別のシステム上で再構築され、その VM を格納する初期システムが保守のために復元された場合に、この状況が発生する可能性があります。DLM は、コンピュートノードでの実行時に各 VM をロックします。これによって、ほかのコンピュートノードはその VM を実行できなくなります。DML がインストールおよび構成されていない場合、Nova の退避機能はサポートされません。
Oracle VM Server for SPARC OpenStack コンピュートノードで DLM を構成するには、特別に構成された NFS サーバーと、/etc/nova/nova.conf ファイルに対する変更が必要です。コンピュートノードの /etc/nova/nova.conf 構成ファイルを参照してください。
次の例は、単一の Solaris ホストを NFSv4 サーバーとして構成する方法を示しています。ZFS ファイルシステムは saspool 上にあり、共有は nfspool と呼ばれ、共有名は /saspool/nfspool です。NFS クライアントの IP アドレスは 10.0.68.20 および 10.0.68.22 です。また、この例では、すべてのホストで NFS ドメインを構成します。
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
DLM の NFSv4 サーバーを長時間停止する必要がある場合、最初に各コンピュートノード上で DLM を無効にします。
/etc/nova/nova.conf 構成ファイルを編集して、dlm_nfs_server エントリをコメントにします。例:
#dlm_nfs_server=10.10.68.61
すべてのコンピュートノード上で nova-compute サービスを再起動します。
nova# svcadm restart nova-compute
DLM はすべてのノード上でクラスタを終了し、NFS 共有への接続が失われた場合にはノードをフェンシングしようとしなくなります。
NFS サーバーをオンラインにする準備ができたら、dlm_nfs_server エントリの先頭からコメント文字 (#) を削除して、nova-compute サービスを再起動することで、前のステップを逆方向に行います。
DLM クラスタがオフラインになっている間、Nova 退避操作はサポートされません。