2013年1月28日月曜日

SC 2012 VMM SP1 ベアメタル展開 メモ書き5 遂に上手くいきました!

SC 2012 VMM SP1 ベアメタル展開 メモ書き4 ベアメタル展開のテストで、パーティションの構成とフォーマット で失敗している旨を書きました。

今回は、これのトラブルシューティングを中心に纏めていきます。
SC 2012 VMM SP1 ベアメタル展開 メモ書きで、HP ML110 G7のRAIDおよびネットワークカードのデバイスドライバーをWindows PEに組み込み、"C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\VMMData"に置いたことを書きました。

ただ、詳細検出やベアメタル展開では、ディスクが読み取れていないように見えます。
言語の違いによる動作の違いがあるかもしれないと、なんとなく考えてSC 2012 VMM SP1およびWDSの英語版を用意してみることにしました。
でなんとなく英語環境を構築していたのですが、ふとWDSが利用するフォルダを見てみると
pre-vmmagentinstall
というフォルダが並んでいます。で、すでにVMMにPXEサーバーとして登録されているWDSの日本語環境を見ると
after-vmmagentinstall-winpeimport-ja01
"DCMgr"というフォルダが増えているのに気が付きました。

そのフォルダを辿っていくと、Windows PEイメージ(boot.wim)があります。
after-vmmagentinstall-winpeimport-ja02

ということで、このboot.wimはVMMにPXEサーバーとして登録するとできるものなのか、英語環境で確認してみたところ、その通りでした。
after-vmmagentinstall-winpeimport

PXEサーバーの登録時にWindows PEイメージをインポートしているジョブが見て取れるのですが、それがWDSにboot.wimを流し込んでいるジョブだと断定しました。
pxeserver-setup

実際にそのboot.wimが使われているか、トライアンドエラーの状況を撮影した写真を確認したところありました!
pxeboot

ここまでわかれば、このboot.wimに対してHP ML110 G7で使っているRAIDのデバイスドライバーをDISMコマンド組み込めば良いだけです。
組み込み方はチュートリアル: カスタム Windows PE イメージを作成するに沿いますが、デバイスドライバーを組み込んだところだけ、以下に画像を載せておきます。
winpe-rebuild08

で、ベアメタル展開を試してみたのですが、VMMエージェントのインストール失敗のほかに、ロケールがおかしい問題が出てきました。
サインインは日本語表記なのですが、日付がUS表記?になっています。
signin-ja_data-en

これは、ホストプロファイルにロケールを設定する応答ファイルを指定することで回避できます。この応答ファイルは日本マイクロソフトの高添さんがブログで公開されているものを使用しています。
hostprofile-createjpvm

しかし、このとき応答ファイルを取り込むことで、プロダクトキーの設定が変わってしまっていると気が付かず、ベアメタル展開時にプロダクトキー入力画面が出てしまいました。
productkeyinput

再び、ホストプロファイルを編集し、プロダクトキーを入力します(画面は空欄になっていますがちゃんと入力しています)。
productkeyconfig-change01

productkeyconfig-change02

これで、ようやくVMMエージェントのインストール失敗をトラブルシューティングできます。
VMMagnet-installerror

どうせWindows FWの設定変更だと、高をくくってVHDXイメージを作り直す中で、以下のように設定を行いました。
windowsfwoff

またまたベアメタル展開を行いましたが、VMMエージェントのインストールで失敗しました。
VHDXイメージは、最後にsysprepしているので、その際に設定が削除されたような感じです?!
運用を考えればホストプロファイルのGUIRunOnceにWindows FWの設定変更スクリプトを仕込んだほうがスマートだと思います。
ただ今回は、実現性の確認が最優先なので、Active Directoryドメインのグループポリシーで実装するしかないと考えました。

で、以下のようなGPOを作成しました。
gpo-fileandpritershare

考えられる手は打ったので祈るように、ベアメタル展開を試します。
結果、上手くいきました。以下、結果の画面を貼り付けます!
baremetaldeploy-complete01
baremetaldeploy-complete02
baremetaldeploy-complete03
baremetaldeploy-complete04
baremetaldeploy-complete05
baremetaldeploy-complete06

以上で、このメモは一区切りつきました。
途中の細かい動きは画面イメージや写真として残しています。
そこで、メモを整理したまとめ記事を書きつつ、より細かいところは、SCUGJの勉強会でお伝えしていこうと考えておりますので、よろしくお願いします。
SCUGJの勉強会日程等がわかり次第、こちらのブログでも改めてお伝えしていきます!

2013年1月21日月曜日

SC 2012 VMM SP1 ベアメタル展開 メモ書き4 ベアメタル展開のテスト

 

SC 2012 VMM SP1 ベアメタル展開 メモ書き3 PXEサーバーの登録 →ホストプロファイルの登録で、ホストプロファイルまで作成しました。

ここからは、ベアメタル展開をテストしてみます。
が、現段階の状況を先に書いておくと、正常にベアメタル展開できていません。
また、こちらの環境の癖なのか、必ずホストプロファイルを若干編集して保存してやらないと、"詳細検出"がうまく終わらないことがありました。
20130119-01-baremetaldeploy01

サーバーをWindows Server 2012インストールメディアで起動し、すでに作成済みのパーティションをdiskpartコマンドで削除しておきます。削除後、電源OFFにしておきます。
[リソースの追加]からウィザードを起動してベアメタル展開を試します。
一番下の項目がベアメタル展開用のオプションですので、これを選びます。
20130119-01-baremetaldeploy02

