スクリプトによるインストール機能を使用した ESXi 5.x のデプロイ
search cancel

スクリプトによるインストール機能を使用した ESXi 5.x のデプロイ

book

Article ID: 344008

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

この記事では、スクリプトによるインストール(「スクリプトを使用したインストール」とも呼ばれます)、およびその使用の開始時に役立つ可能性があるいくつかの機能を設定する方法について説明します。この記事は包括的なガイドではありませんが、スクリプトによるインストールの環境を設定する際の参照資料として使用してください。スクリプトによるインストールの設定の詳細については、ESXi および vCenter Server の『Installation and Setup』ガイドを参照してください。

Symptoms:

免責事項: これは英文の記事 「Deploying ESXi 5.x using the Scripted Install feature (2004582)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


Environment

VMware vCenter Server 5.1.x
VMware vSphere ESXi 5.5
VMware vCenter Server 5.5.x
VMware vSphere ESXi 5.1
VMware vCenter Server 5.0.x
VMware vSphere ESXi 5.0

Resolution

ESXi 5.x のスクリプトによるインストール機能では、複数の ESXi ホストをデプロイするための効率的な方法が提供されます。ESXi ホストは、スクリプトによるインストールで無人でのインストール(「自動インストール」とも呼ばれます)を使用してすばやくデプロイすることができます。インストール スクリプト ( ks.cfg ) には、環境のニーズに合わせて変更できる、ESXi ホスト用の設定が含まれています。このスクリプトは、同様の構成にするすべてのホストに適用できます。これにより、手動インストールで行った場合にかかる時間よりも短い時間でインストールを迅速に行うことができます。また、すべてのホストが確実に同様の構成を保持し、必要な標準に従って構築されます。

スクリプトによるインストールの ESXi 4.x と 5.x での違い

スクリプトによるインストールを過去に ESXi 4.x で使用したことがある場合は、ESXi 5.x でのスクリプトによるインストールを実行する前に、ESXi 4.x と ESXi 5.x のスクリプトによるインストール コマンドの違いについて認識しておく必要があります。注意すべき違いには、次のものがあります。

  • ESXi 5.x では、ホストの起動時にインストール イメージがホストの RAM に直接読み込まれるため、インストール メディアの場所をインストール スクリプトに含める必要がありません。
  • ESXi 5.x では、スクリプトによるインストールに加えてスクリプトによるアップグレード(「スクリプトを使用したアップグレード」とも呼ばれます)もサポートされます。ESXi 4.x では、新規インストール(「フレッシュ インストール」とも呼ばれます)を行えるだけでした。
  • 次に示す一部のコマンドが廃止または変更されました。

    • 廃止されコマンドauth/authconfig, bootloader, firewall, firewallport, timezone, virtualdisk, zerombr, %packages
    • 変更されたコマンドautopart (install, upgrade, installorupgrade に置き換わりました)、esxlocation, serialnum / vmserialnum

前提条件

ESXi 5.x でスクリプトによるインストールを行うには、次のことが必要になります。

  1. サポートされているコマンドを使用したスクリプト ( ks.cfg ) の作成。
  2. ホストごとの固有な設定を変更するための、必要に応じたインストール スクリプトの編集。
  3. 起動オプションの指定または PXE 起動を使用した自動起動による、スクリプトによるインストール プロセスの実行。

インストール スクリプト ( ks.cfg ) は、次の場所のいずれかに配置できます。

  • FTP
  • HTTP/HTTPS
  • NFS 共有(NFS シェア)
  • USB フラッシュ ドライブ
  • CD/DVD デバイス

カスタマイズした ks.cfg ファイルからの起動を指定する方法

ESXi 5.x は、1 つのスクリプトまたはマシンごとの別々のスクリプトを使用して複数のマシンにインストールできます。インストール スクリプトは、次の 2 つの異なる方法で開始できます。

  • ブート ローダの処理時に、Shift + O を押して対話形式で起動します。次のコマンドを入力して、 ks.cfg ファイルを指定します。

    ks=<インストール スクリプトの場所> <起動コマンド ライン オプション>

  • より自動化されたインストールを実行するために、PXE 起動のインストール用の boot.cfg ファイルの kernelopt 行を通じてオプションを渡すことができます。PXE 起動サーバの設定は、この記事の範囲を超えるため説明しませんが、すべての環境で固有のものです。PXE 起動の設定の詳細については、ESXi および vCenter Server の『Installation and Setup』ガイドを参照してください。

