雑木林

頭の中の整理と忘れないための確認メモ

VMWare上のゲストOSをiSCSIブートする

企業環境では信頼性が高い・・・と言われているHBAを用いたSANブートマルチパス環境が多いですが、個人で環境を用意するとなると中古でも一式揃えるのに10万円ほどするため、現実的ではありません。
個人環境でもSANブートマルチパス環境に近い環境を試験・・・もとい構築したい場合、iSCSIを使えば似たような環境を作ることができます。
今回はそんなiSCSIブートマルチパス環境を安価に構築するお話。

今回はiSCSIイニシエータ側のみですが、そのうちターゲット側の話も書きます。

仮想マシンiSCSIブートを行うための手順

  1. NIC(e1000)用のromイメージの作成
  2. ディスクレス仮想マシン作成
  3. 仮想マシン構成ファイル(vmx)編集によるromイメージの置き換え

(1)NIC(e1000)用のromイメージの作成

http://rom-o-matic.net/のImage Generatorを用いて、iSCSIブート可能なromイメージを作成します。
このとき、Embedded ScriptにiSCSIブート用の設定を記述します。
今回は2つのNICにIPを付与し、2つのターゲットに接続する設定をしています。
IPアドレスやIQNは適宜読み替えてください。)

f:id:zokibayashi:20160107002212p:plain

  • Choose an output format : ROM binary (flashable) image (.rom)
  • Choose a NIC type : e1000_82540
  • PCI VENDOR CODE : 8086
  • PCI DEVICE CODE : 100f
  • (optional) Customize image configuration options : Embedded Scriptに以下の内容を記述
ifopen net0
set net0/ip 192.168.10.51
set net0/netmask 255.255.255.0
ifopen net1
set net1/ip 192.168.10.52
set net1/netmask 255.255.255.0
set keep-san 1
sanboot iscsi:192.168.10.101::::iqn.2004-08.jp.buffalo.xxxxxxxxxxxx.osdisk
sanboot iscsi:192.168.10.102::::iqn.2004-08.jp.buffalo.xxxxxxxxxxxx.osdisk

「Get Image」をクリックすると、ファイル(gpxe-1.0.0-8086100f.rom)がダウンロード可能です。

(2)ディスクレス仮想マシン作成

ESXi上でNICを2つ持つ仮想マシンを作成します。
ただし、構成を「標準」で作るとディスクも作成されてしまうため、「カスタム」を選択し、
f:id:zokibayashi:20160106232303p:plain

ディスクの選択で「ディスクを作成しない」を選択します。
f:id:zokibayashi:20160106232324p:plain

(3)仮想マシン構成ファイル(vmx)編集によるromイメージの置き換え

(1)でダウンロードしたファイル(gpxe-1.0.0-8086100f.rom)を(2)で作成した仮想マシンの構成ファイル(vmx)と同じディレクトに格納し、構成ファイル(vmx)を以下のように確認・編集します。

(省略)

ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "generated"
ethernet0.present = "TRUE"
ethernet1.virtualDev = "e1000"
ethernet1.networkName = "VM Network"
ethernet1.addressType = "generated"
ethernet1.present = "TRUE"

※以下を追記
ethernet0.opromsize = "71168"
ethernet1.opromsize = "71168"
e1000bios.filename = "gpxe-1.0.1+-8086100f.rom"

(省略)
  • iSCSIに用いるnicのvirtualDevがe1000であることを確認
  • e1000bios.filenameに(2)で作成したファイル名を指定
  • ethernet0.opromsizeはファイル(gpxe-1.0.0-8086100f.rom)のサイズを指定

iSCSIブートの確認

仮想マシンを起動した後でgPXEに関する画面が出力されればromの変更は成功です。
スクリプトが正しければ、OSのインストールした後に再起動を行ってもOSが上がってきます。
(インストール時にiSCSIディスクの探索等が必要です。)

f:id:zokibayashi:20160107001211p:plain