PXEブートを使ってブートディスクレスなGhostイメージ配信を行う

PXEブートを使ってブートディスクレスなGhostイメージ配信を行う

タイトル通りの設定メモです。もちろんすべて自力ではなく、色々な人の資料を読みあさって補完した内容になってます。
サーバにWindows200xServer(のDHCPサーバ)を使う事例は多いものの、一時的とはいえ納入にないServerを使いたくありませんでした。下の手順は配布対象にもなってるWin7で完結する為、ライセンス的にもクリーンでサーバ機も終わったら自分自身を上書きして終われます。

お断りとしてクローニングはクローズな環境で実施し、セキュリティについては考慮していません。

登場人物

TFTPサーバの設定

tftpd32を起動

“TFTP Server”,”DHCP Server”にチェックをつけ有効にする。
“Enable IP6″はチェックを外す

TFTPの設定

Base DirectoryフォルダAAAを指定
PXE Compatibilityチェックをつける

DHCPの設定

IP pool starting address払い出すIPアドレスの開始アドレス
Size of poolDHCPで使うIPの個数(20個以上必要)
Boot Fileboot/pxeboot.n12
WINS/DNS Server
及びDefault Router
サーバIPアドレス
Mask255.255.255.0

設定したtftpd32は一度再起動する

PXEブートイメージの作成

Ghostブートウィザード

起動以下の内容で作成を行う

  1. “Windows PE”を選択
  2. “TCP/IP ネットワークブートイメージ”を選択
  3. ”Symantec Ghost”
  4. “ユーザー名”,”ユーザーパスワード”にサーバPCのアカウント情報を入力
  5. ”ドライブ名”→Zなど任意
  6. ”マップ先”→\\サーバホスト名\BBB
  7. ”DHCPでIP設定を割り当てる
  8. 追加ファイルは任意
  9. ”TFTPルートディレクトリ”→AAA
  10. ”名前”→任意(WinPEのメニュー表示で使われるだけ)
  11. 見直しの画面で[編集を開始]を押下し、最後の”start ghost32.exe”を下記に書き換える
z:
cd /
call restore.bat

(ここでghost32を実行してしまっても全く問題は無い。だだ、BBBに入ったrestore.batを呼び出す形にしたほうが、起動パラメータの変更などに対応しやすい為)

ブートイメージを作成しウィザードを終了する。

※忘れずに!
AAA/bootフォルダが作成されるので、中にあるbootmgr.exeをAAA直下にコピー

Ghostイメージの準備

  1. CD起動したGhostなどでマスタPCのイメージを作成。作成したファイルをフォルダBBBに格納
  2. フォルダBBBをアクセス権「読み込み」のみで共有する。
  3. 以下のバッチファイル(restore.bat)をフォルダBBBへ格納
x:
cd /ghost
start ghost32.exe -ja=セッション名(後述) -jaddr=サーバIPアドレス

GhostCastサーバの設定

  1. GhostCastサーバを起動し、”セッション名”にrestore.batに入力したものと同じ文字列を指定(パスフレーズみたいなもの)
  2. イメージの復元を選択。BBBにあるイメージファイルを指定
  3. ”クライアントコマンドラインオプション”にて”ディスク番号”を1に(これを入れないと自動で開始されない)。コマンドラインが増えるので、末尾に”-sure -rb”(自動実行と完了後の再起動)を追加
  4. ”自動起動”の”クライアント数”に同時展開するPCの台数を入力し、[クライアントを受け入れる]を押下

Enjoy it !

クライアントの電源を入れ、Boot Menuでネットワーク(PXE)を選択。上手くTFTPでイメージが取れれば起動クライアントが同時展開台数に達した時点でイメージの配信が始まる。その後自動リブート→OSの起動→OOBEまで自動で行われる。

皆様、良きGhostライフを。
ファッキンホット。

2013/09/10 追記
今回の作業で得られた教訓は
「Ghost ブートウィザードで作られたWinPE使うな」だ。

実際動かないことは無いあたりまたタチが悪い。問題として

  1. 複数台にマルチキャストすると極端に速度が落ちる(300MB/min以下)
  2. 台数を減らすと通常のスピードが出ることもあるが、その台数は一定ではない

ウィザードが作るPEはVistaベースの2.0で、今回はそのままではNICを認識しなかった為、Realtekから落としたRTL8111のVistaドライバを個別に落とし込んである。RWINの自動調節はdisableにしても変化無かったので、NICドライバの問題なのかもしれない。

結果的には1からWin7ベースのWinPE3.0でブートイメージを作成し、そこにghost関係の実行ファイルを入れ込む事で解決。正常な状態では開始時に1600MB/min、後半落ち込んでも1100MB/min位はキープできた。

参考環境)

  • サーバ、クライアント共にメーカーPCでOSはWin7
  • BUFFALOの安いGbEスイッチ
  • 7台に25GBのイメージをデプロイ

コメントを残す