ks= オプションは、インストール スクリプト ( ks.cfg ) ファイルの場所を指定するために入力する必要があります。 ks= が省略された場合、テキスト インストーラでは通常のインストールであるかのように処理を続行します。

: ESXi 5.x が PXE を通じて DHCP を有効にしたキックスタート ファイルを使用してインストールされている場合、DNS 設定は使用できず、構成ファイルに保存されません。

ks= コマンドのオプション

起動オプション

説明

BOOTIF=<MAC address>

インストール スクリプトとインストール メディアを検索する際に、ネットワーク アダプタ デバイスの使用を試みます。

gateway=<ip address>

このネットワーク ゲートウェイをデフォルト ゲートウェイとして設定します

ip=<ip address>

インストール スクリプトとインストール メディアのダウンロードに使用する固定(静的) IP アドレスを設定します。

ks=cdrom:/<path\>

指定した CD-ROM ドライブ内の CD 上にあるパスのスクリプトを使用してスクリプトによるインストールを実行します。

ks=file://<path>

指定したパスにあるスクリプトを使用してスクリプトによるインストールを実行します

ks=protocol://<serverpath>

指定された URL のネットワークにあるスクリプトを使用してスクリプトによるインストールを実行します。プロトコルには、HTTP、HTTPS、FTP、または NFS を指定できます。

ks=usb:</path>

接続された USB ドライブにあるスクリプトにアクセスして、スクリプトによるインストールを実行します。 ks.cfg という名前のファイルを検索します。

nameserver=<ip address>

ドメイン名(ネーム)サーバを指定します。

netdevice=<device>

ネットワーク アダプタ デバイス(MAC または vmnicN)を使用します。

netmask=<subnet mask>

ネットワーク インターフェイスのサブネット マスクを指定します。

vlanid=<vlanid>

指定された VLAN 上に存在するようにネットワーク カードを構成します。

ksdevice=device

インストール スクリプトとインストール メディアを検索する際に、ネットワーク アダプタ デバイスの使用を試みます。MAC アドレス(たとえば、00:50:56:C0:00:01)で指定します。この場所は vmnicNN 名にもできます。このオプションを指定せず、ネットワークを介してファイルを取得する必要がある場合、インストーラでは最初に検出された接続済みのネットワーク アダプタがデフォルトで使用されます。



: NFS 共有からの起動では、次のようなコマンドを使用します。

ks=nfs://192.168.0.101/FS2/isos/esxi-B.cfg nameserver=192.168.0.57 ip=192.168.0.3 netmask=255.255.255.0 gateway=192.168.0.254

ks.cfg ファイルの作成

ESXi のインストールをカスタマイズするために、上記の起動プロセスを実行する前に ks.cfg ファイルを作成する必要があります。デフォルトのインストール スクリプトの ks.cfg は、初期 RAM ディスクの /etc/vmware/weasel/ks.cfg にあります。

カスタマイズを行わない場合は、起動オプションの ks=file://etc/vmware/weasel/ks.cfg を使用してインストール スクリプトに ks.cfg の場所を指定できます。

ks.cfg を使用して ESXi をインストールする場合、デフォルトの root パスワードは mypassword に設定されます。

/etc/vmware/weasel にある ks.cfg ファイルは次のようなものです。

#
# Sample scripted installation file
#
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword
# The install media is in the CD-ROM drive
install --firstdisk --overwritevmfs
# Set the network to DHCP on the first network adapater
network --bootproto=dhcp --device=vmnic0
# A sample post-install script
%post --interpreter=python --ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )

