Comments
Description
Transcript
HOL-SDC-1607 - PowerCLI - VMware Hands
HOL-SDC-1607-SPR Table of Contents Control Center ブラウザ言語設定(日本語)......................................................................... 2 Firefox ブラウザ言語設定(日本語) ........................................................................... 3 Google Chrome ブラウザ言語設定(日本語) ............................................................. 8 ラボ概要 - HOL-SDC-1607 - PowerCLI の初歩から高度な機能まで ....................................... 15 ラボガイダンス........................................................................................................ 16 モジュール 1: PowerCLI の初歩から高度な機能まで (60 分) ............................................ 19 モジュールの概要..................................................................................................... 20 PowerShell と PowerCLI の導入方法 ........................................................................ 21 PowerCLI を使用したレポート作成 ........................................................................... 26 レポート結果をさまざまな形式でエクスポート ........................................................... 30 クラスタのセットアップと構成.................................................................................. 36 クラスタへのホストの移動 ....................................................................................... 39 仮想分散スイッチのセットアップと構成 ..................................................................... 41 仮想マシンの作成と vMotion によるホスト間での移動 ............................................... 44 複数の仮想マシンを作成し適切にタグを付ける ........................................................... 46 タグに基づいて複数の仮想マシンを変更 .................................................................... 51 OVF テンプレートの構成と展開................................................................................. 53 参考資料 ................................................................................................................ 55 HOL-SDC-1607-SPR Page 1 HOL-SDC-1607-SPR Control Center ブラウザ言語 設定 設定(日本語 日本語) HOL-SDC-1607-SPR Page 2 HOL-SDC-1607-SPR Firefox ブラウザ言語設定 ブラウザ言語設定(日本語 日本語) vSphere Web Clientはブラウザベースです。日本語表示するためには、ブラウザの言語設定を日 本語に設定します。 なお なお、vSphere Web Client 以外の一部ツールでは英語表記となります 以外の一部ツールでは英語表記となります。これはハンズオンラボ これはハンズオンラボ 環境特有のものです 環境特有のものです。 Firefoxの起動 の起動 Firefoxアイコンをクリックし、 起動します。 HOL-SDC-1607-SPR Page 3 HOL-SDC-1607-SPR Firefoxブラウザの日本語化 ブラウザの日本語化 1. ウィンドウ右上のメニューを開きます。 2. [Options] をクリックします。 HOL-SDC-1607-SPR Page 4 HOL-SDC-1607-SPR Firefoxブラウザの日本語化 ブラウザの日本語化 左側メニューから [Content] を選択します。 Firefoxブラウザの日本語化 ブラウザの日本語化 [Languages] の [Choose...] をクリックします。 HOL-SDC-1607-SPR Page 5 HOL-SDC-1607-SPR Firefoxブラウザの日本語化 ブラウザの日本語化 [Select a language to add...] をクリックします。 HOL-SDC-1607-SPR Page 6 HOL-SDC-1607-SPR Firefoxブラウザの日本語化 ブラウザの日本語化 1. プルダウンから [Japanese [ja] ] を選択します。 2. [Add] をクリックします。 3. [OK] をクリックします。 4. Firefox を再起動します。 HOL-SDC-1607-SPR Page 7 HOL-SDC-1607-SPR Google Chrome ブラウザ言語設定 ブラウザ言語設定(日本語 日本語) vSphere Web Clientはブラウザベースです。日本語表示にするためには、ブラウザの言語設定を 日本語に設定します。 なお なお、vSphere Web Client 以外の一部ツールでは英語表記となります 以外の一部ツールでは英語表記となります。これはハンズオンラボ これはハンズオンラボ 環境特有のものです 環境特有のものです。 Google Chrome の起動 Google Chrome を起動します。 Google Chrome のメニューを開く ブラウザウィンドウ右上のメニューを開きます。 HOL-SDC-1607-SPR Page 8 HOL-SDC-1607-SPR Google Chrome の設定画面を開く [Settings] をクリックします。 HOL-SDC-1607-SPR Page 9 HOL-SDC-1607-SPR Google Chrome の詳細設定を表示 1. 画面を下へスクロールします。 2. [Show advanced settings...] をクリックします。 HOL-SDC-1607-SPR Page 10 HOL-SDC-1607-SPR Google Chrome の言語と入力の設定 画面を下へスクロールし、[Language and input setting...] をクリックします。 HOL-SDC-1607-SPR Page 11 HOL-SDC-1607-SPR Google Chrome の言語と入力の設定 [Add] をクリックします。 HOL-SDC-1607-SPR Page 12 HOL-SDC-1607-SPR Google Chrome の言語と入力の設定 1. プルダウンから [Japanese - 日本語] を選択します。 2. [OK] をクリックします。 HOL-SDC-1607-SPR Page 13 HOL-SDC-1607-SPR Google Chrome の言語と入力の設定 1. 左側 [Languages] 内の [Japanese] を一番上までドラッグで移動させます。 2. [Done] をクリックします。 3. Google Chrome ブラウザを再起動します。 HOL-SDC-1607-SPR Page 14 HOL-SDC-1607-SPR ラボ概要 - HOL-SDC-1607 PowerCLI の初歩から高度な機 能まで HOL-SDC-1607-SPR Page 15 HOL-SDC-1607-SPR ラボガイダンス このラボは、PowerCLI の機能について初級者から上級者向けです。 完了するまでに約 60 分かかります。 ラボ製作者 ラボ製作者: Phil Balfanz, Paval Dimitrov, Pierre Grothe, Tom Lusk, Carl Olafson ラボマニュアルは、 こちらからダウンロードすることができます: http://docs.hol.pub/HOL-2016/hol-sdc-1607_pdf_ja.pdf キーボードデータ入力の代替方法 注:US 配列 配列以外のキーボードの場合は 以外のキーボードの場合は、このラボ内でユーザ名とパスワードの このラボ内でユーザ名とパスワードのCLIコマンド入力 コマンド入力 が難しい場合があります が難しい場合があります。 直接入力する方法以外に、非常に有用な方法で簡単に複雑な文字入力が可能です。 クリックして クリックして、コンソールのアクティブウィンドウにラボマニュアル内の コンソールのアクティブウィンドウにラボマニュアル内の テキストをドラッグします また、メインコンソールでアクティブなウィンドウになっているコマンドラインインタフェース( CLI )に、選択したテキストをドラッグしてコマンド入力することができます。 HOL-SDC-1607-SPR Page 16 HOL-SDC-1607-SPR スクリーンキーボードへのアクセス メインコンソールからスクリーンキーボードを起動することもできます。 1. タスクバーにあるキーボードアイコンをクリックします。 Click once in active console window この例では、電子メールアドレスに使用される、「 @ 」記号の入力方法してみます。 USキーボード 配列では「 @ 」記号は、 Shift キーを押しながら 「2」を押します。 1. 入力したウィンドウを選択してアクティブにします。 2. Shiftキーを押します。 HOL-SDC-1607-SPR Page 17 HOL-SDC-1607-SPR @ キー 1. "@ "キーを押します。 アクティブウィンドーに @ が入力されます。 HOL-SDC-1607-SPR Page 18 HOL-SDC-1607-SPR モジュール 1: PowerCLI の 初歩から高度な機能まで (60 分) HOL-SDC-1607-SPR Page 19 HOL-SDC-1607-SPR モジュールの概要 このモジュールでは、VMware vSphere PowerCLI について説明します。初心者ユーザーはツー ルの使用法を簡単に学習でき、また高度な知識のあるユーザーは、OVA を展開前に構成する機能や タグによってオブジェクトをフィルタリングする機能など、製品の最新リリースで使用できる新機 能を習得できます。初心者も経験のあるユーザーも新しいことを学べます。 HOL-SDC-1607-SPR Page 20 HOL-SDC-1607-SPR PowerShell と PowerCLI の導入方法 このレッスンでは、PowerShell と PowerCLI の基本について説明します。PowerCLI コンソール および PowerShell ISE の起動方法、使用可能なコマンドのリストの表示方法、ヘルプの表示方法 について説明します。 PowerCLI の開始 インストール後、デスクトップにある [VMware vSphere PowerCLI] というラベルのアイコンを ダブルクリックして PowerCLI を開始できます。これで PowerShell コンソールが開き、 PowerCLI のすべてのモジュールがロードされます。 Powershell ISE の使用 シンプルなコンソールの代わりとして、より優れたユーザー環境を提供する Powershell ISE スク リプト エディタを使用できます。このエディタは、デスクトップ上のアイコン (1) をダブルクリ HOL-SDC-1607-SPR Page 21 HOL-SDC-1607-SPR ックして開始できます。上部のペイン (2) はスクリプト ファイルの表示と編集に使用します。下 部のペイン (3) は個々のコマンドの実行とその出力の表示に使用します (標準の PowerShell コンソールと同じ機能です)。 HOL-SDC-1607-SPR Page 22 HOL-SDC-1607-SPR Powershell ISE の使用 この実習ラボでは、PowerShell ISE の下部のペインまたは PowerShell コンソールで PowerCLI のさまざまなコマンドを実行します。自分でコマンドを入力することもできますが、デスクトップ 上にある Module8.ps1 ファイルからコマンドをコピー アンド ペーストすることもできます。こ の実習ラボを行うための最も便利な方法は、Powershell ISE の上部ペインで Module8.ps1 を開く ことです。このファイルには、このモジュールで実行するすべてのコマンドが含まれています。コ マンドを選択し (1)、<F8> キーを押して実行できます (または [Run Selection] ボタン (2) をクリックします)。新しいコマンドを実行する前に、前のコマンドが完了していることを 確認してください。完了すると、コンソールの下部に [Completed] というメッセージが表示され ます (3)。 実行可能なコマンドの一覧表示 PowerCLI で実行可能なことを見ていきます。PowerCLI のスナップインには、vSphere、vCloud Air、Site Recovery Manager、vRealize Operations、vSphere Update Manager を管理する HOL-SDC-1607-SPR Page 23 HOL-SDC-1607-SPR ための 500 を超えるコマンド (PowerShell ではコマンドレットと呼ばれる) が用意されていま す。次のように入力することによって、使用可能な PowerCLI コマンドを見ることができます。 Get-VICommand PowerCLI のすべてのコマンドが一覧表示されます。このリストは非常に長いため、特定のコマン ドのみを表示するように絞り込むことができます。たとえば、仮想マシンを管理するすべてのコマ ンドは次のようにして表示できます。 Get-VICommand *VM ヒント: オートコンプリートを使用してよりすばやく入力することができます。コマンドまたはパ ラメータの先頭部分を入力し、<Tab> キーを押します。 vSphere への接続 vCenter Server を管理するには、最初にその vCenter Server に接続する必要があります。これ を行うには、Connect-VIServer コマンドを使用します。使用する vCenter の名前は 「vcsa-01a」 で、次のようにして接続します。 Connect-VIServer vcsa-01a -User corp\administrator -Password VMware1! このコマンドは、指定されたユーザーの認証情報を使用して vCenter に接続します。 ヘルプの表示 特定のコマンドレットの使用方法がわからない場合は、「Get-Help」(または短縮形で単に 「help」) と入力し、その後に続けてコマンドレット名を入力することによって簡単にヘルプを参照 することができます。 help Connect-VIServer HOL-SDC-1607-SPR Page 24 HOL-SDC-1607-SPR コマンドレットの使用例やパラメータの説明を含む完全なヘルプを参照したい場合は、コマンドレ ットの完全なヘルプを表示します。 help Connect-VIServer -Full 例だけを参照したい場合は、次のように -examples スイッチを使用します。 help Connect-VIServer -Examples ヘルプ アーカイブ全体の中で特定の単語を検索することもできます。仮想マシンを vMotion で移 動するためのコマンドレットを検索してみます。 help vmotion 結果の中に目的のコマンドレットである Move-VM が含まれています。このコマンドレットは、こ のモジュールの後のほうで使用します。 この実習ラボで紹介するコマンドレットについて、自由にヘルプをご確認ください。 HOL-SDC-1607-SPR Page 25 HOL-SDC-1607-SPR PowerCLI を使用したレポート作成 PowerCLI は 100 以上の Get-* コマンドレットを備え、強力なレポート作成ツールにもなりま す。このレッスンでは、PowerCLI のこの使用法について説明します。 HOL-SDC-1607-SPR Page 26 HOL-SDC-1607-SPR 仮想マシンの取得 最も頻繁に実行する機能の 1 つに、vCenter Server 内の仮想マシンの一覧表示があります。これ はインベントリの参照やレポート作成で便利な機能です。また、特定の仮想マシンに対して処理を 行う場合 (複数の仮想マシンの一括変更など) にも便利です。次のようにしてすべての仮想マシ ンを取得できます。 Get-VM また、名前を指定して 1 つまたは複数の仮想マシンを取得することもできます。次のコマンドレッ トを試してみてください。 Get-VM linux-CPU-Load-01a Get-VM linux* HOL-SDC-1607-SPR Page 27 HOL-SDC-1607-SPR オブジェクトの特定のプロパティの取得 Get-VM などのコマンドレットを実行した場合、その結果として得られるのはオブジェクト、また はオブジェクトの配列です (Get-VM の場合は仮想マシン オブジェクトです)。オブジェクトに どのようなプロパティがあるかを見るには、次のように Get-Member コマンドレットを使用しま す。 Get-VM linux-CPU-Load-01a | Get-Member -MemberType property 仮想マシン オブジェクトにあるすべてのプロパティが一覧表示されます。 注: この例では、「パイプライン」 (または 「パイプ」) と呼ばれる PowerShell の機能を使用して います。実際には、Get-Member コマンドレットには仮想マシン オブジェクト (およびその他す べての PowerShell オブジェクト) を受け取る InputObject というパラメータがあります。ここ では、仮想マシンを取得して変数に格納し、それを Get-Member のパラメータに渡す代わりに、 Get-VM の出力をそのまま Get-Member に 「パイプ」 しています。この方法によって、1 番目のコ マンドレットの出力が 2 番目のコマンドレットの入力になります。 また、PowerShell の select コマンドを使用して、出力されるオブジェクトから必要なプロパティ のみを取得することができます。 Get-VM linux-CPU-Load-01a | Select Name, NumCPU, MemoryMB, PowerState, VMHost HOL-SDC-1607-SPR Page 28 HOL-SDC-1607-SPR レポートの結果のフィルタリング 必要なプロパティでオブジェクトをフィルタリングするためのパラメータが Get-* コマンドレット にない場合は、PowerShell の where コマンドを使用してコマンドレットの結果をフィルタリング することができます。 Get-VM | Where {$_.Powerstate -eq "PoweredOn"} | Select Name, NumCPU, MemoryMB, PowerState, VMHost ヒント: $_ は PowerShell で予約されている変数であり、パイプラインの現在のオブジェクトが 格納されます。 HOL-SDC-1607-SPR Page 29 HOL-SDC-1607-SPR レポート結果をさまざまな形式でエクスポート データを上司やほかのチームに提示する場合や、会社で使用している別のシステムにデータを転送 する場合は、データの形式を何らかの形で整える必要があります。このレッスンでは、PowerCLI のレポートで生成されたデータをさまざまな形式 (txt、csv、xml、html) でエクスポートする 方法について学びます。 HOL-SDC-1607-SPR Page 30 HOL-SDC-1607-SPR txt 形式でのエクスポート まずは、最も基本的なエクスポート方法である txt ファイルへのエクスポートについて説明しま す。レポートを txt にエクスポートするには、PowerShell のコマンドレット Out-File を使用しま す。 Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | Out-File c:\myPowerCLIReport.txt テキスト ファイルを開いて結果を確認します。 csv 形式でのエクスポート 次に、同じデータを csv 形式でエクスポートします。これを行うには、Export-Csv コマンドレッ トを使用します。 HOL-SDC-1607-SPR Page 31 HOL-SDC-1607-SPR Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | Export-Csv c:\myPowerCLIReport.csv -NoTypeInformation csv ファイルの結果を確認します。 HOL-SDC-1607-SPR Page 32 HOL-SDC-1607-SPR xml 形式でのエクスポート 次に取り上げるエクスポート形式は XML です。ここで使用する PowerShell コマンドレットは ConvertTo-Xml です。このコマンドレットは XMLDocument オブジェクトを返すため、フォーマ ットされたデータをファイルに書き出すには、このオブジェクトの Save メソッドを呼び出す必要 があります。 (Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | ConvertTo-Xml -NoTypeInformation).Save("c:\myPowerCLIReport.xml") xml ファイルの結果を確認します。 HTML 形式でのエクスポート ConvertTo-Html コマンドレットを使用して、HTML 形式でデータをエクスポートすることもでき ます。このコマンドはデータを HTML 形式に変換するだけであり、フォーマットされたデータをフ ァイルに書き出すには Set-Content コマンドレットが必要です。 HOL-SDC-1607-SPR Page 33 HOL-SDC-1607-SPR Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | ConvertTo-Html | Set-Content "c:\myPowerCLIReport.html" フォルダ c:\ に移動してレポートを開きます。 HTML ページへのフォーマットの追加 HTML レポートの外観を向上させるには、次のようにしてスタイルを適用します。 $a = "<style>" $a = $a + "BODY{background-color:Gainsboro;}" $a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}" $a = $a + "TH{border-width: 1px;padding: 5px;border-style: solid;border-color: black;background-color:SkyBlue}" $a = $a + "TD{border-width: 1px;padding: 5px;border-style: solid;border-color: black;background-color:PaleTurquoise}" $a = $a + "</style>" Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | ConvertTo-Html -head $a | Set-Content "c:\myPowerCLIReport.html" レポートを開くと、見た目が良くなっていることがわかります。 HOL-SDC-1607-SPR Page 34 HOL-SDC-1607-SPR HOL-SDC-1607-SPR Page 35 HOL-SDC-1607-SPR クラスタのセットアップと構成 以降のいくつかのレッスンでは、架空の企業である Nephosoft の小規模な仮想環境をセットアッ プします。まずは、クラスタの作成と構成から始めます。次に、ネットワークをセットアップしま す。ここでは、仮想分散スイッチ (VDS) の作成と構成を行います。最後に、定義済みの仕様に 基づいていくつかの仮想マシンを作成し、それらに適切なタグを付けます。その後、タグに基づい て複数の仮想マシンの仕様を一括で更新します。このレッスンでは、最初に PowerCLI を使用して クラスタを作成し、構成する方法について学びます。EVC、HA、DRS の設定をセットアップしま す。 クラスタの作成 新しいクラスタを作成するには、New-Cluster コマンドレットを使用します。新しいクラスタの名 前と場所を指定する必要があります。 $cluster1 = New-Cluster -Name "Nephosoft Cluster 1" -Location "Datacenter Site A" クラスタの Enhanced vMotion Compatibility モードの構成 次に、vMotion において CPU の互換性が確保されるようにするため、クラスタの Enhanced vMotion Compatibility モードを構成します。これを行うには、最初にホストでサポートされてい る EVC モードを確認します。 $evcModes = Get-VMHost | Select MaxEVCMode 変数 $evcModes の内容を調べます。変数名 ($evcModes) のみを入力すると、画面にその値が 出力されます。2 台のホストの EVC モードが同じであることがわかります。 注: 出力される EVC モードはこの画面と異なる場合があります。これは、EVC モードはラボ環境 で実行されている物理ハードウェアによって異なるためです。 このクラスタに今後追加されるその他すべてのホストがこの EVC モードに対応するようにするた め、クラスタにこの EVC モードを設定します。 Set-Cluster $cluster1 -EVCMode $evcModes[0].MaxEVCMode 確認を求められたら、[Yes] をクリックします。 HOL-SDC-1607-SPR Page 36 HOL-SDC-1607-SPR ヒント: 確認を求める画面は対話型の操作には適していますが、スクリプトにおいては、そのスク リプトを停止させてしまうため望ましくありません。コマンドレットに -Confirm:$false パラメー タを追加することによって、操作の確認を自動化することができます。 クラスタでの HA の有効化 次に、ホストに障害が発生しても仮想マシンが保護されるように、クラスタで HA を有効にしま す。 Set-Cluster $cluster1 -HAEnabled:$true -Confirm:$false HOL-SDC-1607-SPR Page 37 HOL-SDC-1607-SPR クラスタでの DRS の有効化と設定 次に、このクラスタで DRS を有効にして、自動化レベルを 「手動」 に設定します。これにより、仮 想マシンの配置と移行についての推奨が生成されます (推奨を取得および適用するには、コマンド レット Get-DrsRecommendation および Apply-DrsRecommendation を使用します)。 Set-Cluster $cluster1 -DRSEnabled:$true -DRSAutomationLevel "Manual" -Confirm:$false HOL-SDC-1607-SPR Page 38 HOL-SDC-1607-SPR クラスタへのホストの移動 このレッスンでは、作成したクラスタにホストを移動する方法について学びます。 HOL-SDC-1607-SPR Page 39 HOL-SDC-1607-SPR クラスタへのホストの移動 新しいクラスタにホストを移動するには、最初にホストをメンテナンス モードにする必要がありま す。ホストをメンテナンス モードにするには、まず実行中のすべての仮想マシンをシャットダウン する必要があります。それでは、実行中のすべての仮想マシンを取得し、それらを停止します。 $vmsToStop = Get-VM | Where {$_.Powerstate -eq "PoweredOn"} Stop-VM $vmsToStop -Confirm:$false 次に、ホストをメンテナンス モードにします。 Get-VMHost | Set-VMHost -State Maintenance 次に、Move-Host コマンドレットを使用してホストをクラスタに移動します。 Get-VMHost | Move-VMHost -Destination $cluster1 最後に、ホストのメンテナンス モードを解除します。 Get-VMHost | Set-VMHost -State Connected HOL-SDC-1607-SPR Page 40 HOL-SDC-1607-SPR 仮想分散スイッチのセットアップと構成 このレッスンでは、分散スイッチを作成し、この分散スイッチにホスト ネットワークを移行する方 法について学びます。 仮想分散スイッチ (VDS) の作成 最初に、New-VDSwitch コマンドレットを使用して VDS を作成します。 $vds = New-VDSwitch -Name "Nephosoft VDS" -Location "Datacenter Site A" 変数 $vds の内容を確認することができます。 VDS への ESX ホストの追加 次に、2 台の ESX ホストを分散スイッチに追加します。 Add-VDSwitchVMHost -VDSwitch $vds -VMHost esx-01a.corp.local, esx-02a.corp.local ESX ホストが分散スイッチに正常に追加されたかどうか確認できます。 Get-VMHost -DistributedSwitch $vds 分散ポートグループの作成 New-VDPortGroup コマンドレットを使用して、管理、ストレージ、vMotion、仮想マシンのネッ トワーク用のポートグループを作成します。 HOL-SDC-1607-SPR Page 41 HOL-SDC-1607-SPR $pgManagement = New-VDPortGroup $vds -Name "management" $pgvMotion = New-VDPortGroup $vds -Name "vMotion" $pgStorage = New-VDPortGroup $vds -Name "storage" $pgVM = New-VDPortGroup $vds -Name "VM" ポートグループが正常に作成されたかどうか確認できます。 Get-VDPortGroup -VDSwitch $vds VDS へのホスト ネットワークの移行 ホストごとにホスト ネットワークを移行します。最初に、ホストを変数に保存します。 $hosts = Get-VMHost esx-01a.corp.local, esx-02a.corp.local 次に、PowerShell の foreach ループを使用してそれぞれのネットワークを移行します。ホストご とに、最初に物理 NIC を取得し、続いて管理用、ストレージ用、vMotion 用の VMKernel NIC を 取得します。次に、Add-VDSwitchPhysicalNetworkAdapter コマンドレットを使用して、これら の NIC をまとめて移行します。その際に、VirtualNicPortGroup パラメータを使用してそれぞれの VMKernel NIC の分散ポートグループを指定します。 foreach ($vmhost in $hosts) { $pNics = Get-VMHostNetworkAdapter -VMHost $vmhost -Physical $vNicManagement = Get-VMHostNetworkAdapter -VMHost $vmhost -Name vmk0 $vNicStorage = Get-VMHostNetworkAdapter -VMHost $vmhost -Name vmk1 $vNicvMotion = Get-VMHostNetworkAdapter -VMHost $vmhost -Name vmk2 Add-VDSwitchPhysicalNetworkAdapter -DistributedSwitch $vds -VMHostPhysicalNic $pNics -VMHostVirtualNic $vNicManagement,$vNicStorage,$vNicvMotion -VirtualNicPortGroup HOL-SDC-1607-SPR Page 42 HOL-SDC-1607-SPR $pgManagement,$pgStorage,$pgvMotion -Confirm:$false } VDS への仮想マシン ネットワークの移行 最後に、仮想マシン ネットワークも移行します。まず、すべての仮想マシンのネットワーク アダ プタを取得します。 $vmNetworkAdapters = Get-VM | Get-NetworkAdapter 次に、これらのネットワーク アダプタを前ので作成した 「VM」 ポートグループに移行します。 Set-NetworkAdapter -NetworkAdapter $vmNetworkAdapters -Portgroup $pgVM -Confirm:$false これで、すべての仮想マシンのネットワーク トラフィックは VDS を経由することになります。 HOL-SDC-1607-SPR Page 43 HOL-SDC-1607-SPR 仮想マシンの作成と vMotion によるホスト間で の移動 このレッスンでは、仮想マシンを作成し、それをクラスタ内の 2 台のホスト間で vMotion を使用 して移動する方法について学びます。 仮想マシンをゼロから作成 最初に、New-VM コマンドレットを使用して仮想マシンを作成します。仮想マシンの名前、ハード ディスクとメモリのサイズ、作成先のホストとデータストアを指定します。また、前に作成した、 分散スイッチに含まれる仮想マシン ネットワーク用のポートグループを指定します。この仮想マシ ンは NFS データストア上に配置します。このデータストアは 2 台のホスト間で共有されていま す。 $vm = New-VM -Name 'jsmith' -VMHost esx-01a.corp.local -DiskGB 10 -MemoryMB 512 -Datastore ds-site-a-nfs01 -Portgroup $pgVM 仮想マシンを起動します。 $vm | Start-VM ホスト間での vMotion による移動 ワークロードをより均等に分散させるため、仮想マシンをほかのホストに移動します。 Move-VM $vm -Destination esx-02a.corp.local 注: このモジュールがこのセッションで最初に実行するモジュールでない場合は、切断されたデー タストアが環境内に存在する可能性があります。この場合、Move-VM が仮想マシンの構成にアク セスできないことを示すエラーが出力されます。この状況が発生したときは、いずれかのホストに NFS データストアを再接続する必要があります。これを行うには、Get-EsxCli コマンドレットを 使用します。 esx-02a.corp.local の EsxCli を取得します。 HOL-SDC-1607-SPR Page 44 HOL-SDC-1607-SPR $esxCli = Get-EsxCli -VMhost esx-02a.corp.local NFS データストアにアクセスできないことを確認します。 $esxCli.storage.nfs.list() ... Accessible : false ... NFS データストアを切断します。 $esxCli.storage.nfs.remove('ds-site-a-nfs01') NFS データストアを再接続します。 $esxCli.storage.nfs.add('10.10.20.60', $false, $false, '/mnt/NFSA', 'ds-site-a-nfs01') 必要に応じて、esx-01a.corp.local に対しても同じ手順を繰り返します。 ヒント: Move-VM の処理には非常に長い時間がかかる場合があります。そのため、仮想マシンの 移動は非同期で実行し、その間に別の作業を行うことをお勧めします。そのためには、Move-VM のパラメータとして -RunAsync を指定します。長い時間がかかるほかの多くのコマンドレットで も、-RunAsync がサポートされています。 HOL-SDC-1607-SPR Page 45 HOL-SDC-1607-SPR 複数の仮想マシンを作成し適切にタグを付ける このレッスンでは、PowerCLI を使用して、csv ファイルに保存された仕様に基づいて複数の仮想 マシンを作成する方法について学びます。また、この仕様に基づいて仮想マシンにタグ付けしま す。 仕様の確認 最初に、仮想マシンの作成で使用する仕様を確認します。デスクトップにあるファイル vmspecs.csv を開きます。それぞれの仮想マシンに、名前、メモリ サイズ (MB)、ディスク サ イズ (GB)、部門、タイプ (ユーザー用またはサーバ用の仮想マシン) が指定されています。 csv ファイルの情報を配列に読み込む このファイルを PowerShell の変数にインポートします。 $spec = Import-Csv 'C:\Users\Administrator\Desktop\vmspecs.csv' 変数 $spec の内容を調べます。オブジェクトの配列 (各仮想マシンが 1 個のオブジェクト) が含 まれており、個々のオブジェクトには名前、メモリ サイズ、ディスク サイズ、部門、タイプに対 応するプロパティがあります。 HOL-SDC-1607-SPR Page 46 HOL-SDC-1607-SPR 仕様に基づいて仮想マシンを作成 仕様に基づいて仮想マシンを作成します。ここでも、PowerShell の foreach ループを使用しま す。 foreach ($vmSpec in $spec) { New-VM -Name $vmSpec.Name -MemoryMB $vmSpec."Memory size" -DiskGB $vmSpec."Disk size" -VMHost esx-01a.corp.local -Portgroup $pgVM } タグ カテゴリの作成 次のタスクは、新しく作成した仮想マシンに適切なタグを付けることです。これを行うにあたっ て、始めに 「Department」 と 「Type」 の 2 つのタグ カテゴリを作成します。 New-TagCategory -Name Department New-TagCategory -Name Type 仕様に基づいてタグを作成 まず、一意の部門名を取得します。 HOL-SDC-1607-SPR Page 47 HOL-SDC-1607-SPR $departmentTagNames = $spec | select -Unique Department 各部門のタグを作成します。 foreach ($departmentTagName in $departmentTagNames) { New-Tag -Name $departmentTagName.Department -Category Department } 仮想マシンのタイプについても同じ処理を行います。 $vmTypes = $spec | select -Unique Type foreach ($vmType in $vmTypes) { New-Tag -Name $vmType.Type -Category Type } 次のコマンドレットを実行して、どのようなタグが定義されたかを確認できます。 Get-Tag HOL-SDC-1607-SPR Page 48 HOL-SDC-1607-SPR HOL-SDC-1607-SPR Page 49 HOL-SDC-1607-SPR 仕様に基づいて仮想マシンにタグを割り当てる タグとタグ カテゴリが正しく定義されたら、次に仮想マシンに対して適切にタグ付けを行います。 仮想マシンにタグを割り当てるには、New-TagAssignment を使用します。 foreach ($vmSpec in $spec) { $departmentTag = Get-Tag $vmSpec.Department $typeTag = Get-Tag $vmSpec.Type $vm = Get-VM -Name $vmSpec.Name New-TagAssignment -Entity $vm -Tag $departmentTag New-TagAssignment -Entity $vm -Tag $typeTag } HOL-SDC-1607-SPR Page 50 HOL-SDC-1607-SPR タグに基づいて複数の仮想マシンを変更 このレッスンでは、PowerCLI を使用して、タグに基づいて複数の仮想マシンを同時に変更する方 法について学びます。 HOL-SDC-1607-SPR Page 51 HOL-SDC-1607-SPR タグに基づいて仮想マシンのメモリ容量を更新 Nephosoft の販売部門で新しいアプリケーションが導入されることになりました。そのため、ユー ザー マシンのメモリを 1 GB に更新する必要があります。すでに仮想マシンに適切にタグ付けを行 っているので、仮想マシンを一括で更新するのは簡単です。最初に、販売部門のすべての仮想マシ ンを取得します。 $salesVMs = Get-VM -Tag sales 次に、すべてのユーザー仮想マシンを取得します。 $userVMs = Get-VM -Tag user 注: 「Get-VM -Tag sales, user」 のコマンドを使用することはできません。なぜなら、このコマン ドはすべての販売部門の仮想マシンと、すべてのユーザー仮想マシンを返すからです。ここで必要 なのは、販売部門に属し、かつユーザー仮想マシンである仮想マシンです。 両方のタグが割り当てられたすべての仮想マシンを選択します。これを行うには、Powershell の コマンドレット Compare-Object を使用します。 $salesUserVMs = Compare-Object $salesVMs $userVMs -IncludeEqual -ExcludeDifferent -PassThru 仮想マシンのメモリを更新する前に、対象のすべての仮想マシンを停止する必要があります。 $salesUserVMs | where {$_.PowerState -eq "PoweredOn"} | Stop-VM -Confirm:$false 最後に、Set-VM コマンドレットを使用して仮想マシンのメモリ容量を更新します。 Set-VM $salesUserVMs -MemoryGB 1 -Confirm:$false HOL-SDC-1607-SPR Page 52 HOL-SDC-1607-SPR OVF テンプレートの構成と展開 このレッスンでは、OVF テンプレートを展開するにあたって、OVF テンプレートに構成を適用す る方法について学びます。 OvfConfiguration オブジェクトの取得 OVF の構成は、PowerCLI 内では OvfConfiguration オブジェクトとして表されます。これは、 Get-OvfConfiguration コマンドレットを使用して ovf ファイルから取得できます。このコマンド レットを使用するには、OVA のプロパティを解析するために vCenter Server への接続が必要にな ります。 $linuxMicroConfig = Get-OvfConfiguration -Ovf C:\OVF\linux-micro-01a\linux-micro-01a.ovf 変数 $linuxMicroConfig 内のオブジェクトを確認してみます。ソースの ovf ファイルの場所を示 すプロパティがあります。また、NetworkMapping という、選択した ovf ファイルに対して実際 に構成を行うことのできるプロパティがあります。次に NetworkMapping オブジェクトの中身を 見ると、VM_Network というプロパティが 1 つ含まれていることがわかります。これは、その ovf テンプレートに対して適用可能な唯一の構成です。 OVF の構成の更新 適用する構成に一致するようにオブジェクトのプロパティに値を割り当てることによって、取得し た構成を更新することができます。ここでは、「VM_Network」 に値を割り当てます。 $linuxMicroConfig.NetworkMapping.VM_Network.Value = 'VM' vApp をインポートして構成を適用 vApp をインポートするときに、Import-VApp の新しいパラメータである OvfConfiguration を使 用して構成を適用することができます。 HOL-SDC-1607-SPR Page 53 HOL-SDC-1607-SPR Import-VApp -Source 'C:\linux-micro-01a\linux-micro-01a.ovf' -OvfConfiguration $linuxMicroConfig -Name 'LinuxMicro' -VMHost 'esx-01a.corp.local' 構成が適用されているかどうか確認します。 $linuxMicroVM = Get-VM 'LinuxMicro' $linuxMicroVM | Get-NetworkAdapter ご覧のように、正しいネットワーク マッピングが適用された vApp が展開されています。 HOL-SDC-1607-SPR Page 54 HOL-SDC-1607-SPR 参考資料 このレッスンは情報の提供のみを目的としており、PowerCLI のより高度な機能、初心者にも上級 ユーザーにも役立つ参考資料、PowerCLI に関連するほかの実習ラボの情報が記載されています。 必要に応じて、自由にこれらをご覧ください。 PowerCLI に関連するほかの実習ラボ HOL-SDC-1602 vSphere with Operations Management - Advanced Topics: モジュール 8 では、vRealize Operations Manager を管理するための PowerCLI の新しいコマンドレットにつ いて説明しています。 HOL-HBD-1683 Managing Your Hybrid Cloud: モジュール 3 では、VMware vSphere PowerCLI を使用した vCloud Air の管理について説明しています。 vSphere API 全体へのアクセス PowerCLI には vSphere を管理するための 300 を超えるコマンドレットが用意されていますが、 これらによってプラットフォームの機能全体がカバーされるわけではありません。ただし、GetView コマンドレットを使用するとすべての機能にアクセスすることができます。この特殊なコマ ンドレットは vSphere API 全体へのアクセス ポイントです。このコマンドレットによって返され るオブジェクトは 「ビュー」 と呼ばれ、vSphere API オブジェクトの正確なコピーを表します。こ れらのオブジェクトの詳細については、vSphere API のリファレンスを参照してください。 ドキュメント: http://pubs.vmware.com/vsphere-60/index.jsp このコマンドレットを使用すると、オブジェクト指向の手法によって API に対して直接スクリプト を記述できます。 Onyx for the Web Client Onyx for the Web Client は、vSphere Web Client で実行されたアクションを PowerCLI.Net のコードに変換する Fling です。この Fling は、昨年の 2014 Fling Contest での受賞エントリで す。これは Onyx Fling の一種のアップデートであり、同様の機能を Web Client でも利用できる ようにするものです。 Onyx for the Web Client Fling は、vSphere Web Client で実行されたアクションを記録し、そ れを PowerCLI.Net コードに変換する機能を提供します。生成されたコードを使用すると、 VMware が API でどのようにアクションを実行するかについて理解できるだけでなく、機能をより 適切に定義できます。また、生成されたコードを検索エンジンに入力して、API のドキュメントや vSphere API の該当分野の使用方法に関する情報を検索することもできます。 HOL-SDC-1607-SPR Page 55 HOL-SDC-1607-SPR https://labs.vmware.com/flings/onyx-for-the-web-client(英語) PowerCLI の高度なスクリプト作成に役立つ資料 PowerCLI をこれから始めようとしている方や、PowerCLI についてさらに詳しく学ぼうとしてい る方向けに、いくつかのブログを紹介いたします。これらのブログには、PowerCLI に関する優れ た記事やスクリプトが掲載されています。 PowerCLI オフィシャル ブログ (英語): http://blogs.vmware.com/PowerCLI/ Alan Renouf のブログ (英語): http://www.virtu-al.net Luc Dekens のブログ (英語): http://www.lucd.info HOL-SDC-1607-SPR Page 56 HOL-SDC-1607-SPR Conclusion Thank you for participating in the VMware Hands-on Labs. Be sure to visit http://hol.vmware.com/ to continue your lab experience online. Lab SKU: HOL-SDC-1607-SPR Version: 20160428-050028 HOL-SDC-1607-SPR Page 57