SCVMM 2012 Beta で Server App-V も単体で試せます (2011/05/09)
http://yamanxworld.blogspot.com/2011/05/scvmm-2012-beta-server-app-v.html
Server App-V で Apache を展開後、仮想マシンを再起動したら? (2011/05/16)
http://yamanxworld.blogspot.com/2011/05/server-app-v-apache.html
SCVMM 2012 では、ミドルウェアやアプリケーションを含む、複数の仮想マシンで構成されたシステムをサービスとして自動展開する機能が実装される予定です。現行のSCVMM 2008 R2 が IaaS としたら、SCVMM 2012 は IaaS に加えて、PaaS もできるということです。この機能は、SCVMM 2012 Beta でも利用でき、Beta サイトにて Petshop というサンプル アプリケーションも提供されています。
Petshop は、3 階層 (Web、Middle、SQL Server) で動作するオンライン ペットショップのサンプル アプリケーションです。以下に説明されている手順に従って構成すれば、最小 3 台の仮想マシンを、Sysprep 済みのイメージから、アプリケーションのインストールと構成まで自動展開してくれます。
TechNet Blogs > Virtual Machine Management > How to deploy the Pet Shop Application as a Service in VMM
http://blogs.technet.com/b/m2/archive/2011/03/29/how-to-deploy-the-pet-shop-application-as-a-service-in-vmm.aspx
成功すると、やっほーって感じですが、何をしたのか、どうなっているのか、よくわかりません。何か、やらされている感いっぱいです。
ちなみに、Petshop のうち、Web Tier は OS に IIS を追加し、Web Deploy で.NET アプリケーションを展開、SQL Tier は SQL Server 2008 R2 のインストールとデータベースの構成 (SQL Server 2008 R2 は Sysprep 対応)、そして、Middle Tier は、Server App-V によるミドルウェア コンポーネントのインストールと構成を行っているようです。これらを Service Template として構成しておけば、ワンクリック(実際には数クリック必要ですが)で仮想化ホスト上にデプロイできるという感じです。
やらされている感を払しょくするには、自分で最初から試してみるのが一番。というわけで、Petshop の Middle Tier の設定を参考に、前回作成済みの Apache HTTP Server のパッケージ (こちらの手順の 1 ~ 5 ) と、同じく作成済みの Windows Server 2008 R2 Enterprise SP1 の仮想マシンテンプレート (OS をインストールしただけの、Sysprep 済みの VHD を含む) でサービスを自動展開してみます。
1. Windows エクスプローラー(Explorer.exe) を使用して、ライブラリ(\\コンピューター名\MSSCVMMLibrary\以下のパス)にフォルダーを作成し、フォルダーの中に Apache HTTP Server の Server App-V パッケージをコピーしておきます。
2. ライブラリに別のフォルダーを作成し、fwconf_apache.crというフォルダー名(.crが付けば名称は適当でよい)を付けます。この中に、ファイアウォールでTCPポート80を許可するためのコマンドラインを記述したバッチファイル(fwconfig.cmdなど)を保存しておきます。
3. [Virtual Machine Manager Console] の [Library] を開き、[Library Servers] でライブラリ サーバーを右クリックして [Refresh] を選択します。
4. [Library] の [Home] タブで [Create Service Template] をクリックして、新しい Service Template (サービス テンプレート) の作成を開始します。すると、[Service Template Desginer] が開きます。最初に、[New Service Template] ダイアログボックスにサービス テンプレート名を入力します。
3. [Create VM Template] をクリックして、[New VM Template Wizard] を開始します。[Select Source: Select a souce for the new VM template.] のページで、Windows Server 2008 R2 SP1の仮想マシンテンプレート (以前に作成済みのもの、OS のみ、Sysprep 済み)を選択します。
4. [VM Template Identity] のページで、適当なテンプレート名を入力します。
5. [Configure Hardware] のページで、仮想マシンのハードウェア構成をカスタマイズします。ネットワーク アダプターの構成は必須です。
6. [Configure Operating System] のページで、ゲスト OS プロファイルをカスタマイズします。
Identity Information: 仮想マシン名およびゲスト OS のコンピューター名になります。「仮想マシン名##」と入力すると、仮想マシン名01のように##の部分が連番になります。
Admin Password: 管理者パスワードを設定します。
Product Key: プロダクトキーを入力します。
Roles and Features: サービス テンプレート用の仮想マシンテンプレートでは、Windows の役割や機能のインストールを指定できます。ただし、今回は何も選択しません。
Domain/Workgroup: ドメインへの参加設定をします。
Answer File: 次のテキストを記述したテキストファイルをファイル名.xmlとしてライブラリに保存し、それを読み込ませてください。これは、タイムゾーンの指定に関係なく、展開した仮想マシンのキーボードとシステムロケールがen-usになってしまう問題を解消してくれます。このテクニックは、現行のSCVMM 2008 R2でも有効です。
-------------------------
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserLocale>ja-JP</UserLocale>
<SystemLocale>ja-JP</SystemLocale>
<InputLocale>0411:00000411</InputLocale>
<UILanguage>ja-JP</UILanguage>
</component>
</settings>
<cpi:offlineImage cpi:source="" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
-------------------------
7. [Configure Applications] のページに進みます。ここで、いよいよ Server App-V の構成をします。まず、[OS Compatibility] として [64-bit edition of Windows Server 2008 R2 Enterprise] をチェックします。次に、[+Add] をポイントして [Script] をクリックします。
8. スクリプトの編集画面が表示されるので、次のように指定します。このスクリプトにより、Server App-V のエージェントがゲスト OS にインストールされることになります(スクリプト パッケージ SAV_x64_en-US_4.7.11.1127.cr は、SCVMM 2012 Beta のライブラリに最初から用意されています)。「InstallSAV.cmd /c」は、Server App-V エージェントをインストールし、Web Depoy をインストールしない指定です。
Script command type: Pre-Install
Executable: cmd.exe
Parameters: /q /c InstallSAV.cmd /c
Script package: SAV_x64_en-US_4.7.11.1127.cr
9. [+Add] をポイントして [Virtual Application] をクリックします。Server App-V の仮想アプリケーションの編集画面が表示されるので、次のように指定します。
Name: Apache HTTP Server (適当な名前)
Virtual application package: ライブラリ内の仮想アプリケーション パッケージを選択
10. もう一度、[+Add] をポイントして [Script] をクリックし、今度は次のように指定します。このスクリプトは、ファイアウォールのTCPポート80を許可するバッチファイルを実行するものです。
Script command type: Post-Install
Executable: cmd.exe
Parameters: /q /c fwconfig.cmd (手順2でライブラリに登録したバッチファイル名)
11. Script package: fwconf_apache.cr (手順2でライブラリに用意したフォルダー名.cr)ウィザードを最後まで進み、[Create] ボタンをクリックして、仮想マシンテンプレートを作成します。
12. [Service Template Desginer] に戻るので、[VM Templates] のリストに追加された、いま作成したテンプレートを、中央の [↓ Drop VM Templates Here] にドラッグ アンド ドロップします。
13. [Save] をクリックします。これで、ゲスト OS + Apache HTTP Server の仮想マシンをサービスとして自動展開するためのサービス テンプレートは完成です。
14. 続いて、作成したサービステンプレートを使用して、サービスをデプロイします。それには、[Service Template Desginer] の [Configure Deployment] をクリックします。[Service Template Desginer] を閉じてしまった場合は、[Library] の [Templates\Service Templates] からサービス テンプレートを右クリックし、[Deploy] を選択します。
15. [Select name and destination] ダイアログボックスが表示されるので、サービス名とホストグループを指定します。
16. サービスの配置の論理図が星の数とともに示されます。配置先を選択し、[Deploy Service] をクリックして、サービスのデプロイを開始します。
17. [Create Service Instance] ジョブが開始されます。あとは、ジョブが完了するまで待つだけです。
18. [VMs and Services] の [Services] ビューに切り替えてみましょう。どことなく、Windows Azure Platform の Management Portal に似ています。
19. ジョブが完了したら、http://FQDN/ にアクセスしてみます。「It works!」と表示されました。めでたしめでたし。
以前の投稿で、Server App-V の仮想アプリケーションの手動展開を試みた際は、仮想アプリケーション パッケージを登録するために PowerShell のコマンドレットを使用しましたが、SCVMM 2012 Beta のサービス テンプレートで展開する場合、PowerShell を記述したり、PowerShell スクリプト (.ps1) を登録したりする必要はありませんでした。
Server App-V については、これでひとまず攻略っと。次は Web Deploy を勉強しなきゃです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。