図 49: esxcli ネームスペースの階層
前の図は、ESXi ファイアウォールを照会するコマンドを図解したものです。ユーザーは esxcli コマンドを起動 する際に、network ネームスペース、firewall サブネームスペース、および get コマンドを指定します。次に、
このコマンドの例を示します。
ユーザーはいつでも --help オプションを使用して、現在のネームスペースで使用可能なネームスペースおよび コマンドの情報を表示できます。次の例では、--help パラメータを使用して、network ネームスペースの下位に 属する、使用可能なネームスペースおよびコマンドの詳細を取得します。
図 51: --help パラメータを使用してネームスペースおよびコマンドの詳細を取得する方法
すべての esxcli コマンドは、esxcli コマンドのあとに、必要に応じて 1 つ以上の オプション、1 つ以上の ネーム スペース、実行する コマンド、さらに コマンド オプション が続く形式で構成されます。次のスクリーン ショットに、
esxcli の使用法を示します。
esxcli コマンドはローカルおよびリモート管理のための統合されたコマンドですが、コマンドを ESXi シェルでロー カルで実行するのか、または vCLI を使用してリモートで実行するのかに応じて、構文はわずかに異なります。
• esxcli コマンドを ESXi シェルからローカルで実行する場合、ターゲット ホストは常にコマンドを実行するローカ ル ホストになります。また、ログイン認証情報には常にログインしたユーザーの情報が使用されます。
• esxcli コマンドをリモートで実行する場合は、ターゲットの ESXi ホスト (または VMware vCenter Server™) と、
コマンドの実行に使用するユーザー認証情報を指定する必要があります。
esxcli コマンドのリモート認証
esxcli コマンドをリモートで実行する場合は、ターゲット ESXi ホストまたは vCenter Server を指定して、コマンド のユーザー認証情報を指定する必要があります。次に、ユーザー認証で使用できる方法を示します。
• コマンド ライン オプションの使用
• セッション ファイルの使用
• 環境変数の使用
• 構成ファイルの使用
• Microsoft Windows --passthroughauth の使用
• VMware vSphere® Management Assistant (vMA) vi-fastpass の使用
各方法の詳細については、『Getting Started with vSphere Command-Line Interfaces』(英語) ガイドを参照し てください。
次に、esxcli hardware platform get コマンドを ESXi シェルからローカルで実行する場合に必要な構文と、
vCLI からリモートで実行する場合の構文を示します。コマンドをリモートで実行する場合は、パスワードを入力す るだけでなく、--server および --user オプションを追加する必要があります。
図 53: ESXi シェル から esxcli コマンドを実行する例
ESXi シェルへのアクセスの有効化
ホストで esxcli コマンドを実行する前に、ESXi シェルを有効にする必要があります。このセクションの手順を実行 して、ESXi ホストごとに ESXi シェルを有効にします。
DCUI からの ESXi シェルの有効化
DCUI にログインするときに ESXi シェルを有効にするには、次の手順を実行します。
• ESXi ホストの DCUI にログインする
• [Troubleshooting Mode Options (トラブルシューティング モード オプション)] を選択する
• [Enable ESXi Shell (ESXI シェルの有効化)] を選択して、<Return> キーを押す
• <Alt> + <F1> キーを押して ESXi シェルにアクセスする
図 55: DCUI からの ESXi シェルの有効化
vSphere Client からの ESXi シェルの有効化
vSphere Client にログインするときに ESXi シェルを有効にするには、次の手順を実行します。
• vSphere Client にログインする
• ESXi ホストを選択して、[構成] - [セキュリティ プロファイル] の順に選択する
• [サービス] セクションで [プロパティ] を選択する
• [ESXi Shell (ESXi シェル)] オプションを選択して、[オプション] を選択する
• [開始] を選択して ESXi シェルを起動し、ESXi シェルへのローカル アクセスを有効にする
図 56: vSphere Client からの ESXi シェルの有効化
ESXi シェルへの SSH アクセスの有効化
ESXi コンソールからコマンドを直接実行するだけでなく、SSH サービスから ESXi シェルにリモートでアクセスす
ることもできます。次のセクションでは、ESXi シェルへの SSH アクセスを有効にする方法を示します。
図 57: DCUI からの SSH の有効化
vSphere Client からの SSH の有効化
vSphere Client から ESXi シェルを有効にするには、次の手順を実行します。
• vSphere Client にログインする
• ESXi ホストを選択して、[構成] - [セキュリティ プロファイル] の順に選択する
• [サービス] セクションで [プロパティ] を選択する
• [SSH] オプションを選択して、[オプション] を選択する
• [開始] を選択して、ホスト上で SSH を起動する
ESXi シェルおよび SSH が有効な場合の vSphere Client のメッセージ
ESXi シェルまたは SSH がホスト上で有効になっている場合、アクセスの必要がなくなったらアクセスを無効にする ように促すリマインダとして、vSphere Client はホストの [サマリ] ページに警告を表示します。
図 59: ESXi シェルが有効であることを示すメッセージ
vCLI のインストール
vCLI は Microsoft Windows、Linux、および vMA 仮想アプライアンスで使用できます。
Windows への vCLI のインストール
Windows 用の vCLI インストール パッケージには、ActivePerl ランタイム環境と、必要な Perl モジュールおよび ライブラリが含まれています。vCLI は次の Windows プラットフォームでサポートされています。
• Microsoft Windows Vista Enterprise SP1 (32 ビットおよび 64 ビット)
• Microsoft Windows 2008 (64 ビット)
• Microsoft Windows 7 (32 ビットおよび 64 ビット)
Windows に vCLI をインストールするには、Windows の vCLI インストーラ パッケージをサポート対象の Windows サーバにダウンロードして、インストーラを起動します。Windows サーバに vCLI をインストールする 方法については、『Getting Started with vSphere Command-Line Interfaces』(英語) の第 2 章を参照してくだ さい。
Linux への vCLI のインストール
Linux 用の vCLI インストール パッケージには、vCLI スクリプトおよび VMware vSphere 5.0 SDK for Perl が 含まれています。このパッケージは、Red Hat Enterprise Linux 5.5、SUSE Linux Enterprise 10 および 11、
および Ubunto 10.04 の各サーバにインストールできます。Linux ディストリビューションの vCLI パッケージを ダウンロードして、インストール スクリプトを実行します。Linux サーバに vCLI をインストールする方法について は、『Getting Started with vSphere Command-Line Interfaces』(英語) の第 2 章を参照してください。
vMA を使用した vCLI のインストール
vMA には Linux 環境、vCLI、およびその他のパッケージ ソフトウェアが含まれています。vMA を使用して vCLI を
ESXi シェルからローカルで実行される esxcli コマンドの例
次に、ESXi シェルからローカルで実行される esxcli コマンドの例を示します。これらのコマンドは ESXi シェルで 実行されるため、コマンド入力時にサーバ情報またはユーザー認証情報を指定する必要はありません。
esxcli system hostname set --host tm-pod01-esx01 --domain tmsb.local コマンドを使用して、
ESXi ホストのホスト名およびドメイン名を設定します。次に、esxcli system hostname get コマンドを使用 して、ホスト名およびドメイン名を表示し、変更内容を確認します。
図 60: ESXi ホスト名およびドメイン名の設定 (ESXi シェル)
esxcli system syslog config get コマンドを使用して、ESXi ホストの Syslog 構成を表示します。次のよう に表示されます。
図 61: ホストの Syslog 設定の表示 (ESXi シェル)
esxcli storage core device list コマンドを使用して、ESXi ホストのストレージ デバイスをすべて表示し ます。次のように表示されます。
図 62: ストレージ デバイスの表示 (ESXi シェル)
esxcli network ip interface ipv4 get コマンドを使用して、ESXi ホストに構成された IPv4 アドレスを すべて表示します。次のように表示されます。
vCLI から esxcli コマンドをリモートで実行する例
次に、vCLI で esxcli を使用する方法の例を示します。この例では、vMA を使用します。これらのコマンドは リモートで実行されるため、esxcli コマンドの一部として --server および --username 認証情報を指定する必 要があります。
esxcli --server tm-pod01-esx01 hardware memory get コマンドを使用して、ESXi ホストのメモリ サイズを表示します。ここでは --server オプションを使用しますが、次のようにユーザー名およびパスワードが要 求されます。
図 64: vMA で実行する esxcli hardware memory get コマンド
esxcli --server tm-pod01-esx01 --user root storage core adapter list コマンドを使用して、
ホスト上の使用可能なストレージ アダプタを表示します。ここでは --server および --user オプションを使用 しますが、次のように、パスワードが要求されます。
図 65: vMA で実行する esxcli storage core adapter list コマンド
この例では、vMA –vi-fastpass 認証を使用して、–server、–username、または –password オプションをコマンド ラインに指定しなくても、esxcli コマンドを実行できるようにしています。
コマンドを開始するには、次のようにvMA fastpass アクセスを設定します。
これで ESXi ホストに fast pass ターゲットが設定されたので、ESXi ホスト、ユーザー名、またはパスワードの オプションを指定しなくても、コマンドを実行できます。次の例では、esxcli system coredump partition
list コマンドを使用して、構成済みのコア ダンプ パーティションを表示します。
図 67: vMA でのコア ダンプ パーティション リストの表示
次の例では、ESXi ホストに直接接続するのではなく、vCenter Server に接続します。ESXi シェルのタイムアウト 値を 300 秒に設定します。
図 68: ESXiShellTimeOut の設定
変更内容を確認するには、次のように、ESXiShellTimeout の新しい値を表示します。
図 69: ESXiShellTimeOut の表示
esxcli 出力のフォーマット
一般的に、esxcli コマンドの出力は、別のプログラムの入力として、またはレポートに含める内容として使用します。
この処理を実行するには、esxcli コマンドを使用してコマンド出力を コンマ区切り (CSV)、キーと値のペア、XML のいずれかの形式にフォーマットして、フィルタします。また、出力に含めるフィールドを指定することもできます。
次の例では、ホストに構成されたすべてのインターフェイス、およびこれらが割り当てられている vSwitch および ポート グループを示すレポートを生成する必要があります。そのためには、次のように esxcli network ip interface list コマンドを実行します。
図 70: esxcli network ip interface list コマンド (ESXi シェル )
出力には必要な情報が含まれていますが、情報が非常に詳細であるため、すべてのインターフェイスのデータを表示 するにはスクロール バーを使用する必要があります。ここで必要なのは、インターフェイス名、vSwitch、および ポート グループを示すサマリのみであるため、次のように --formatter および --format-param オプションを 使用してコマンドを調整することができます。