サーバーについている管理ボード(ベースボード管理コントローラー)にアクセス可能な実行アカウントを指定し、続行します。今回はiLO 3ですが、IPMIのままで検出できました。
20130119-01-baremetaldeploy03

ベースボード管理コントローラーとしてスキャンする範囲を指定します。ここでは192.168.1.0/24でスキャンします。
20130119-01-baremetaldeploy04

しばらく待つと、以下のようにベースボート管理コントローラーが検出されます。
20130119-01-baremetaldeploy05

ホストグループとホストプロファイルを指定します。
20130119-01-baremetaldeploy06

この後ベースボード管理コントローラー経由でサーバーが起動し、VMMと連携したWDSからWindows PEの起動イメージが送り込まれて、サーバーの情報を調査します(詳細検出)。
そのタイミングでは、サーバー側で以下のような画面が出ています。
IMG_1264

ホストプロファイルを編集しないと、詳細検出がいつまでも終わらない(詳細検出は終わっているが、VMMにうまく連携されない)ということが起きました。
詳細検出がうまくいくと以下のような画面になります。
この画面では、ホスト名を入力してやることができます。
20130119-01-baremetaldeploy07

この画面は、ネットワークカードの設定を変更することができます。ただしここではDHCPのままとしています。
20130119-01-baremetaldeploy08

ディスク選択の画面です。ディスクがあること自体は、詳細検出できていますが、プルダウンメニューに出てこないのが正しいのか否か、判断が分かれるところです。
20130119-01-baremetaldeploy09

サマリーを確認して、ベアメタル展開を開始してみます。
20130119-01-baremetaldeploy10

しばらくすると失敗しました。
20130119-01-baremetaldeploy11

何回か試したのですが、パーティション作成のところで失敗しているようです。
20130119-01-baremetaldeploy12

20130119-01-baremetaldeploy13

Windows PEには、HP ML110 G7内臓RAIDコントローラーのデバイスドライバーを組み込んでいるのに、パーティションの作成ができないのは、おかしいと考えました。
Windows PEで作成したboot.wimをWDSから配信して、ディスクを認識するか確認します。
boot.wimから起動し、diskpartコマンドを使ってみましたが、以下の通りディスクは見えています。
IMG_1266

Windows PEのロケールの問題かと思い、Windows PEにja-jpロケールのファイルを追加してみましたが、パーティションの問題が解消するどころか、2回とも詳細検出が終わらない状態に。。。
その後、Windows PEにja-jpロケールのファイル追加前に戻して、再びVMMからベアメタル展開を行ったところパーティションの作成失敗となり、状況は変わっていません。
20130119-01-baremetaldeploy14

ということで、Windows PEはen-usのままがよさそうだという結論になりそうです。Windows PEのパッケージが足りているのかという点も気になりますが、調べている限りでは情報が見当たりません。
現在、VMM、WDSの英語環境を構築中なので、そちらのほうでうまくいくのか確認してみようと思います。また別のハードウェアでどうなのかも追って確認していきたいところです。

2013年1月20日日曜日

SC 2012 VMM SP1 ベアメタル展開 メモ書き3 PXEサーバーの登録 →ホストプロファイルの登録

SC 2012 VMM SP1 ベアメタル展開 メモ書きで、Windows PEイメージをVMMDataフォルダに置き、ドメイン参加用アカウントをActive Directoryに追加しました。

つづいてVMMにPXEサーバー(ここでは、Windows展開サービス)を登録します。
20130113-01-addpxe01

管理者用の実行アカウント、追加するPXEサーバーを指定します。
20130113-01-addpxe02

[追加]ボタンを押すと以下のように登録のジョブが走ります。
20130113-01-addpxe03

前回記事で作成したWinPEイメージに更新します。
[WinPEイメージの更新]ボタンを押すと以下の様なメッセージが出るの続行します。
20130113-03-updatewinpe01

そうすると以下のように処理が進みます。
20130113-03-updatewinpe03
20130113-03-updatewinpe04

Active Directoryに登録したドメイン参加用のアカウントを実行アカウントとして登録します。
20130113-04-addrunasaccont

ここからは、ホストプロファイルを登録します。
ホストプロファイルの名前を入力します。
20130113-05-addhostprofile01

ホストにデプロイするVHD(今回はVHDXファイル)を登録します。
20130113-05-addhostprofile02
このファイルは、
・HP ML110 G7にVHDではなく、物理的にインストールし、デバイスドライバー(特に重要なRAID)を組み込み
Disk2vhdでVHD化
・ディスクの管理で余分なパーティション(2ndパーティションを作っていたので)を削除
・Hyper-Vマネージャーで、VHDXに変換し、仮想ディスクサイズを縮小
・VMにVHDXファイルをマウントしsysprepを実行
して作っています。

ハードウェアの構成を入力します。HP ML110 G7に合わせてネットワークを2枚にし、ボリュームラベルを設定します。蛇足ですが、HP ML110 G7はUEFIではないため、GPTではなくMBRパーティションにしています。
20130113-05-addhostprofile03
(ここで、追加のドライバーを指定することができます)

OS構成で、ドメイン参加情報、ローカル管理者パスワード、プロダクトキーを入力します(応答ファイルやRun Onceも登録可能)。
20130113-05-addhostprofile04

VMの配置パスを入力します。
20130113-05-addhostprofile05

サマリーを確認して、[完了]ボタンを押します。
20130113-05-addhostprofile06

そしてBMCのアカウントとパスワードを実行アカウントに登録しておきます(今回はiLOです)。
20130113-06-addrunasaccontbmc

ここまでで、ベアメタル展開の準備ができました。
次回記事に続く。