LoginSignup
10
14

More than 5 years have passed since last update.

PowerCLI を利用して vSphere 上に仮想マシンを展開する。

Last updated at Posted at 2018-01-23

はじめに

技術検証用環境の仮想化基盤に VMWare社の ESXi を利用している。

ESXi上に仮想マシンを展開する手段の一つとして、VMWare社から提供されている VMWare PowerCLI を利用することができる。

専用クライアントツール(~vSphere 6.0)、もしくはWebブラウザを利用してGUIベースで仮想マシンを展開することも可能であるが、
VMWare PowerCLIを利用すると構成をコマンドとして保存できる等の利点があると考える。
他にも以下のような場合に有利であると考えられる。

  • 同一構成の仮想マシンを複数展開したい
  • 短時間で仮想マシンを展開したい

環境とVMWare PowerCLIの導入

環境

PS> [System.Environment]::OSVersion

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.14393.0 Microsoft Windows NT 10.0.14393.0

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.14393.1770
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.1770
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PowerCLI の導入

  1. 管理者権限でPowerShellを起動する。

  2. 以下のコマンドを実行する。

PS> Install-Module -Name VMware.PowerCLI

※初回実行時は「NuGetプロバイダの導入」、「信頼されていないリポジトリからのインストール」について、実行可否を聞かれる。

PowerCLIを利用した仮想マシンの展開

以下の要領で展開する。

vCenterサーバに接続する。

PS> Connect-VIServer  -Server vcenter.example.com -User <user> -Password <password>

Name                           Port  User
----                           ----  ----
vcenter.example.com            443   <user>

仮想マシンを作成する。

PS> $vm = New-VM -Name 001_hoge `                    # 仮想マシン(VM)名
                 -VMHost esx1 `                      # VMをホストするESXiサーバ
                 -CD `                               # CDドライブを接続
                 -Datastore datastore-1   `          # VMDKファイルを配置するデータストア名
                 -DiskGB 50 `                        # 仮想ディスクのサイズ(GB)
                 -DiskStorageFormat Thin `           # 仮想ディスクのフォーマット
                 -NumCPU 2 `                         # ソケット数
                 -CoresPerSocket 1 `                 # core数 / ソケット
                 -MemoryGB 8 `                       # メモリサイズ
                 -GuestId rhel7_64Guest `            # ゲストOSの種別(Win2016,centos7...)
                 -NetworkName net-10.128.12 `        # 接続するネットワーク名
                 -Confirm:$false                     # 確認プロンプトなしで即時実行

仮想マシンの構成を変更する。

仮想NICタイプを VMXNet3 に変更する。

PS> $vm | Get-NetworkAdapter | Set-NetworkAdapter -Type VMXNet3 -Confirm:$false

SCSIコントローラを追加し、追加したコントローラに仮想ディスクを追加する。

  • 100GB の仮想ディスクをタイプ thin で追加
  • 準仮想化のSCSIコントローラを追加
PS> $vm | New-HardDisk -CapacityGB 100 -StorageFormat Thin[^1] | New-ScsiController -Type ParaVirtual -Confirm:$false

データストアにあるISOファイルをマウントさせる。

PS> $vm | Get-CDDrive | Set-CDDrive -ISOPath "[datastore-1] Media/CentOS-7-x86_64-Minimal-1708.iso" -StartConnected $true -Confirm:$false

仮想マシン起動

PS> $vm | Start-VM

リモートコンソール起動

PS> $vm | Open-VMConsoleWindow

vCenterサーバとの接続を切断する。

PS> Disconnect-VIServer

リモートコンソールまで起動したのであとは、OSインストール等、後続作業に移る。

OSインストールもkickstart(Linuxの場合)を利用して自動構成し、全自動でOS構築まで完了させることができる。

VMをテンプレートから展開する場合, linuxOSの自動インストール(kickstart)の手順もいずれ。。。

10
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
14