MLでPacemakerでvSphere環境で利用するSTONITHプラグイン(external/libvirt)の接続設定について質問されたので、整理しておきます。
PacemakerのCRMファイルの設定中には、ユーザ名、パスワードなどは設定しない為、virshコマンド(external/libvirtで利用)での接続もユーザ名、パスワードは入力せずに接続出来るようにする必要があります。
また、vCenter Serverに収容(データセンタ内に管理)されているESXiサーバに関しては、vCenterにvirsh接続することで操作が可能となります。
以下にvCenter Serverへのユーザ名、パスワード入力無での接続について説明します。
前提とする環境
- 接続先となるのはvSphere5.x
- vCenter Server 1台
- Esxi 複数台(今回は、vSphere HA構成内に収容されているesx1と、データセンターにのみ収容されているesx4としてみます)
- 接続元となるLinux
- RHEL7.2 (virshのバージョンは1.2.8でした)
[root@rh72-01 ~]# virsh -v
1.2.8
[root@rh72-01 ~]# virsh -V
libvirt の virsh コマンドラインツール 1.2.8
http://libvirt.org/ にあるウェブサイトを参照してください。
以下のサポート付きでコンパイルされました:
ハイパーバイザー: QEMU/KVM LXC ESX Test
ネットワーク: Remote Network Bridging Interface netcf Nwfilter VirtualPort
ストレージ: Dir Disk Filesystem SCSI Multipath iSCSI LVM Gluster
その他: Daemon Nodedev SELinux Secrets Debug DTrace Readline Modular
★サポートされているハイパーバイザーにESXが含まれない場合は、接続出来ません。
準備
ユーザ名、パスワード入力を省略する為に認証ファイルを用意します。
エディタで/etc/libvirt/auth.confを作成します。
以下の例では、192.xx.xx.xxのvCenterサーバを経由して各Esxiホストにvirsh接続する為の設定です。
authセクション
auth-esx-の後ろにvishのコマンドラインで接続するホスト名もしくは、IPアドレスでセクションを記載します。
また、credentialsには、このセクションが利用するcredentialsセクション名を記載します。
credentialsセクション
credentials-の後ろに、先にauthセクションで指定したcredentials値を指定して、セクションを記載します。
接続ユーザ、パスワードを記載します。
当然ですが、接続ユーザ、パスワードはvSphere Clientなどで実際にvCenterサーバに接続可能なユーザである必要があります。
[auth-esx-192.xx.xx.xx]
credentials=test
[credentials-test]
username=USER1
password=XXXXXX
接続の確認
vCenter Serverに接続する場合には、接続文字列としてvpxを指定します。
また、実際に接続するゲストを起動していいるESXiホストの指定は接続文字列の中にデータセンター名、クラスタ名を含めて指定します。
以下は、vCenterサーバ配下のdata-center(データセンター)配下に構成されたdata-cluster(クラスタ)のesxi1にvirsh接続する例となります。
auth.confを設定しているので、接続時にユーザ名、パスワードは不要です。
[root@rh72-01 ~]# virsh -c vpx://192.xx.xx.xx/data-center/data-cluster/esxi1?no_verify=1 list
Id 名前 状態
----------------------------------------------------
561 rh7x-01 実行中
以下は、
以下は、vCenterサーバ配下のdata-center(データセンター)配下のesxi4にvirsh接続する例となります。
[root@rh72-01 ~]# virsh -c vpx://192.xx.xx.xx/data-center/esxi4?no_verify=1 list --all
Id 名前 状態
----------------------------------------------------
- rh6x-01 シャットオフ
- rh6x-02 シャットオフ
どちらの接続もvpx指定でvCenterサーバを経由して可能です。
あくまで、auth.conf設定ファイルでの接続は、vSphere5.x環境でしか確認していません。6.xへの接続は未確認です。
また、6.xへの接続については、libvirtのバージョンが影響しますので、注意してください。
その他
詳細は、本家のlibvirtのドキュメントが参考になるかと思います。
以上です。