ソフマップ・ドットコム

Windows Server での仮想環境( Windows Server 2012 と SCVMM )での検証や勉強した事を書き綴る技術色の強いブログです。

SQL Server インスタンス済みイメージの準備をする方法


System Center 2012 Virtual Machine Manager で SQL Server を含む仮想マシンをサービス展開する場合、必要になるのが、SQL Server のインスタンス準備済みの OS イメージです。
前回の解説の通り、SQL Server 全体をインストールするのではなく、インスタンスイメージの準備のみを行い、OS イメージを sysprep を用いて一般化する必要があります。

SQL Server インスタンスの準備

VHD の準備

まず、マスタ VHD を作成する仮想マシンを用意し、プロパティの設定で、既存の VHD を使用するにチェックを入れます。( Windows Server 2012 のマスタ VHD をコピーして使用するため。その際、SQL Server のマスタ VHD と判別できるようにリネームしておくことをお勧めします )そして、参照ボタンクリックして、使用する VHD を選択します。

既存の VHD を使用するにチェックを入れます。

VHD の選択の画面で、コピーし、リネームした Windows Server 2012 のマスタ VHD を選択します。( ここでは、Master-WS2102_SQL_Server_2012_SP1_(20130411upadate).vhd というマスタ VHD を使用します。 )

VHD の選択の画面

使用する VHD を選択し他状態が、以下の画面。この Windows Server 2012 のマスタイメージの VHD を使用して、SQL Server インスタンスの準備を行います。
この時、一緒に SQL Server のインストールメディア( ISO )をマウントさせます。

この Windows Server 2012 のマスタイメージの VHD を使用して、SQL Server インスタンスの準備を行います。

準備が出来たら、仮想マシンを起動させ、SQL Server のメディアを開きます。
この時、メディア内に存在する全てのファイルとディレクトリを選択し、ローカルに保存します。この時、任にのディレクトリを用意し、そこへ貼り付けます。ここでは、C:\Install_SQL というディレクトリへ保存します。

ローカルに保存する理由は、インスタンスの準備が完了し、一般化した VHD を含むサービステンプレートから展開する時に、展開する仮想マシンのローカルディレクトリにあるインスールメディア( SQL Server メディアからコピーしたもの )を使用して展開するためです。

メディア内に存在する全てのファイルとディレクトリを選択し、ローカルに保存

ファイルの数がかなり多いため、仮想マシンやホストの環境によってはコピーに非常に時間が掛かる場合があります。

コピーに非常に時間が掛かる場合があります。

SQL Server インストーラからインスタンスイメージの準備

インストールメディアのコピーが完了したら、ローカルにコピーしたディレクトリの中にある、setup.exe を起動し、SQL Server のインストーラを起動させます。

setup.exe を起動し、SQL Server のインストーラを起動させます。

インストーラが起動したら、詳細設定のメニューから「 SQL Server のスタンドアロンインストールイメージの準備 」をクリックします。

SQL Server のスタンドアロンインストールイメージの準備

セットアップウィザードが起動し、ライセンス条項に同意し SQL Server の更新プログラムを適用させます。今回は Service Pack 1 を適用させ、インストールイメージの準備を開始します。

 SQL Server の更新プログラムを適用

更新プログラムのインストールが完了させ、SQL Server のインストールを進めていきます。
インストールする機能の選択が目が表示されますので、インスタンス機能の全てにチェックを入れます。
また、共有機能ディレクトリに変更がある場合は、ここで変更する必要がありますが、デフォルトのままで問題ありません。

インスタンス機能の全てにチェックを入れます。

インスタンスの構成の画面で、インスタンス ID を指定します。ここで指定するインスタンス ID は SCVMM でSQL Server の展開時に必要となる重要な設定なので、忘れないようにしておきましょう。

インスタンス ID を指定します

イメージの準備の準備環境の画面が表示されますので、インスタンス ID の確認や、共有機能ディレクトリの場所などを確認後、準備ボタンをクリックします。

インスタンス ID の確認や、共有機能ディレクトリの場所などを確認後、準備ボタンをクリック

インスタンスイメージの準備が開始され、イメージの準備の進行状況の確認画面です。

インスタンスイメージの準備が開始され、イメージの準備の進行状況の確認画面です。