このスクリプトは、ご使用の環境に合わせてさらにカスタマイズすることができます。下の各表は、スクリプトをカスタマイズするために使用できる各種コマンドを示しています。下の各表を使用する場合、次の点に注意してください。

  • 各引数は、コマンドに続く語で定義され、通常(常にではありませんが) 2 つのダッシュで始まります。
  • 各文字列は、コマンドまたは引数に割り当てられた任意の値で定義されます。文字列は、二重引用符または一重引用符で囲むことができ、また空白文字が含まれない場合は引用符を含めないこともできます。
  • ks.cfg スクリプト自体には、順序指定されていないコマンドのリストが含まれており、そのほとんどで追加の引数が必要になります。
  • コマンドは、1行または複数行(マルチライン)にできます。複数行コマンドは、必ず % 文字で開始し、スクリプトの終わりか、または別の複数行コマンドが始まるところで終了します。
  • コメントを # 文字でスクリプト内に追加できますが、そのコメントが文字列の外部にある場合に限ります。# の後にある文字はすべて無視されます。

次の各コマンドを ks.cfg ファイル内で使用することができます。

パーティションのクリア

コマンド

機能

clearpart (任意)

ディスク上の既存のパーティションをすべてクリアします。 install コマンドを指定する必要があります。

--drives=

指定したドライブ上のパーティションを削除します。

--alldrives

「--drives=」の要求を無視して、すべてのドライブのパーティションのクリアを可能にします。

--ignoredrives=

指定したドライブ以外のすべてのドライブのパーティションを削除します。 --drives= フラグまたは --alldrives フラグを指定していない場合に必要です。

指定したドライブ上の vmfs パーティションの上書きを可能にします。デフォルトでは、vmfs パーティションの上書きは許可されません。

- -overwritevmfs

--firstdisk(=<disk-type1>,[<disk-type2>, ...])

最初に検出された、対象となるディスクをパーティショニングします。対象となるディスクの順序は、次のように設定されます。

1 ローカルに接続されたストレージ (local)

2 ネットワーク ストレージ (remote)

3 usb ディスク (usb)

ディスクの順序は、引数に追加したコンマで区切ったリストを使用して変更できます。



  • clearpart --firstdisk --overwritevmfs
  • clearpart --drives=mpx.vmhba1:C0:T1:L0 --overwritevmfs
  • clearpart --drives=vml.0000000000766d686261313a313a30 –overwritevmfs

パーティションの作成

コマンド

機能

part または partition (任意)

追加の VMFS データストアをシステムに作成します。作成できるデータストアは、各ディスクに 1 つだけです。install コマンドと同じディスクには使用できません。

<datastore name>

パーティションのマウント先を指定します。

--ondisk= または --ondrive=

パーティションを作成するディスクまたはドライブを指定します。

--onfirstdisk

最初に検出された、対象となるディスクをパーティショニングします。対象となるディスクの順序は、次のように設定されます。

(=<disk-type1>,[<disk-type2>, ...])

1 ローカルに接続されたストレージ (local)

2 ネットワーク ストレージ (remote)

3 usb ディスク (usb)

ディスクの順序は、引数に追加したコンマで区切ったリストを使用して変更できます。



  • partition –ondisk=mpx.vmhba1:C0:T1:L0 datastore2
  • partition datastore2 --ondisk=mpx.vmhba1:C0:T2:L0
  • part datastore2 --firstdisk=ST3120814A,mptsas,local
インストール オプション

コマンド

機能

install

これが新規インストール(フレッシュ インストール)であることを指定します。

ESXi 4.1 のスクリプトによるインストールで使用された、廃止になった autopart コマンドの代わりに使用します。

ESXi をインストールまたはアップグレードするディスクを判断するには、コマンドの install、upgrade、または installorupgrade のいずれかが必要です。

--disk= または --drive=

パーティショニングするディスクを指定します。

--firstdisk=

最初に検出された、対象となるディスクをパーティショニングします。対象となるディスクの順序は、次のように設定されます。

disk-type1,

1 ローカルに接続されたストレージ (local)

[disk-type2,...]

2 ネットワーク ストレージ (remote)

3 usb ディスク (usb)

ディスクの順序は、引数に追加したコンマで区切ったリストを使用して変更できます。

--overwritevmfs

インストールの前にディスク上の既存の VMFS データストアを上書きするために必要です。

