...

HOL-SDC-1607 - PowerCLI - VMware Hands

by user

on
Category: Documents
77

views

Report

Comments

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
Fly UP