インスタンスイメージの準備が完了しました。ここで、セットアップウィザードを終了させます。
次は、SQL Server Management Studio という SQL Server の管理ツールをインストールします。

SQL Server Management Studio という SQL Server の管理ツールをインストール

管理ツールのインストール

SQL Server のインストールウィザードの画面が戻り、インストール →「 SQL Server の新規スタンドアロンインストールを実行するか、既存のインストールに機能を追加します 」を選択します。

SQL Server の新規スタンドアロンインストールを実行するか、既存のインストールに機能を追加します

セットアップファイルのインストール画面。
ここで、インストールに必要なセットアップファイルをインストールしています。

インストールに必要なセットアップファイルをインストール

セットアップファイルのインストールが完了したら、セットアップファイルサポートルールの画面で、インストール要件を満たしているかのチェックが行われます。
以下の画面では、ファイアウォールの項目に警告が出ていますが、ポートを開放していないので、問題ありません。

ファイアウォールの項目に警告が出ていますが、ポートを開放していないので、問題ありません

セットアップロールで「 SQL Server 機能のインストール 」にチェックを入れます。

SQL Server 機能のインストール

インストールする機能の選択画面で「 管理ツール – 基本 」と「 管理ツール – 完全 」の 2 つにチェックを入れます。

「 管理ツール – 基本 」と「 管理ツール – 完全 」の 2 つにチェック

インストールする準備が完了したので、確認の画面でインストールする機能の確認を行います。確認後、インストールボタンをクリックします。

確認後、インストールボタンをクリック

インストールが開始されました。何故か結構時間が掛かります。

インストールが開始されました。何故か結構時間が掛かります。

管理ツールのインストールが完了したので、インストールウィザードを終了します。

管理ツールのインストールが完了したので、インストールウィザードを終了します。

データ層アプリケーションワークフレームのインストール

次に、SQL Server 2012 データ層アプリケーションワークフレームのインストールを行います。

データ層アプリケーションワークフレームのインストール

インストールウィザードの指示に従ってインストールを行います。

インストールウィザードの指示に従ってインストールを行います。

インストールが完了しました。
※ データ層アプリケーション フレームワーク( DAC )は、後に解説する、データ層アプリケーションの展開時に必要となるため、ここでインストールしておきます。
DAC をインストールする事で、SQL Server 内のデータ層アプリケーションをパッケージ化し、他の SQL Server でパッケージ化したデータ層アプリケーションを展開する事が可能になります。

インストールが完了

Windows ファイアウォールの設定

次に、Windows ファイアウォールの構成を行います。展開する SQL Server を TCP / IP で操作させるために、ポートを開放しておく必要があります。

次に、Windows ファイアウォールの構成を行います。展開する SQL Server を TCP / IP で操作させるために、ポートを開放しておく必要があります。

SQL Server 構成マネージャーを起動して、インスタンスの TCP / IP を有効にします

また、SQL Server 構成マネージャーを起動して、インスタンスの TCP / IP を有効にします。
デフォルトでは有効になっているはずですが、無効になっている場合もあります。

コマンドプロントを起動して、以下のコマンドを実行し、SQL Server で使用するポートを開放します。

netsh firewall set portopening TCP 1433 "SQLServer"
netsh firewall set portopening TCP 1434 "SQL Admin Connection"
netsh firewall set portopening TCP 4022 "SQL Service Broker"
netsh firewall set portopening TCP 135 "SQL Debugger/RPC"
netsh firewall set portopening TCP 2383 "Analysis Services"
netsh firewall set portopening TCP 2382 "SQL Browser"
netsh firewall set portopening UDP 1434 "SQL Browser"
netsh firewall set multicastbroadcastresponse ENABLE

ファイアウォールのポートを開放します。

コントロールパネルから Windows ファイアウォールを起動し、ポートの開放が正しく行われてるか、確認をします。

コントロールパネルから Windows ファイアウォールを起動し、ポートの開放が正しく行われてるか、確認をします。

ポートの開放が完了したら、Sysprep で使用する、応答ファイル( Unattend.xml )を %systemroot%\system32\sysprep に配置します。

応答ファイル( Unattend.xml )を %systemroot%\system32\sysprep に配置