--preservevmfs

インストール時に、ディスク上の既存の VMFS データストアを維持します。

--novmfsondisk

このディスク上に VMFS パーティションが作成されないようにします。ディスク上に VMFS パーティションがすでに存在する場合は 、--overwritevmfs と共に使用する必要があります。



  • install --firstdisk --overwritevmfs
  • install --overwritevmfs –-novmfsondisk

アップグレード オプション

コマンド

機能

upgrade

これがアップグレードであることを指定します。

ESXi 4.1 のスクリプトによるインストールで使用された、廃止になった autopart コマンドの代わりに使用します。

ESXi をインストールまたはアップグレードするディスクを判断するには、コマンドの install、upgrade、または installorupgrade のいずれかが必要です。

--disk= または --drive=

パーティショニングするディスクを指定します。

--firstdisk=

最初に検出された、対象となるディスクをパーティショニングします。対象となるディスクの順序は、次のように設定されます。

disk-type1,

1 ローカルに接続されたストレージ (local)

[disk-type2,...]

2 ネットワーク ストレージ (remote)

3 usb ディスク (usb)

ディスクの順序は、引数に追加したコンマで区切ったリストを使用して変更できます。

--deletecosvmdk

システムを ESX からアップグレードする場合は、古いコンソールの VMDK ファイルの cos.vmdk が格納されているディレクトリを削除して、VMFS データストア内の未使用の領域を確保します。



  • upgrade --firstdisk
  • upgrade --firstdisk –deletecosvmdk

インストールまたはアップグレードのオプション

コマンド

機能

installorupgrade

ESXi をインストールまたはアップグレードするディスクを判断するには、コマンドの install、upgrade、または installorupgrade のいずれかが必要です。

--disk= または --drive=

パーティショニングするディスクを指定します。

--firstdisk=

最初に検出された、対象となるディスクをパーティショニングします。対象となるディスクの順序は、次のように設定されます。

disk-type1,

1 ローカルに接続されたストレージ (local)

[disk-type2,...]

2 ネットワーク ストレージ (remote)

3 usb ディスク (usb)

ディスクの順序は、引数に追加したコンマで区切ったリストを使用して変更できます。

--overwritevmfs

ディスク上に VMFS パーティションが存在するが、ESX または ESXi のインストール環境は存在しない場合に、ESXi をインストールします。

このオプションを指定しないと、ディスク上に VMFS パーティションが存在するが ESX または ESXi のインストール環境は存在しない場合、インストーラの実行に失敗します。



  • installorupgrade --firstdisk –overwritevmfs

その他のオプション

コマンド

機能

keyboard

システムのキーボード タイプを次のいずれかに設定します: Default、French、German、Japanese、Russian、'United Kingdom'

dryrun (任意)

キックスタート ファイルを解析して検査しますが、実際にはインストールを行いません。

accepteula または vmaccepteula (必須)

VMware 使用許諾契約書 (EULA) に同意します。

reboot

スクリプトによるインストールの終了後に、マシンを再起動します。

--noeject

インストール後に CD のイジェクト(取り出し)を行いません。

rootpw (必須)

システムの root (管理者)パスワードを設定します。

--iscrypted

パスワードがすでに暗号化されていることを指定します。

paranoid (任意)

警告メッセージでインストールが中断されます。このコマンドを省略した場合、警告メッセージがログに記録されます。



例:
  • vmaccepteula
  • rootpw vmware
  • キーボードの 'United Kingdom' - 英語のキーボードには、これらの引用符が必要です。

ネットワーク オプション

コマンド

機能

network (任意)

システムのネットワーク アドレスを指定します。

--bootproto=

ネットワーク設定を DHCP から取得するか手動で設定するかを指定します。

[dhcp|static]

--device=

ネットワーク カードの MAC アドレス、またはvmnicN という形式のデバイス名。このオプションでは、仮想スイッチの「アップリンク」デバイスを参照します。

--ip=

システムの IP アドレスを設定します。このオプションは、static bootproto オプションとともに使用し、static オプションを指定する場合は必須で、static オプションが指定されていない場合は無視されます。このオプションは、xxx.xxx.xxx.xxx という形式で指定してください。

