3.3.1 IM構成管理で仮想化構成を管理する
ここでは,IM構成管理で仮想化構成を管理するための設定について説明します。
- 〈この項の構成〉
(1) 仮想化構成を管理するための前提条件
仮想化構成を管理するために必要な前提条件を次に示します。
(a) 管理できる仮想化構成の条件
KVMを管理する場合は,仮想化環境管理ソフトウェアがなくても仮想化システム構成を管理できます。KVM以外の仮想化ソフトウェアを管理する場合は,次に示す仮想化環境管理ソフトウェアのうちのどれかが,仮想化システム管理ホストにインストールされている必要があります。
-
vCenter
-
JP1/SC/CM
-
SCVMM
-
HCSM
それぞれの仮想化環境管理ソフトウェアおよびKVMを利用するために必要な条件を次に示します。
仮想化環境管理ソフトウェア |
マネージャー上で必要な条件 |
仮想化システム管理ホストで必要な条件 |
ゲストOSのVMMホストで必要な条件 |
ゲストOSで必要な条件 |
---|---|---|---|---|
vCenter |
接続先vCenterのアカウントのユーザーIDとパスワードがIM構成管理に登録されていること。 |
vCenterが稼働するホストとマネージャーが通信できる環境になっていること。 |
VMware ESXがインストールされていること。 |
VMware ESXで稼働するゲストOSにVMware Toolsがインストールされ,IPアドレスとホスト名が設定されていること。 |
JP1/SC/CM |
なし |
JP1/SC/CMが稼働するホストのJP1/Baseとマネージャーが通信できる環境になっていること。 |
日立サーバ論理分割機構がインストールされていること。 |
日立サーバ論理分割機構で管理するゲストOSに,IPアドレスとホスト名が設定されていること。 |
SCVMM |
|
|
Hyper-VまたはvCenterがインストールされていること。 |
Hyper-Vで稼働するゲストOSにHyper-V Integrated Servicesがインストールされ,IPアドレスとホスト名が設定されていること。 |
HCSM |
|
なし |
|
日立サーバ論理分割機構で管理するゲストOSに,IPアドレスとホスト名が設定されていること。 |
注※1 異なるバージョンのSCVMM管理コンソールを,同一のマネージャーにインストールしないでください。
注※2 事前にSCVMM管理コンソールをインストールするための前提OSを確認してください。
マネージャー上で必要な条件 |
仮想ホストのVMMホストで必要な条件 |
ゲストOSで必要な条件 |
---|---|---|
|
マネージャーとSSH接続するために必要な公開鍵が配布されていること。 |
|
注※ KVMの仮想化構成情報を収集する場合,仮想ホストのホスト名として,KVMで定義されたホストの識別名(KVMではドメイン名と呼ばれる,virsh listコマンドを実行したときId Nameに表示される名前)を収集します。
詳細は,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「8.3 仮想化システム構成の管理」を参照してください。
(b) 仮想化構成を管理するためのJP1/Baseの条件
次に示すJP1/Baseの設定が,仮想化構成を管理するために必要な前提条件を満たしているか確認してください。
-
JP1権限レベル
IM構成管理で仮想化構成を管理するには,次のどちらかのJP1権限レベルで操作してください。
-
JP1_CF_Admin
-
JP1_CF_Manager
なお,IM構成管理・ビューアーから仮想化システム構成をセントラルスコープへ反映する場合,IM構成管理・ビューアーにログインしているJP1ユーザーに次の権限が必要です。
-
JP1資源グループ:JP1_Console
-
JP1権限レベル:JP1_Console_Admin
-
-
ホストを登録するときの条件
-
仮想化構成情報で取得したホストをそのままIM構成管理に登録する場合は,登録するホストのJP1/Baseのイベントサーバ名の設定を次のとおり確認する。
・ショートネーム形式のホスト名を登録するとき,登録するホストのJP1/Baseのイベントサーバ名がショートネームかどうか
・FQDN形式のホスト名を登録するとき,登録するホストのJP1/Baseのイベントサーバ名がFQDN形式かどうか
-
仮想化構成情報で取得したホスト名とIM構成に登録したいホスト名が異なる場合は,IM構成に登録したいホスト名のホストをホスト管理に新たに登録する。
-
(2) 仮想化構成情報を設定する
次のどちらかの方法で,JP1/IMのシステムに追加する仮想ホストに関する情報を設定します。
(a) [ホスト登録]画面から登録する
[IM構成管理]画面から[ホスト登録]画面を呼び出して,新しい仮想ホストを登録します。
-
[IM構成管理]画面の[ホスト一覧]タブをクリックして,[ホスト一覧]ページを表示する。
-
次のどちらかの方法で[ホスト登録]画面を表示する。
-
ツリー表示領域の[ホスト一覧]を選択し,メニューバーから[編集]−[ホスト登録]を選択する。
-
ツリー表示領域内の[ホスト一覧]を右クリックして表示されるポップアップメニューから[ホスト登録]を選択する。
-
-
[ホスト登録]画面に表示される項目を指定して,新しいホストを登録する。
[ホスト種別]に「物理ホスト」または「仮想ホスト」を選択する。
- [ホスト種別]に「物理ホスト」を選択した場合
-
[仮想化管理設定]画面で該当ホストの仮想化管理種別を指定する。
- [ホスト種別]に「仮想ホスト」を選択した場合
-
[VMMホスト]に仮想マシンモニターが動作しているホストのホスト名を指定する。
[仮想化管理種別]に該当ホストの仮想化管理種別を指定する。
(b) 仮想化システム管理ホストから仮想化構成情報を収集する
仮想化システム管理ホストから仮想化構成情報を収集して,管理下のホストの仮想化構成情報をIM構成管理に設定します。
仮想化システム管理ホストから仮想化構成情報を収集する方法については,「3.3.2 仮想化システムの構成情報を収集する」を参照してください。
(3) 仮想ホストをシステムの階層構成に追加する
IM構成管理・ビューアーを操作して,「3.3.1(2) 仮想化構成情報を設定する」で登録した仮想ホストを,システムの階層構成(IM構成)に追加します。JP1/IMのシステム構成にホストを追加する方法については,「3.2.4 システムの階層構成を編集する」を参照してください。
(4) システムの階層構成をシステムに反映する
IM構成管理・ビューアーを操作して,「3.3.1(3) 仮想ホストをシステムの階層構成に追加する」で設定したシステムの階層構成(IM構成)を,システムに反映します。システムの階層構成をシステムに反映する方法については,「3.2.4(3) システムの階層構成をIM構成管理が管理するシステムに反映する」を参照してください。
反映後,[IM構成管理]画面の[IM構成]ページで,物理ホストと仮想ホストの階層関係を表示できるようになります。
(5) 証明書を組み込む
vCenterおよびVMware ESXの仮想化構成情報を取得する場合に使用する通信方法には,SSLを使う方法(https)とSSLを使わない方法(http)の2種類があります。
- 重要
-
仮想化構成情報を取得する場合の通信種別はvCenter,VMware ESXの仕様によりバージョン5.5および6ではhttpsのみのサポートとなります。
また,他のバージョンにつきましても,vCenter,VMware ESXの仕様によりhttp接続を利用できない場合があります。http接続を利用できない場合は,JP1/IM - ManagerとvCenter,VMware ESXとの接続プロトコルはhttpsをご使用ください。vCenter,VMware ESXの接続プロトコルのサポート状況については,ご購入元にご確認ください。
vCenterまたはVMware ESXとの通信にSSLを使用する場合は,通信先のvCenterホストまたはVMware ESXホストの証明書をJP1/IM - Managerが動作するマネージャーに組み込む必要があります。証明書の組み込みは,通信するvCenterまたはVMware ESXの件数分だけ実施してください。
ここでは,vCenterホストまたはVMware ESXホストの証明書を組み込む手順の概要を説明します。詳細については,vCenterまたはVMware ESXが提供するドキュメントを参照してください。
(a) 証明書を入手する
VMware ESXからSSL証明書を入手するには,Microsoft Edgeを使用する方法と,証明書ファイルを直接入手する方法があります。vCenterからSSL証明書を入手するには,Microsoft Edgeを使用します。それぞれの手順を次に示します。
- 重要
-
入手した証明書ファイルが管理者権限の無いOSユーザーにアクセスされないよう,適切なアクセス権限を付与してください。
■ Microsoft Edgeを使用する場合
Microsoft Edgeを使用してVMware ESXまたはvCenterからSSL証明書を入手する場合は,Microsoft Edgeのヘルプを参照してください。
■ 証明書ファイルを直接入手する場合
VMware ESX 3.5の場合は,VMware ESXホストの/etc/vmware/ssl/rui.crtに証明書のファイルが格納されています。
(b) 証明書をIM構成管理に組み込む
入手した証明書を次の手順で,IM構成管理に組み込みます。
■ Windowsの場合
この作業は,Administrators権限を持つユーザーで実施してください。
-
コマンドプロンプトを開き,Managerパス\bin\jdk\binに移動する。
-
Keytoolコマンドを実行して,証明書をIM構成管理に組み込む。
keytool -import -file 証明書ファイル名 -alias ホスト名 -keystore ..\..\..\data\imcf\vmware.keystore
注:論理ホストに証明書を組み込む場合は,"..\..\.."を"共有ディレクトリ\JP1IMM"に読み替えてください。
証明書ファイル名には,「3.3.1(5)(a) 証明書を入手する」で取得した証明書ファイルをパスを含めて指定します。
ホスト名には,証明書取得先のvCenterまたはVMware ESXのホスト名を指定します。
-
キーストアのパスワード(ユーザー任意)を入力する。
証明書を複数組み込む場合は,同じパスワードを入力してください。
-
証明書を信頼するかどうかを確認するメッセージが表示されるので,「yes」を入力する。
証明書がIM構成管理に組み込まれます。
-
手順1から手順4の作業をvCenterまたはVMware ESXのホストの件数分だけ繰り返す。
■ UNIXの場合
この作業は,スーパーユーザー権限を持つユーザーで実施してください。
-
コンソールまたはターミナルを開き,cd /opt/jp1imm/bin/jdk/binを実行する。
-
Keytoolコマンドを実行して,証明書をIM構成管理に組み込む。
./keytool -import -file 証明書ファイル名 -alias ホスト名 -keystore /var/opt/jp1imm/data/imcf/vmware.keystore
注:論理ホストに証明書を組み込む場合は,"/var/opt/jp1imm"を"共有ディレクトリ/jp1imm"に読み替えてください。
証明書ファイル名には,「3.3.1(5)(a) 証明書を入手する」で取得した証明書ファイルをパスを含めて指定します。
ホスト名には,証明書取得先のvCenterまたはVMware ESXのホスト名を指定します。
-
キーストアのパスワード(ユーザー任意)を入力する。
証明書を複数組み込む場合は,同じパスワードを入力してください。
-
証明書を信頼するかどうかを確認するメッセージが表示されるので,「yes」を入力する。
証明書がIM構成管理に組み込まれます。
-
手順1から手順4の作業をvCenterまたはVMware ESXのホストの件数分だけ繰り返す。
(c) 証明書をIM構成管理から削除する
証明書をIM構成管理から削除する場合の手順を次に示します。
■ Windowsの場合
-
コマンドプロンプトを開き,Managerパス\bin\jdk\binに移動する。
-
Keytoolコマンドを実行して,証明書をIM構成管理理から削除する。
keytool -delete -alias ホスト名 -keystore ..\..\..\data\imcf\vmware.keystore
注:論理ホストの証明書を削除する場合は,"..\..\.."を"共有ディレクトリ\JP1IMM"に読み替えてください。
ホスト名には,削除する証明書に該当するvCenterまたはVMware ESXのホスト名を指定します。
-
「3.3.1(5)(b) 証明書をIM構成管理に組み込む」で設定したパスワードを入力する。
指定したvCenterまたはVMware ESXのホストの証明書がIM構成管理から削除されます。
■ UNIXの場合
-
コンソールまたはターミナルを開き,cd /opt/jp1imm/bin/jdk/binを実行する。
-
Keytoolコマンドを実行して,証明書をIM構成管理から削除する。
./keytool -delete -alias ホスト名 -keystore /var/opt/jp1imm/data/imcf/vmware.keystore
注:論理ホストの証明書を削除する場合は,"/var/opt/jp1imm"を"共有ディレクトリ/jp1imm"に読み替えてください。
ホスト名には,削除する証明書に該当するvCenterまたはVMware ESXのホスト名を指定します。
-
「3.3.1(5)(b) 証明書をIM構成管理に組み込む」で設定したパスワードを入力する。
指定したvCenterまたはVMware ESXのホストの証明書がIM構成管理から削除されます。
(6) VMware ESXの通信種別を変更する
jcfcolvmesxコマンドは,VMware Infrastructure SDKのインターフェースを使ってVMware ESXと通信し,仮想化構成情報を取得できます。
デフォルトでは,SSLを使う通信(https)だけを許可する設定になっています。
ここでは,VMware Infrastructure SDKが許可する通信種別を変更する手順の概要を説明します。ただし,VMware ESXのバージョンによっては,次に示す手順と異なる場合があります。詳細については,VMware ESXが提供するドキュメントを参照してください。
-
VMware ESXのサービスコンソールに,スーパーユーザー権限でログインする。
-
/etc/vmware/hostdに移動する。
-
proxy.xmlファイルをテキストエディターで開く。
-
proxy.xmlファイルの<EndpointList>タグにある,VMware Infrastructure SDKの項目を変更して,ファイルを保存する。
次の定義例の太字部分を,使用する通信種別に合わせて変更します。
... <e id="1"> <_type>vim.ProxyService.NamedPipeServiceSpec</_type> <accessMode>httpsWithRedirect</accessMode> <pipeName>/var/rum/vmware/proxy-sdk</pipeName> <serverNamespace>/sdk</serverNamespace> </e> ...
-
SSLを使用する方法(https)だけを許可する場合は,httpsWithRedirectを指定します。
-
SSLを使用しない方法(http)だけを許可する場合は,httpOnlyを指定します。
-
SSLを使用する方法(https)とSSLを使用しない方法(http)の両方を許可する場合は,httpAndHttpsを指定します。
-
-
次のコマンドを実行し,vmware-hostdプロセスを再起動する。
service mgmt-vmware restart
(7) vCenterの通信種別を変更する
jcfcolvmvcコマンド,またはIM構成管理画面上のvCenterホストに対する仮想化構成収集機能は,VMware Infrastructure SDKのインターフェースを使ってvCenterと通信し,仮想化構成情報を取得できます。
デフォルトでは,SSLを使う通信(https)だけを許可する設定になっています。
ここでは,VMware Infrastructure SDKが許可する通信種別を変更する手順の概要を説明します。ただし,vCenterのバージョンによっては,次に示す手順と異なる場合があります。詳細については,vCenterが提供するドキュメントを参照してください。
-
vCenterホストに,Administrator権限でログインする。
-
C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenterに移動する。
-
proxy.xmlファイルをテキストエディターで開く。
-
proxy.xmlファイルの<EndpointList>タグにある,VMware Infrastructure SDKの項目を変更して,ファイルを保存する。
次の定義例の太字部分を,使用する通信種別に合わせて変更します。
... <e id="5"> <_type>vim.ProxyService.LocalServiceSpec</_type> <accessMode>httpsWithRedirect</accessMode> <port>8085</port> <serverNamespace>/sdk</serverNamespace> </e> ...
-
SSLを使用する方法(https)だけを許可する場合は,httpsWithRedirectを指定します。
-
SSLを使用しない方法(http)だけを許可する場合は,httpOnlyを指定します。
-
SSLを使用する方法(https)とSSLを使用しない方法(http)の両方を許可する場合は,httpAndHttpsを指定します。
-
-
コマンドラインまたは Windows サービス コントロール パネルからvCenter Serviceを再起動します。
(8) KVMが起動するホストとのSSH接続を設定する(Windows環境の場合)
ここでは,JP1/IM - ManagerホストがWindows環境である場合の,SSHの設定について説明します。なお,SSHの認証には,公開鍵認証方式を使用します。
SSHで接続するには次の設定が必要となります。
-
SSHサーバを設定する
KVMがインストールされているホストで設定します。
-
鍵を作成する
KVMがインストールされているホストで設定します。
-
秘密鍵をJP1/IM - Managerホストに配置する
KVMがインストールされているホストからJP1/IM - Managerホストに配置します。
-
公開鍵を監視対象ホストに配置する
KVMがインストールされているホストに配置します。
- 重要
-
対話環境が前提であるstty,tty,tset,scriptコマンドなどは,SSH接続ユーザーのログインスクリプトに記載しないでください。記載されている場合は,KVMがインストールされているホスト用にSSH接続ユーザーを新たに作成するか,これらのコマンドを実行しないようにSSH接続ユーザーのログインスクリプトを変更してください。
(a) SSHサーバを設定する
SSHサーバを設定するための手順を次に示します。
-
KVMがインストールされているホストにroot権限のユーザーでログインする。
-
/etc/ssh/sshd_configを開く。
-
PubkeyAuthenticationの値をyesに設定する※1。
-
UseDNSをnoに設定する※1,※2。
-
PermitRootLoginをyesに設定する※1。
-
次のコマンドを実行し,sshdサービスを再起動する。
/etc/rc.d/init.d/sshd restart
なお,このコマンドは,OSのバージョンによって異なる可能性があります。詳細は,各OSのマニュアルを参照してください。
- 注※1
-
sshd_configの設定項目および設定方法については,使用するSSHサーバのマニュアルを参照してください。
- 注※2
-
設定しない場合は,KVMがインストールされているホストで次の名前解決ができるように設定してください。
-
マネージャーホストのIPアドレスからマネージャーホスト名を解決できる
-
マネージャーホストのホスト名の解決先IPアドレスが,マネージャーホストのIPアドレスと一致する
名前解決にDNSを使用していてDNSサーバに接続できない場合,KVMからの仮想化構成情報の収集が遅延することがあります。また,遅延によってタイムアウトしてしまい,起動や収集が失敗することがあります。そのため,UseDNSやLookupClientHostnamesをnoに設定することを推奨します。
-
(b) 鍵を作成する(初めて鍵を作成する場合)
KVMがインストールされているホストにKVMからの仮想化構成情報の収集で使用するユーザーでログインし,ssh-keygenコマンドを実行して鍵を作成します。なお,この手順は,初めて鍵を作成する場合だけに必要な作業です。
鍵の種類はRSA暗号とDSA暗号のどちらかを選択できます。
作業を始める前に.sshディレクトリの上位ディレクトリのパーミッションに所有者以外の書き込み権限が設定されていないことを確認してください。所有者以外の書き込み権限が設定されているとSSHの接続に失敗します。
-
KVMがインストールされているホストにKVMからの仮想化構成情報の収集で使用するユーザーでログインする。
-
ssh-keygenコマンドを実行する。
次のように入力してコマンドを実行してください。
-
RSA鍵を作成する場合:ssh-keygen -t rsa
-
DSA鍵を作成する場合:ssh-keygen -t dsa
-
-
秘密鍵の出力先と名前を決める。
マルチバイト文字を含まないパスとファイル名を指定してください。デフォルトは「~/.ssh/id_rsa」が設定されます。
-
リターンキーを2回押す。
秘密鍵のパスフレーズの入力を求められるため,何も入力しないでリターンキーを押します。再入力を求められるので,何も入力しないで再度リターンキーを押します。
ssh-keygen -t rsaコマンドの実行例を次に示します。
[root@HOST]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ssh-user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ssh-user/.ssh/id_rsa.
Your public key has been saved in /home/ssh-user/.ssh/id_rsa.pub.
The key fingerprint is:
ax:xx:xx:xx:xx:bx:xx:xc:xx:xx:xx:xd:xd:xa:ed:xx root@HOST
-
catコマンドを実行し,公開鍵ファイルの内容を認証鍵ファイルに追加する。
-
chmodコマンドを実行し,認証鍵ファイルの属性を600に変更する。
catコマンドおよびchmodコマンドの実行例を次に示します。
[ClientUser@TargetHost .ssh]$ cat id_rsa.pub >> authorized_keys
[ClientUser@TargetHost .ssh]$ chmod 600 authorized_keys
-
「/etc/ssh/sshd_config」の「AuthorizedKeysFile」を設定する。
デフォルトでは「~/.ssh/authorized_keys」または「.ssh/authorized_keys」が設定されています。手順6で作成した認証鍵のパスを変更した場合は,AuthorizedKeysFileの値を見直してください。なお,sshd_configの設定を変更した場合は,スーパーユーザーでsshdサービスを再起動してください。
- 注意事項
-
-
秘密鍵の情報は厳重に管理してください。
-
鍵(公開鍵と秘密鍵のペア)の作成は環境やツールには依存しないため,どのような環境やツールでも問題ありません。ただし,鍵の作成後は,秘密鍵と公開鍵を適切に配置する必要があります。
-
(c) 秘密鍵をJP1/IM - Managerホストに配置する(初めて鍵を作成する場合)
JP1/IM - ManagerホストがWindowsの場合は,「3.3.1(8)(b) 鍵を作成する(初めて鍵を作成する場合)」で作成した秘密鍵をWindowsのJP1/IM - Managerホストに配置します。秘密鍵を配置するパスには,マルチバイト文字を含まないようにしてください。配置した秘密鍵ファイルが管理者権限の無いOSユーザーにアクセスされないよう,適切なアクセス権限を付与してください。なお,この手順は,初めて鍵を作成する場合だけに必要な作業です。
(d) 公開鍵をKVMがインストールされたホストに配置する(すでに鍵を作成している場合)
「3.3.1(8)(b) 鍵を作成する(初めて鍵を作成する場合)」で作成した公開鍵をKVMがインストールされているホストに配置します。配置する手順を次に示します。なお,この手順は,すでに別のホストで鍵を作成している場合だけに必要な作業です。
作業を始める前に.sshディレクトリの上位ディレクトリのパーミッションに所有者以外の書き込み権限が設定されていないことを確認してください。所有者以外の書き込み権限が設定されているとSSHの接続に失敗します。
-
KVMがインストールされているホストにKVMからの仮想化構成情報の収集で使用するユーザーでログインする。
-
.sshディレクトリに移動する。
KVMからの仮想化構成情報の収集で使用するユーザーのホームディレクトリ配下に.sshディレクトリがない場合は作成してください。ディレクトリの属性は700を設定してください。
-
scpコマンドを実行し,公開鍵ファイルをKVMがインストールされているホストにコピーする。
「3.3.1(8)(b) 鍵を作成する(初めて鍵を作成する場合)」で作成済みの公開鍵ファイルを監視対象ホストにコピーします。公開鍵のコピー先は,KVMからの仮想化構成情報の収集で使用するユーザーのホームディレクトリの.sshディレクトリです。
-
catコマンドを実行し,公開鍵ファイルの内容を認証鍵ファイルに追加する。
-
コピーした公開鍵ファイルを削除する。
-
chmodコマンドを実行し,認証鍵ファイルの属性を600に変更する。
-
「/etc/ssh/sshd_config」の「AuthorizedKeysFile」を設定する。
デフォルトでは「~/.ssh/authorized_keys」または「.ssh/authorized_keys」が設定されています。手順6で作成した認証鍵のパスを変更した場合は,AuthorizedKeysFileの値を見直してください。なお,sshd_configの設定を変更した場合は,スーパーユーザーでsshdサービスを再起動してください。
scpコマンド,catコマンド,およびchmodコマンドの実行例を次に示します。ここでは,「3.3.1(8)(b) 鍵を作成する(初めて鍵を作成する場合)」で鍵を作成したホストのホスト名をIMHostとしています。
-
コマンドの実行例
[ClientUser@TargetHost ]$ cd .ssh
[ClientUser@TargetHost .ssh]$ scp
root@IMHost:/home/ssh-user/.ssh/id_rsa.pub ./
root@IMHost's password: <パスワードを入力>
id_rsa 100% 233 0.2KB/s 00:00
[ClientUser@TargetHost .ssh]$ cat id_rsa.pub >> authorized_keys
[ClientUser@TargetHost .ssh]$ rm id_rsa.pub
[ClientUser@TargetHost .ssh]$ chmod 600 authorized_keys
(e) 接続を確認する
Windows環境のJP1/IM - ManagerホストにSSHクライアントソフトがインストールされている場合は,「3.3.1(8)(c) 秘密鍵をJP1/IM - Managerホストに配置する(初めて鍵を作成する場合)」で配置した秘密鍵を用いて,KVMがインストールされているホストにSSH接続ができることを確認してください。また,SSH接続するときに,パスワードおよびパスフレーズの入力が不要であることを確認してください。
エラーが発生した場合や,パスワードおよびパスフレーズの入力を要求された場合は,手順どおり正しく設定できているかどうかを見直してください。また,OSの設定を見直し,SSH接続ができる環境であるか確認してください。
KVMからの仮想化構成情報の収集では,KVMがインストールされているホストで次のコマンドを実行します。KVMからの仮想化構成情報の収集で使用するユーザーで次のコマンドが実行できることを確認してください。実行できない場合は,KVMが正常にインストールされているか,コマンドのパスが設定されているか確認してください。
-
virsh version
-
virsh list --all
(9) KVMが起動するホストとのSSH接続を設定する(UNIXの場合)
ここでは,JP1/IM - ManagerホストがUNIX環境である場合の,SSHの設定について説明します。なお,SSHの認証には,公開鍵認証方式を使用します。
SSHで接続するには次の設定が必要となります。
-
SSHサーバを設定する
KVMがインストールされているホストで設定します。
-
鍵を作成する
UNIX環境のJP1/IM - Managerホストで設定します。
-
公開鍵を監視対象ホストに配置する
KVMがインストールされているホストで設定します。
- 重要
-
対話環境が前提であるstty,tty,tset,scriptコマンドなどは,SSH接続ユーザーのログインスクリプトに記載しないでください。記載されている場合は,KVMからの仮想化構成情報の収集用にSSH接続ユーザーを新たに作成するか,これらのコマンドを実行しないようにSSH接続ユーザーのログインスクリプトを変更してください。
(a) SSHサーバを設定する
SSHサーバを設定するための手順を次に示します。
-
KVMがインストールされているホストにroot権限のユーザーでログインする。
-
/etc/ssh/sshd_configを開く。
-
PubkeyAuthenticationの値をyesに設定する※1。
-
UseDNSをnoに設定する※1,※2。
-
PermitRootLoginをyesに設定する※1。
-
次のコマンドを実行し,sshdサービスを再起動する。
/etc/rc.d/init.d/sshd restart
なお,このコマンドは,OSのバージョンによって異なる可能性があります。詳細は,各OSのマニュアルを参照してください。
- 注※1
-
sshd_configの設定項目および設定方法については,使用するSSHサーバのマニュアルを参照してください。
- 注※2
-
設定しない場合は,KVMがインストールされているホストで次の名前解決ができるように設定してください。
-
マネージャーホストのIPアドレスからマネージャーホスト名を解決できる
-
マネージャーホストのホスト名の解決先IPアドレスが,マネージャーホストのIPアドレスと一致する
名前解決にDNSを使用していてDNSサーバに接続できない場合,KVMからの仮想化構成情報の収集が遅延することがあります。また,遅延によってタイムアウトしてしまい,起動や収集が失敗することがあります。そのため,UseDNSやLookupClientHostnamesをnoに設定することを推奨します。
-
(b) 鍵を作成する(初めて鍵を作成する場合)
UNIX環境のJP1/IM - Managerホストにroot権限のユーザーでログインし,ssh-keygenコマンドを実行して鍵を作成します。なお,この手順は,初めて鍵を作成する場合だけに必要な作業です。
鍵の種類はRSA暗号とDSA暗号のどちらかを選択できます。
-
root権限のユーザーでログインする。
-
ssh-keygenコマンドを実行する。
次のように入力してコマンドを実行してください。
-
RSA鍵を作成する場合:ssh-keygen -t rsa
-
DSA鍵を作成する場合:ssh-keygen -t dsa
-
-
秘密鍵の出力先と名前を決める。
マルチバイト文字を含まないパスとファイル名を指定してください。デフォルトは「~/.ssh/id_rsa」が設定されます。
-
リターンキーを2回押す。
秘密鍵のパスフレーズの入力を求められるため,何も入力しないでリターンキーを押します。再入力を求められるので,何も入力しないで再度リターンキーを押します。
ssh-keygen -t rsaコマンドの実行例を次に示します。
[root@HOST]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ssh-user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ssh-user/.ssh/id_rsa.
Your public key has been saved in /home/ssh-user/.ssh/id_rsa.pub.
The key fingerprint is:
ax:xx:xx:xx:xx:bx:xx:xc:xx:xx:xx:xd:xd:xa:ed:xx root@HOST
- 注意事項
-
-
秘密鍵の情報は厳重に管理してください。また,秘密鍵ファイルが管理者権限の無いOSユーザーにアクセスされないよう,適切なアクセス権限を付与してください。
-
鍵(公開鍵と秘密鍵のペア)の作成は環境やツールには依存しないため,どのような環境やツールでも問題ありません。ただし,鍵の作成後は,秘密鍵と公開鍵を適切に配置する必要があります。
-
(c) 公開鍵をKVMがインストールされたホストに配置する
「3.3.1(9)(b) 鍵を作成する(初めて鍵を作成する場合)」で作成した公開鍵をKVMがインストールされているホストに配置します。配置する手順を次に示します。
なお,作業を始める前に.sshディレクトリの上位ディレクトリのパーミッションに所有者以外の書き込み権限が設定されていないことを確認してください。所有者以外の書き込み権限が設定されているとSSHの接続に失敗します。
-
KVMがインストールされたホストにKVMからの仮想化構成情報の収集で使用するユーザーでログインする。
-
.sshディレクトリに移動する。
KVMからの仮想化構成情報の収集で使用するユーザーのホームディレクトリ配下に.sshディレクトリがない場合は作成してください。ディレクトリの属性は700を設定してください。
-
scpコマンドを実行し,公開鍵ファイルをKVMがインストールされたホストにコピーする。
「3.3.1(9)(b) 鍵を作成する(初めて鍵を作成する場合)」で作成済みの公開鍵ファイルをKVMがインストールされたホストにコピーします。公開鍵のコピー先は,KVMからの仮想化構成情報の収集で使用するユーザーのホームディレクトリの.sshディレクトリです。
-
catコマンドを実行し,公開鍵ファイルの内容を認証鍵ファイルに追加する。
-
コピーした公開鍵ファイルを削除する。
-
chmodコマンドを実行し,認証鍵ファイルの属性を600に変更する。
-
「/etc/ssh/sshd_config」の「AuthorizedKeysFile」を設定する。
デフォルトでは「~/.ssh/authorized_keys」または「.ssh/authorized_keys」が設定されています。手順6で作成した認証鍵のパスを変更した場合は,AuthorizedKeysFileの値を見直してください。なお,sshd_configの設定を変更した場合は,スーパーユーザーでsshdサービスを再起動してください。
scpコマンド,catコマンドおよびchmodコマンドの実行例を次に示します。ここでは,「3.3.1(9)(b) 鍵を作成する(初めて鍵を作成する場合)」で鍵を作成したJP1/IM - Managerホストのホスト名をIMHostとしています。
-
コマンドの実行例
[ClientUser@TargetHost ]$ cd .ssh
[ClientUser@TargetHost .ssh]$ scp root@IMHost:/home/ssh-user/.ssh/id_rsa.pub ./
root@IMHost's password: <パスワードを入力>
id_rsa.pub 100% 233 0.2KB/s 00:00
[ClientUser@TargetHost .ssh]$ cat id_rsa.pub >> authorized_keys
[ClientUser@TargetHost .ssh]$ rm id_rsa.pub
[ClientUser@TargetHost .ssh]$ chmod 600 authorized_keys
(d) 接続を確認する
JP1/IM - ManagerホストとKVMがインストールされたホストが接続できるかどうかを確認する手順について説明します。
-
JP1/IM - Managerホストにroot権限のユーザーでログインする。
-
作成した秘密鍵を利用し,KVMがインストールされたホストに対してsshコマンドを実行する。
何も入力しないで接続に成功したら,SSHの設定は完了です。
エラーが発生した場合や,パスワードおよびパスフレーズの入力を要求された場合は,手順どおり正しく設定できているかどうかを見直してください。また,OSの設定を見直し,SSH接続ができる環境であるか確認してください。
接続を確認するときのsshコマンドの実行例を次に示します。
ここでは,JP1/IM - Managerホストのホスト名をIMHostとしています。また,監視対象ホストのホスト名をTargetHost,KVMからの仮想化構成情報の収集で使用するユーザー名をssh-userとしています。
-
コマンドの実行例
[root@IMHost]$ /usr/bin/ssh -i /home/ssh-user/.ssh/id_rsa -p 22 ssh-user@TargetHost
The authenticity of host 'TargetHost (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'TargetHost,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
Last login: Mon Mar 23 17:17:52 2011 from xxx.xxx.xxx.xxx
[ssh-user@TargetHost ~]$ exit
logout
Connection to TargetHost closed.
[root@IMHost]$
KVMからの仮想化構成情報の収集では,KVMがインストールされているホストで次のコマンドを実行します。KVMからの仮想化構成情報の収集で使用するユーザーで次のコマンドが実行できることを確認してください。実行できない場合は,KVMが正常にインストールされているか,コマンドのパスが設定されているか確認してください。
-
virsh version
-
virsh list --all