VHD の一般化 – Sysprep の実行

次に、応答ファイルを含んだ VFD( バーチャルフロッピーディスク )を選択します。

次に、応答ファイルを含んだ VFD( バーチャルフロッピーディスク )を選択します。

以下の画像の様に、既存の仮想フロッピーディスクにチェックを入れ、VFD のパスを指定します。

既存の仮想フロッピーディスクにチェックを入れ、VFD のパスを指定

以下は、VFD に配置された応答ファイル。

以下は、VFD に配置された応答ファイル。

コマンドプロントを管理者権限で起動して、sysprep を実行します。

sysprep /oobe /generalize /shutdown /Unattend:Unattend.xml

※ Windows Server 2012 から追加された mode:vm オプションを付けて sysprep を実行すると、静的 IP が設定されず、ドメインへの参加に失敗しますので、mode:vm オプションは付けないで実行します。

mode:vm オプションは付けないで実行

Unattend.xml を読み込み、一般化の処理をしています。処理が完了すると、自動的にシャットダウンされます。

Unattend.xml を読み込み、一般化の処理をしています。処理が完了すると、自動的にシャットダウンされます。

仮想マシンがシャットダウンしたら、すぐに、電源ボタンを投入して、仮想マシンを起動させます。
すると、VFD をマウントしたままなので、VFD から起動するので、VFD 内に配置された応答ファイルを読み込み、ミニセットアップが開始されます。ミニセットアップが完了後、ログオン画面が表示されるので、パスワードを入力して、ログオンします。

ログオン画面が表示されるので、パスワードを入力して、ログオン

起動後、%systemroot%\Panther 内にある、Unattend.xml を完全に削除します。また、%systemroot%\system32\sysprpe にある、Unattend.xml も完全に削除します。

%systemroot%\Panther 内にある、Unattend.xml を完全に削除

%systemroot%\system32\sysprpe にある、Unattend.xml も完全に削除

%systemroot%\Panther や %systemroot%\system32\sysprpe など、C:\ のルートディレクトリ内に Unattend.xml が存在すると、sysprep の実行に失敗します。理由は、ミニセットアップ時に使用した VFD 内の Uanttend.xml のキャッシュが %systemroot%\Panther に保存されているため、sysprep を実行すると、%systemroot%\Panther 内の Unattend.xml を読み込むためです。

%systemroot%\system32\sysprpe やゴミ箱の中に Unattend.xml が存在しても同様です。そのため、C:\ のルートディレクトリ内に Unattend.xml を残さないように完全に削除します。

削除が完了したら、sysprep.exe を実行し「 システムの OOBE に入る 」を選択し、一般化するにチェックを入れ、シャットダウンオプションでシャットダウンを選択しておきます。設定が完了したら、OK をクリックして、sysprpe を実行します。

sysprep.exe を実行し「 システムの OOBE に入る 」を選択し、一般化するにチェック

sysprep の処理中。

sysprep の処理中。

処理が完了後、仮想マシンが自動的にシャットダウンされるので、出来上がったインスタンスイメージの準備済みの VHD を仮想マシンから取り外します。

処理が完了後、仮想マシンが自動的にシャットダウンされるので、出来上がったインスタンスイメージの準備済みの VHD を仮想マシンから取り外します。

出来上がったマスタ VHD をSCVMM のライブラリへ移動

取り外した、VHD を SCVMM のライブラリへ移動させます。

取り外した、VHD を SCVMM のライブラリへ移動させます。

出来上がった、マスタ VHD を SCVMM のライブラリへ移動中。
ネットワーク環境や、マシンスペックなどにより、移動の時間は異なりますが、23 GB 程度ありますので、それなりに時間はかかります。

出来上がった、マスタ VHD を SCVMM のライブラリへ移動

移動が完了しました。後は SCVMM から作成したインスタンスイメージの準備済みの VHD を使用して VM テンプレートを作成しておきます。

移動が完了しました。


, , , ,


Facebook ページへの「いいね!」もお願いします。 Facebook ページで最新記事のお知らせと、外部サイトの紹介を行っています。
是非「いいね!」をしていただき、最新の情報を Facebook で受け取ってください。



Comments are currently closed.