--gateway=

ネットワーク ゲートウェイを指定します。このオプションは、xxx.xxx.xxx.xxx という形式で指定してください。static bootproto オプションとともに使用します。このオプションを指定しない場合、警告がログ ファイルに出力され、ゲートウェイの設定なしで処理が続行されます。

-- nameserver=

最大で 2 つのネームサーバを指定します。static bootproto オプションとともに使用します。xxx.xxx.xxx.xxx,[xxx.xxx.xxx.xxx] という形式で指定してください。

--nodns

使用されません。これは、--nameserver= を指定しないこと、またはこのオプションに引数を追加しないことと同じです。

--netmask=

指定したシステムのネットマスク。これは、デフォルトで IP アドレスの特定のタイプに適切なネットマスクになります。このオプションは、「255.xxx.xxx.xxx」という形式で指定してください。static bootproto オプションとともに使用します。

--hostname=

システムのホスト名を指定します。

--vlanid=

システムの VLAN を指定します。dhcp オプションまたは static bootproto オプションとともに使用します。1 ~ 4094 の範囲の整数にしてください。

--addvmportgroup=

仮想マシンで使用されるVM Network のポート グループを追加するかどうかを指定します。デフォルト値は 1 です。

(0|1)



  • network –bootproto=dhcp --device=vmnic0 --addvmportgroup=0
  • network --bootproto=static --device=vmnic0 --ip=123.123.123.123 --netmask=255.255.252.0 --gateway=123.123.123.120 --nameserver=123.123.123.4

Pre-, post-, and first boot script options

コマンド

機能

%pre

キックスタート構成が評価される前に実行するスクリプトを指定します。このスクリプトは、たとえば、キックスタート ファイルに含めるファイルを生成する場合に使用できます。-unsupported 引数が必要になります。

--interpreter= [python|busybox]

使用するスクリプトのインタプリタ。デフォルトでは busybox になります。

%post

インストールの完了後に、指定したスクリプトを実行します。複数の %post セクションを指定した場合は、キックスタート ファイル内で出現する順序で実行されます。

--interpreter= [python|busybox]

使用するスクリプトのインタプリタ。デフォルトでは busybox になります。

--timeout=secs

スクリプトの実行にタイムアウトを設定します。タイムアウトになったときにスクリプトが終了していなかった場合、そのスクリプトは強制的に終了されます。

--ignorefailure=

true を指定した場合、%post スクリプトがエラーで終了しても、インストールは正常に終了したと見なされます。

[true|false]

%firstboot

init スクリプトが作成されます。init スクリプトでは、最初の起動中にのみ、%firstboot セクションに指定されたコマンドを実行します。このスクリプトは、次回以降の起動では無効になります。複数の %firstboot セクションを指定した場合、それらのレベルが同じときは、それらはキックスタート ファイル内に出現する順序で実行されます。

--interpreter= [python|busybox]

使用するスクリプトのインタプリタ。デフォルトでは busybox になります。

%include または include

解析する追加のキックスタート ファイルを指定します。このコマンドは、複数行のコマンドと同様に処理されますが、1 つの引数だけを取ります。

<filename>

以上のコマンドの多くは必ずしも使用する必要はありませんが、特に ESXi ホストで特定のオプションのカスタマイズが必要な場合に役立ちます。ESXi 5.x のスクリプトによるインストール機能は高度なインストールであり、この機能が正しく実行されるためには特定の構成が必要になります。

上記のオプションと例の ks.cfg ファイルを使用すれば、独自の ESXi 5.x ホストの構築のカスタマイズを始めることができます。スクリプトによるインストールの設定、および PXE 起動のインストールの実行の詳細については、ESXi および vCenter Server の『Installation and Setup』ガイドを参照してください。

ESXi 5.x のインストールの他の方法については、次の記事を参照してください。



Additional Information

詳細については、「Performing a scripted installation of ESXi 5.5 reports the warning: unknown argument "--ignoressd" to command "installorupgrade" (2059210)」を参照してください。Deploying ESXi 5.x using the Scripted Install feature