SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for 2010

TMG 2010 のネットワーク検査システム (NIS) をテスト

leave a comment

TMG 2010 ではネットワーク検査システム (Network Inspection System) という機能が追加されています。
バーチャルパッチといわれるような機能に相当し、TMG で既知の脆弱性の検査をし脆弱性を狙った攻撃をブロックする機能になります。

検査される内容に関しては、以下のように管理されており基本的には MS のセキュリティ情報と対応付けられており、
それぞれのセキュリティの問題に対して、署名という形でブロックする情報が管理されています。
image

この情報は Microsoft Update 経由で更新ができるようになっており、定期的に更新ができるようになっています。
image

検査の内容に関しては署名セットという形でパックされた形で管理されており、内部ではバージョン管理がされています。
何かの理由で以前配信された署名セットを使いたいといった場合には、アクティブにする署名セットを手動で選択することも可能です。
image

?

この検査機能ですが、昨日から構成について調べてみたのですが、以下の図のようなインライン型の IDS (Intrusion Detection System) となるようで、
検査をするためには、TMG を介してアクセスされるようにネットワークを構成する必要があるようなんですよね。
# IDS 大きく分類すると、はインライン型とネットワーク型に分かれるようです。私はネットワーク苦手で恥ずかしながらインライン型しか知りませんでした…。
 【特集】 続 不正侵入対策最前線
image

この機能を使うことで、セキュリティパッチが提供されていない、レガシー OS (Windows NT / 95 / 98 / 2000 (2000 はもうじきですね) 等) に関しても、
TMG 経由のアクセスに関しては脆弱性を狙っての攻撃をブロックすることができるようになります。

簡単な図にするとこのような形式でしょうか。
TMG で検査がされれば脆弱性を狙った攻撃はブロックされますので、TMG の後ろに配置しているサーバーの OS には依存しない形になります。
?image

ただし、このような形でアクセスができるネットワーク環境になると TMG では検査ができないので NIS が機能しません。
# ネットワーク機器側でポートミラーで飛ばせば良いのかな??
ネットワークの構成は考える必要がありそうですね。
私はネットワーク関連が苦手なので、もしかしたら間違っているのかも…。
このようなアクセスが可能な場合でも検査できる!!ということでしたらコメントを頂けるととても助かります。
image

?

この NIS の機能なのですが、TMG ではテスト用に 2 種類の署名が用意されており、正常に構成されているかの動作検証をすることができるようになっています。
今回は、このテスト用の署名を使った NIS のテストについてまとめていきたいと思います。

[テスト用の署名]

NIS のテスト用の署名として、HTTP と SMB のテスト署名が用意されています。
これらの署名を使ったテストなのですが、TMG のヘルプにも記載があるのですがヘルプの内容が間違っているようで、テスト用の署名の名称だったり、
テストで使用するための URL / ファイル名を見つけることができなかったりします…。
# [NIS の機能をテストする] というヘルプがあるのですが、内容がいまいち…。

TMG の書籍として、
Microsoft Forefront Threat Management Gateway (TMG) Administrator’s Companion (Pro -Administrator’s Campanion)
という書籍があるのですが、この中に HTTP を使用した NIS のテスト方法について記載がされています。

本を買うのはちょっと・・・。という方にはホワイトペーパーも用意されています。
# というより、NIS に関してはホワイトペーパーの方が詳しいです。
ホワイトペーパーでは、HTTP だけでなく、SMB のテスト方法についても記載されています。

[Word]
Guide for Configuring, Monitoring and Troubleshooting the Network Inspection System (NIS) in Forefront Threat Management Gateway (TMG) 2010

[PDF]
Guide for Configuring, Monitoring and Troubleshooting the Network Inspection System (NIS) in Forefront Threat Management Gateway (TMG) 2010

テストをする際には、ホワイトペーパーを一読した方が良いと思います。
# 私は英語の能力がべらぼーに低いので眺めながら (とてもとても読めません…) やったのですが何とかテストで
きました。

テスト用の署名は以下の 2 種類になります。

[HTTP 用]
image

[SMB 用]
image
# 私の環境、なぜか SMB のテスト用の署名が同一名称で 2 つありました…。

これらの署名で検知されるようなアクセスをすることで NIS のテストをすることが可能です。

[HTTP のテスト]

HTTP 用のテストに関しては方法は簡単で、TMG を経由するような環境を作ってからブラウザで特定の URL にアクセスすることで確認ができます。

テスト用の URL は以下のものになります。
# ホワイトペーパーに記載されています。

http://www.contoso.com/testNIS.aspx?testValue=1!2@34$5%6^[{NIS-Test-URL}]1!2@34$5%6^

NIS の署名を無効にしている状態で、上記の URL にアクセスすると、US の microsfot.com にアクセスされます。
image

それでは HTTP 用の NIS の署名を有効にしてテスト用の URL にアクセスをしてみます。
image

[500 Internal Server Error. トラフィックが IPS によってブロックされましたという。] というエラーが発生し、
ネットワークのアクセスがブロックされます。

TMG のログにも以下のように NIS でブロックされたというログが出力されます。
image
image

上のアクセスですが、このような形になっています。
デフォルトゲートウェイとして、TMG を構成しています。
# NIC 2 枚で、[エッジ ファイアウォール] として構成しています。
この場合、エラーコードとしては [500] となるようです。
image

?

以下の図のような形で、クライアントのデフォルト G/W としては、ルーターを設定して、プロキシとして TMG を設定してアクセスをしてみます。
image

?

エラーメッセージは同じなのですが、[502 Proxy Error] という形で NIS による検査がされます。
?image

プロキシとして設定した場合に NIS で検査された場合は以下のようなログが TMG に記録されます。
image

ゲートウェイでなく、プロキシにしても HTTP に関しては検査ができますね。
単一ネットワークの場合、ゲートウェイとして TMG を構成するのはできないと思いますので、その場合はプロキシとして構成する必要があります。

?

[SMB のテスト]

もう一つのテスト用の署名として SMB の署名が用意されています。

SMB のテスト署名を使ったテストに関してもホワイトペーパーに記載がされています。
これに関しては、TMG を経由するようにして特定のファイル名のファイルをコピーすることでテストをすることができます。

今回は以下の構成に市提案す。
image

テストに使用するファイル名は以下の名称になります。

C0AABD79-351B-4c98-8AE7-69F4279FEF54.txt

SMB 用のテスト用署名を無効にしている状態ではこのファイル名のファイルをゲートウェイとして構成している TMG を介してコピーすることができます。
image

SMB のテスト用署名が有効になっている状態では、ファイルをコピーすると以下のエラーが発生します。
image

TMG のログには、CIFS が NIS によりブロックされていることが出力されています。
image
image

テストに関してはこれらのテスト署名を使用することで実施することができます。
パフォーマンス測定などもこれらのテスト署名でできそうですね。

Written by Masayuki.Ozawa

5月 16th, 2010 at 2:40 pm

Posted in ISA

Windows Embedded Standard 7 が MSDN サブスクリプションで提供開始されました

leave a comment

Windows Embedded Standard 7 の RTM が発表されましたが、MSDN サブスクリプションでも Windows Embedded Standard 7 の提供が開始されました。

image

提供が開始されたのは、

  • Windows Embedded Standard 7 Runtime (x64) – DVD (English)?
  • Windows Embedded Standard 7 Runtime (x86) – DVD (English)
  • Windows Embedded Standard 7 Toolkit (x86) – DVD (English)

の 3 種類で、[Runtime] がブータブル可能なインストールメディアで、[Toolkit] が [Image Configuration Editor] のインストールメディアになります。

[Image Configuration Editor] の RC 版を使っていた場合、アップグレードはできないため、一度アンインストールをしてからインストールする必要があります。
image

[Image Configuration Editor] の初回実行時には、プロダクトキーの入力が求められるようになっています。
# プロダクトキーは MSDN サブスクリプションで、Toolkit 用のキーが提供されています。

image

Runtime の方に関しては、RC のブータブルメディアからのインストールから内容は変わっていませんでした。
# 表示が、Windows Embedded Standard 2011 から Windows Embedded Standard 7 に変わったぐらいでした。

Runtime に関してもプロダクトキーが提供されているのですが、どうもこのプロダクトキーを使って RTM としてインストールするのが、
うまくできないんですよね。

インストール時にプロダクト入力の妥当性チェックが行われており、MSDN で提供されている RTM のプロダクトキーであれば、
妥当性チェックはパスできるのですが、評価版としてインストールがされてしまいます。
# これが正しいのかは調査中です。
プロダクトキーを入力しないでインストールしても評価版になるので、プロダクトキーの使い道がいまいちわかっていないです。
image

Windows Embedded Standard 7 を [ThinClient] でインストールした場合、[slui.exe] が使えないので、
プロダクトキーの変更やライセンス認証も通常の方法ではできないみたいなんですよね。
image

RTM としてのインストール方法は引き続き調べていきたいと思います。

2010/5/22 追記
WES 7 missing slui.exe

Written by Masayuki.Ozawa

5月 15th, 2010 at 3:02 pm

Posted in Windows Embedded

データベース管理者向けの SQL Server 2008 R2 3 つの新機能

one comment

Books Online や Web で SQL Server 2008 R2 の新機能の情報を収集していて、SQL Server 2008 R2 でメジャーな新機能以外に
いくつかデータベース管理者向けの新機能があったので検証してみました。

以下のブログで新機能がまとめられており、こちらの情報がとても参考になります。
INF: New SQL Server features in SQL Server 2008 R2 ? Part 1
INF: New SQL Server features in SQL Server 2008 R2 ?Part 2

  1. SQL Server 2008 R2 Express Edition のデータベース上限の変更
  2. SQL Server 2008 Express Edition までは、データベースの上限は [4GB] となっていました。
    image?

    SQL Server 2008 R2 Express Edition では、データベースの上限が [10GB] に変更となりました。
    image?

    Books Online には以下のように記載されています。

    SQL Server Express でサポートされるデータベースの最大サイズが 4 GB から 10 GB に引き上げられました。

    # ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.ja/s10de_0evalplan/html/8f625d5a-763c-4440-97b8-4b823a6e2439.htm

  3. Standard Edition でバックアップ圧縮をサポート

    SQL Server 2008 でバックアップ圧縮の機能が追加されました。
    ただし、使える Edition は [Enterprise Edition のみ] となっていました。

    SQL Server 2008 Standard Edition でバックアップ圧縮を使ったデータベースアックアップを取得しようとすると以下のエラーとなります。

    print @@version

    BACKUP DATABASE [master] TO? DISK = N’C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008STDMSSQLBackupmaster.bak’ WITH NOFORMAT, NOINIT,
    NAME = N’master-完全 データベース バックアップ’, SKIP, NOREWIND, NOUNLOAD, COMPRESSION,? STATS = 10
    GO

    Microsoft SQL Server 2008 (SP1) – 10.0.2746.0 (X64)
    ??? Nov? 9 2009 16:37:47
    ??? Copyright (c) 1988-2008 Microsoft Corporation
    ??? Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (VM)

    メッセージ 1844、レベル 16、状態 1、行 1
    BACKUP DATABASE WITH COMPRESSION は Standard Edition (64-bit) ではサポートされません。
    メッセージ 3013、レベル 16、状態 1、行 1
    BACKUP DATABASE が異常終了しています。

    ?

    それでは SQL Server 2008 R2 Standard Edition で同様の処理を実行してみます。

    print @@version

    BACKUP DATABASE [master] TO? DISK = N’C:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008R2STDMSSQLBackupmaster.bak’ WITH NOFORMAT,
    NOINIT,? NAME = N’master-完全 データベース バックアップ’, SKIP, NOREWIND, NOUNLOAD, COMPRESSION,? STATS = 10
    GO

    Microsoft SQL Server 2008 R2 (RTM) – 10.50.1600.1 (X64)
    ??? Apr? 2 2010 15:48:46
    ??? Copyright (c) Microsoft Corporation
    ??? Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)

    10 パーセント処理されました。
    21 パーセント処理されました。
    31 パーセント処理されました。
    40 パーセント処理されました。
    50 パーセント処理されました。
    61 パーセント処理されました。
    71 パーセント処理されました。
    80 パーセント処理されました。
    90 パーセント処理されました。
    データベース ‘master’ の 376 ページ、ファイル 2 のファイル ‘master’ を処理しました。
    100 パーセント処理されました。
    データベース ‘master’ の 4 ページ、ファイル 2 のファイル ‘mastlog’ を処理しました。
    BACKUP DATABASE により 380 ページが 0.390 秒間で正常に処理されました (7.612 MB/秒)。

    Standard Edition でもバックアップ圧縮のオプションを設定しても正常にバックアップができています。
    バックアップは常に使用する機能ですので、Standard Edition でバックアップ圧縮が使えるようになったのはうれしいですね。
    Standard Edition でリソースガバナーを使うことができませんので、バックアップ中の CPU の利用状況の制限に関してはできません。

    こちらも Books Online に記載されています。

    バックアップ圧縮は SQL Server 2008 Enterprise で導入されました。
    SQL Server 2008 R2 以降、バックアップ圧縮は SQL Server 2008 R2 Standard 以上のエディションでサポートされています。
    圧縮されたバックアップは、SQL Server 2008 以降の各エディションで復元できます

    # ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.ja/s10de_4deptrbl/html/05bc9c4f-3947-4dd4-b823-db77519bd4d2.htm
    ?

  4. 共有フォルダにデータベースを配置

    SQL Server 2008 R2 では [共有フォルダにデータベースを配置] することが可能となりました。

    SQL Server 2008 で共有フォルダにデータベースを作ろうとすると以下のようなエラーとなります。

    CREATE DATABASE [TEST] ON? PRIMARY
    ( NAME = N’TEST’, FILENAME = N’127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10.SQL2008EXPRESSMSSQLDATATEST.mdf’ , SIZE = 3072KB , FILEGROWTH = 1024KB )
    LOG ON
    ( NAME = N’TEST_log’, FILENAME = N’127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10.SQL2008EXPRESSMSSQLDATATEST_log.ldf’ , SIZE = 1024KB , FILEGROWTH = 10%)
    GO

    メッセージ 5110、レベル 16、状態 2、行 1
    ファイル "127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10.SQL2008EXPRESSMSSQLDATATEST.mdf" が存在するネットワーク パスは、データベース ファイルでサポートされません。
    メッセージ 1802、レベル 16、状態 1、行 1
    CREATE DATABASE が失敗しました。一覧されたファイル名の一部を作成できませんでした。関連するエラーを確認してください。

    SQL Server 2008 R2 で実行すると正常に作成することが可能です。
    # Express Edition でも配置することが可能でした。

    CREATE DATABASE [TEST] ON? PRIMARY
    ( NAME = N’TEST’, FILENAME = N’127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008R2EXPRESSMSSQLDATATEST.mdf’ , SIZE = 3072KB , FILEGROWTH = 1024KB )
    LOG ON
    ( NAME = N’TEST_log’, FILENAME = N’127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008R2EXPRESSMSSQLDATATEST_log.ldf’ , SIZE = 1024KB , FILEGROWTH = 10%)
    GO

    コマンドは正常に完了しました。

    共有フォルダへのアクセスですが、[SQL Server のサービスアカウント] で実行されます。
    共有フォルダへアクセスできない場合は、以下のエラーになります。

    メッセージ 5133、レベル 16、状態 1、行 1
    オペレーティング システム エラー 5(アクセスが拒否されました。) により、ファイル "127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008R2EXPRESSMSSQLDATATEST.mdf" のディレクトリ参照に失敗しました。
    メッセージ 1802、レベル 16、状態 1、行 1
    CREATE DATABASE が失敗しました。一覧されたファイル名の一部を作成できませんでした。関連するエラーを確認してください。

    データベースの新規作成だけでなく、アタッチもすることができます。

    CREATE DATABASE TEST
    ON (FILENAME = N’127.0.0.1c$Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008R2EXPRESSMSSQLDATATEST.mdf’)
    FOR ATTACH

    クラスタの場合はこのようなエラーになります。
    クラスタの場合、共有フォルダではなく物理ディスクを使う必要があるようですね。
    # クラスタの共有ディスクに共有フォルダを設定しています。
     クラスタリソースの仮想コンピュータに関しては、[IPアドレス] のアクセスができないので [コンピュータ名] でアクセスしています。

    メッセージ 5184、レベル 16、状態 2、行 1
    クラスター サーバーにファイル ‘2008r2-wsfc-sqlgMSSQL10_50.MSSQLSERVERMSSQLDATATEST.mdf’ を使用できません。
    サーバーのクラスター リソースが依存関係を持つ、フォーマットされたファイルだけを使用できます。
    このファイルを含んでいるディスク リソースがクラスター グループに存在しないか、SQL Server のクラスター リソースが
    このファイルに依存していません。
    メッセージ 1802、レベル 16、状態 1、行 1
    CREATE DATABASE が失敗しました。一覧されたファイル名の一部を作成できませんでした。関連するエラーを確認してください。

    これについては最初に紹介しているブログの中に書かれているのですが、Books Online ではちょっと記載が見つけられませんでした。

?

ユーティリティ コントロール ポイント / データ層アプリケーション / PowerPivot のようなメジャーな新機能ではありませんが、
個人的には、どれも気になる機能でした。
まだ、たくさん新機能はありますので検証ができたタイミングで投稿したいと思います。

Written by Masayuki.Ozawa

5月 15th, 2010 at 1:51 pm

Posted in SQL Server

Windows Server 2008 以降で [ネットワーク アプリケーションのデータ スループットを最大にする] を設定

leave a comment

Windows Server 2003 では、[Microsoft ネットワーク用ファイルとプリンタ共有] のプロパティに、[サーバーの最適化] というタブがあり、
その中で、以下のような設定をすることが可能でした。
image

IIS や SQL Server のパフォーマンスチューニングで設定をすることがよくある項目ですね。
ネットワーク アプリケーションのデータ スループットを最大にする
データ スループットの最大化
[HOWTO] Windows Server 2003 で Web サーバーのパフォーマンスを最適化する
[HOW TO] Windows 2000 で Web サーバーのパフォーマンスを最適化する方法

Windows Server 2008 以降でもネットワークのプロパティに、[Microsoft ネットワーク用ファイルとプリンタ共有] はあるのですが、
[プロパティ] をクリックすることができなくなっています。
image

設定自体がなくなったのかといえば、そういうわけではなく GUI からではなくレジストリを変更して設定する必要があるようです。
# 2003 で GUI で変更した場合も、レジストリが変更されています。

レジストリ値に関しては、以下の技術情報に記載されています。
LargeSystemCache
Setting: maximize data throughput for network applications

  • HKLMSYSTEMCurrentControlSetControlSession ManagerMemory ManagementLargeSystemCache
  • HKLMSYSTEMCurrentControlSetServicesLanmanServerParametersSize

このレジストリの設定値の組み合わせで、[サーバーの最適化] の値が設定されているようです。

Windows Server 2003 / 2008 / R2 のデフォルトの組み合わせは [Maximize data throughput for file sharing] となっているので、
[ファイル共有のデータスループットを最大にする] になっています。

Windows Server 2008 以降ではレジストリを直接変更する必要があるので、ちょっと面倒ですね。

Written by Masayuki.Ozawa

5月 9th, 2010 at 11:23 am

Posted in Windows Server

ThinkPad x201i で Alcohol 52% を実行

leave a comment

本日はお休みをとっていたので、購入したばかりの ThinkPad x201i のセットアップをちょこちょことやっていました。

私は仮想 CD / DVD のソフトとして、Alcohol 52% Free Edition を使っています。
Alcohol 52% Free Edition

?

Daemon Tools の方が有名だと思いますが、以前から Alcohol 52% を使っていたのでなんとなくこのソフトを使い続けていました。

現在のバージョンは、2.0.0 (Build 1331) で、このバージョンは Windows 7 や Windows Server 2008 R2 が入っている ThinkPad T61 で
問題なく動いていたので、今回セットアップをしていた ThinkPad x201i にもインストールしました。

インストール自体は正常に完了し、いざ仮想ドライブを追加しようとしたらこのようなエラーが。

image?

—————————
Alcohol Emulation Core
—————————
アダプターを加えることができません。 デバイスの問題 12。BIOSのACPI機能は切られてはなりません。
—————————
OK??
—————————

?

他の Windows Server 2008 R2 では正常に動作していたので機種固有の問題のようですね。

Alcohol 52% や Daemon Tools では、[SCSI Pass Through Direct (SPTD)] というドライバが使用されているようなのですが、
Alcohol 52% の 2.0.0 では [1.62] というバージョンがインストールされています。

最新のバージョンは何なのかなと調べてみたところ、[1.69] というバージョンが最新のようでしたので、ひとまず SPTD を最新のものに更新してみました。
SPTD for Windows 2000/XP/2003/Vista/Windows 7

Windows 7 用であれば、大体 Windows Server 2008 R2 でも使えるはずなので、x64 用のものをダウンロードしてさっそくアップデート。
image

アップデート後、再起動して再度 Alcohol 52% で仮想ドライブを追加してみたところ、正常に追加することができました。
image

x201i + Windows Server 2008 R2 / Windows 7 ともに発生していたのですが、両 OS とも SPTD をアップデートすれば、エラーは発生しなくなりました。

TechNet / MSDN サブスクリプションのダウンロードメディアは ISO のため、仮想メディアをマウントできるソフトは頻繁に使うので、
新しいソフトを探すのは少し面倒だな~と思ったのですが、動作したのでよかったです♪

Written by Masayuki.Ozawa

5月 7th, 2010 at 1:44 pm

Posted in ツール

SQL Server 2008 R2 のフェールオーバークラスタのインストール その 3 – 2 ノード目のインストール –

leave a comment

続いて 2 ノード目のインストールです。

.NET Framework 3.5 SP1 とネットワークバインドの順序の手順は実施済みです。

■2 ノード目のインストール

  1. [Setup.exe] を実行します。
    image
  2. [インストール] → [SQL Server フェールオーバー クラスターにノードを追加します。] をクリックします。
    image
  3. [OK] をクリックします。
    image
  4. [次へ] をクリックします。
    image
  5. [ライセンス条項に同意する。] を有効にして、[次へ] をクリックします。
    image
  6. ? [インストール] をクリックします。
    image
  7. [次へ] をクリックします。
    image
  8. ノードを追加するインスタンスを選択し、[次へ] をクリックします。
    image
  9. サービスアカウントのユーザーのパスワードを入力し、[次へ] をクリックします。
    image?
  10. エラー レポートの設定をして、[次へ] をクリックします。
    image
  11. [次へ] をクリックします。
    image
  12. [インストール] をクリックします。
    image
    image
  13. [閉じる] をクリックします。
    image

以上で 2 ノード目のインストールは完了です。
実行可能な所有者として、ノードが追加されています。
image

2 ノード目には、BIDTS と SSMS も一緒にインストールされていますね。
?image

SQL Server 2008 R2 のデータベースエンジンのクラスタのインストールは以上で完了です。
CTP と同一の手順でインストールが可能ですね。

今までの投稿で書いていなかった内容もいくつかあったので、クラスタのインストールを補完するいい機会でした。

Written by Masayuki.Ozawa

5月 5th, 2010 at 6:48 am

Posted in SQL Server

SQL Server 2008 R2 のフェールオーバークラスタのインストール その 2 – 1 ノード目のインストール –

leave a comment

ネットワークのバインド順序の設定は実施済みの状態です。
SQL Server 2008 R2 のクラスターインストール時のネットワークバインド順序の警告について

■.NET Framework 3.5 SP1 のインストール

SQL Server 2008 R2 は .NET Framework 3.5 SP1 が必要になります。
image

Windows Server 2008 R2 の場合、.NET Framework 3.5 SP1 は機能の追加からインストールすることができます。
SQL Server のインストールメディアの [redistDotNetFrameworks] に .NET Framework のセットアップが含まれていますが、
Windows Server 2008 R2 では、管理ツールから追加するようにメッセージが表示されます。
image

  1. サーバー ネージャーから [機能の追加] をクリックします。
    image
  2. [.NET Framework 3.5.1] を有効にし、[次へ] をクリックします。
    image
  3. [インストール] をクリックします。
    image
  4. [閉じる] をクリックします。
    image?

?

■共有ディスクの準備
インストールを実行しているノードが利用可能な共有ディスクを持っていない場合、インストール時に以下のエラーとなります。

image

事前に、SQL Server をインストールするためのクラスタグループを作る場合は、そのグループに共有ディスクを割り当て、
インストールを実行しているノードに移動すればよいのですが、事前にグループを作成しない場合は、[使用可能記憶域]
インストールを実行するノードに移動させる必要があります。

このクラスタグループですが GUI からは移動ができないのでコマンドで移動をさせます。

cluster group “使用可能記憶域” /move:%computername%

?

■コンピュータアカウントの準備

事前にコンピュータアカウントを作成しておく場合は適切な状態にする必要があります。
# コンピュータアカウントの新規作成になる場合は、クラスターのコンピュータアカウントで SQL Server のコンピュータアカウントが作成されます。

コンピュータアカウントを事前に作成していて、適切な設定がされていない場合は、インストールの最後で以下のエラーが発生します。

image?
image

コンピュータアカウントの事前準備は DTC の場合と同じです。

  1. コンピュータアカウントを作成します。?
  2. 作成したコンピュータアカウントを [無効] にします。?
  3. 作成したコンピュータアカウントに [クラスタのコンピュータアカウントのフルコントロール] を設定します。

ここまで終われば事前準備完了です。

■SQL Server 2008 R2 クラスタ環境のインストール

  1. インストールメディアの [setup.exe] を実行します。
    image
  2. [インストール」→ [SQL Server フェールオーバー クラスターの新規インストール] をクリックします。
    image
  3. [OK]? をクリックします。
    image
  4. [次へ] をクリックします。
    image
  5. [ライセンス条項に同意する] を有効にし、[次へ] をクリックします。
    image
  6. [インストール]? をクリックします。
    image
  7. [次へ] をクリックします。
    image
  8. 必要な機能を選択して、[次へ] をクリックします。
    # 今回は、データベースエンジンで必要な機能をインストールしています。
    image
  9. [SQL Server のネットワーク名] を入力して、[次へ] をクリックします。
    ネットワーク名が SQL Server のクラスタのコンピュータ名になります。
    インスタンスに関しては用途に応じて設定します。今回は既定のインスタンスでインストールをしています。
    image
  10. [次へ] をクリックします。
    image
  11. SQL Server をインストールするクラスタのグループ名を入力し、[次へ] をクリックします。
    # プルダウンはコンボボックスなので入力可能です。以下の画像はデフォルトで設定されているグループ名になります。
    image
  12. SQL Server をインストールする共有ディスクを選択し、[次へ] をクリックします。
    image
  13. SQL Server のクラスタで使用する IP アドレスを設定し、[次へ] をクリックします。
    今回は DHCP を使用しています。
    image
  14. セキュリティで使用する ID を選択し、[次へ] をクリックします。
    今回は Windows Server 2008 R2 を使っていますので、サービス SID が使用できます。
    Windows Server 2003 の場合は、ドメイングループが必要となります。
    # ドメイングループを使用する場合は、この後で設定するサービスアカウントをグループのメンバーとして追加しておく必要があります。
    image
  15. サービスで使用する [ドメイン ユーザー] を設定します。
    # [SQL Server Agent] と [SQL Server Database Engine] はドメイン ユーザーで実行する必要があります。
    image?
  16. 必要に応じて [照合順序] を設定し、[次へ] をクリックします。
    # デフォルトは [Japanese_CI_AS] になっています。
    日本語環境なので、[Japanese_XJIS] に変更しています。
    ?image
  17. インストール後の SQL Server の管理者ユーザーを設定し、[次へ] をクリックします。
    # データディレクトリと FILESTREAM はお好みで変更します。
    image
    image
    image
  18. エラーレポートの設定をし、[次へ] をクリックします
    image?
  19. [次へ] をクリックします。
    image?
  20. [インストール] をクリックします。
    image
    image
  21. [閉じる] をクリックします。
    image

以上で 1 ノード目のインストールは完了です。
image?

現在は、まだ 2 ノード目のインストールはしていないので、実行可能な所有者はインストールを実行したノードのみになっています。
image

次の投稿で 2 ノード目の追加についてまとめてみます。

Written by Masayuki.Ozawa

5月 5th, 2010 at 5:57 am

Posted in SQL Server

SQL Server 2008 R2 のフェールオーバークラスタのインストール その 1 – MSDTC のリソース作成 –

leave a comment

SQL Server 2008 R2 の日本語版 RTM がダウンロードできるようになったので、さっそくクラスタのインストールをまとめてみたいと思います。
# 私のブログに期待されているのはこの内容だと思いますので。

まずは、MSDTC のリソース作成から。
今までまとめたことなかったみたいなんですよね。

WSFC のコアクラスタリソースに関しては構築が完了しています。
コンピュータ名等に関しては以下の図のようになっています。
# 2008R2-WSFC-01 がクラスタのコンピュータ名になります。

image

■MSDTC 作成前の準備

MSDTC のリソース作成時に [共有ディスク] [コンピュータアカウント] [IP アドレス] が必要となります。

  • 共有ディスク
    共有ディスクに関しては、クラスタで使用可能なディスクとして [使用可能記憶域] に割り当てをしておきます。
    クォーラムディスクと違って DTC で使用するディスクはドライブ文字が必要になります。
    image
  • コンピュータアカウント
    [コンピュータアカウント作成権限の委任][Account Operators] を付与している場合は特に準備は必要ないのですが、
    事前にコンピュータアカウントを作成しておく場合は、適切な設定をしておく必要があります。
    1. コンピュータアカウントを作成します。
      image
    2. 作成したコンピュータアカウントを [無効] にします。
      image
      image
    3. 作成したコンピュータアカウントに [クラスタのコンピュータアカウントのフルコントロール] を設定します。
      image?

以上でコンピュータアカウントの設定は完了です。
事前にコンピュータアカウントを作成している場合、適切な設定がされていないと DTC のサービスを作成する際に以下のエラーがとなります。
image?

コンピュータアカウントを事前に作成していない場合は、[Computers] のコンテナにコンピュータアカウントが作成されます。
# 作成されるコンピュータアカウントの [ms-DS-Creator-SID] はクラスタのコンピュータアカウントになっていますので、
  クラスタのコンピュータアカウントを利用して DTC のコンピュータアカウントを作成しています。
この場合は、[フルコントロール] ではなく必要となりそうな権限のみが付与されているようですので、厳密には [フルコントロール] である
必要はないんでしょうね。

  • IP アドレス
    MSDTC には IP アドレスのリソースが必要になりますので、割り当て可能な IP アドレスを事前に準備しておきます。
    今回は DHCP で作ってしまっているので、固定 IP は用意していません。

以上で事前準備は完了です。

続いて MSDTC のリソースを作成します。

■MSDTC の作成

フェールオーバークラスターマネージャーで MSDTC のリソースを作成します。

    1. [操作] → [サービスまたはアプリケーションの構成] をクリックします。
      image
    2. [次へ] をクリックします。
      image
    3. [分散トランザクションコーディネーター (DTC)] を選択し、[次へ] をクリックします。
      image
    4. [名前] を設定し、[次へ] をクリックします。
      # 以下の名前は、自動で設定されていたものです。また、固定 IP を使っている場合はここで設定することになったはずです。
      [名前] に入力したものが DTC のコンピュータアカウントとなります。
      image
    5. DTC で使用するディスクを選択して、[次へ] をクリックします。
      image
    6. [次へ] をクリックします。
      image
    7. [完了] をクリックします。
      image
      ?

以上で、MSDTC のリソース作成は完了です。
image?
# [名前] の状態が [オンライン (名前解決はまだ使用できません)] となっている場合は、DTC のコンピュータリソースの DNS 登録がされていない
??? 可能性がありますので、DNS の登録状況を確認します。
? [ipconfig /registerdns] や、コンピュータ名リソースのオフライン→オンラインを実行すると解消できると思います。

作成した DTC は [クラスター化された DTC] として設定がされます。
# 以下はコンポーネント サービスの表示内容です。

作成した DTC のプロパティを開き、セキュリティの設定をしておきます。
このセキュリティの設定はいろいろな情報を見てこれかな~といったレベルの設定ですので、ベストプラクティスではありません…。
# DTC のリソースを保持していないノードだと、コンピューター展開しても反応がない可能性があります。
 その場合は、リソースを保持しているノードまたは、サービスを操作するノードに移動して設定をします。
??? 一度サービスを保持していれば、リソースが他のノードに移動しても設定はできるみたいなんですけどね。
image

image
image
image?

これで SQL Server をインストールする際に必要な DTC のリソースを作成することができました。
次の投稿で SQL Server のインストールをしたいと思います。

Written by Masayuki.Ozawa

5月 5th, 2010 at 3:14 am

Posted in SQL Server

WSFC のバックアップとリストア その 3 – 全損時のサーバーのベース部分のリストア –

leave a comment

リストアですがまずは、サーバーのベース部分のリストアについてまとめてみました。
この手順に関してはクラスタ特有の内容はないですね。

■サーバーの全損の再現

全損状況の再現として、iSCSI の共有ディスクとして使用していた LUN は一度削除して再作成しています。
各ノードの内蔵ディスクに関しては、DISKPART で Clean を実行して一度クリアした状態にしてあります。

?

■サーバーのベース部分のリストア

サーバーのベース部分 (内蔵ディスク) のリストアに関しては通常のベアメタル回復と同じです。
今回の環境には、DHCP サーバーがあるため [NETSH コマンド] を使用した、IP アドレスの設定に関しては省略しています。
今まで、ベアメタル回復の手順はまとめたことがなかったのでこの機会にまとめてみました。

  1. OS のインストールメディアをセットし起動します。
  2. [次へ] をクリックします。
    image
  3. [コンピューターを修復する] をクリックします。
    image
  4. [以前に作成したシステム イメージを使用して、コンピューターを復元します。] を選択して、[次へ] をクリックします。
    image
  5. [キャンセル] をクリックします。
    image
  6. [システム イメージを選択する] を選択し、[次へ] をクリックします。
    image
  7. [詳細設定] をクリックします。
    image
  8. [ネットワーク上のシステム イメージを検索する] をクリックします。
    image
  9. [はい] をクリックします。
    image?
  10. バックアップの取得先を入力し、[OK] をクリックします。
    image
  11. 資格情報の入力が求められた場合は、資格情報を入力します。
    image
  12. リストアするバックアップを選択し、[次へ] をクリックします。
    image
  13. バックアップを選択して、[次へ] をクリックします。
    image
  14. [次へ] をクリックします。
    image
  15. [完了] をクリックします。
    image
  16. [はい] をクリックします。
    image?
  17. リストアが開始されます。
    image?
  18. [今すぐ再起動する] をクリック
    します。
    image
  19. ログイン画面が表示されればベース部分のリストアは完了です。
    image

上記の手順は、共有ディスクの所有者だったサーバーをリストアした場合のものになります。
共有ディスクの所有者でなかった場合、一部画面が表示されないことがありますが基本的な手順は同じになります。

次の投稿で、共有ディスクのリストアについてまとめていきたいと思います。

Written by Masayuki.Ozawa

5月 3rd, 2010 at 4:28 pm

Posted in MSCS/WSFC(MSFC)

WSFC のバックアップとリストア その 2 – 全損時に備えたバックアップの取得 –

leave a comment

続いては全損時に備えたバックアップの取得です。

全損時に備えたバックアップとしてはクラスターの構成情報のバックアップだけでなく、共有ディスクのバックアップも
取得する必要があります。
共有ディスクのバックアップについていろいろと検証してみたところ、バックアップの設定に少し癖がありそうでした。

■共有ディスクのバックアップ取得の注意点

Windows バックアップで共有ディスクを選択することは可能ですが、バックアップのスケジューリング時に共有ディスクを
選択できるのは、設定時にディスクを所有しているノードだけになります。

image

上記の図のような状態になっている場合、共有ディスクのバックアップのスケジューリングを設定できるのは、[NODE-1] だけになります。
[NODE-2] に関しては、ディスクの所有者でないため、バックアップの取得対象として設定できません。

そのため、バックアップを設定したノードから共有ディスクがフェールオーバー等で移動すると以下の図のようなバックアップ取得となります。
image

このとき、Windows Server バックアップの GUI でスケジューリングをしていた場合 [NODE-1] で、スケジュールが実行されると
共有ディスクのバックアップは、[見つからないボリューム] として対象のボリュームのバックアップだけスキップされます。
# Windows Server バックアップの GUI でスケジューリング設定した [wbadmin] は [-template] というオプションで実行されます。
? このオプションで実行されているバックアップの場合、存在しないボリュームのバックアップはスキップされます。
image? image

?

この存在しないボリュームがスキップされるという動作ですが、wbadmin を [-template] のオプションで設定しているバックアップでないと、
存在しないボリュームのバックアップが実行されると一部のボリュームだけスキップされるという動作はされず、バックアップ全体がエラーとなってしまいます。
image?

?

■ディスクを所有しているノードを意識しないでバックアップを取得する方法

昨日まででここまでは検証ができていたのですが、ディスクを所有しているノードを意識しないでバックアップをスケジューリングする方法が
思い浮かばずに悶々としていましたのですが、ものすごい単純な方法で解決ができることについ先ほど気づきました。

以下の手順で、バックアップのスケジュールを設定すればよかったんですね。

  1. [NODE-1] が共有ディスクの所有者になるようにクラスタのリソースを移動
  2. [NODE-1] で [Windows Server バックアップ] を起動
    image
  3. [Windows Server バックアップ] の GUI の [バックアップ スケジュール] を実行
    image
  4. [サーバー全体] または、共有ディスクも含めてバックアップを取得するように設定
    image
    GUI からスケジュールを設定すると、タスクスケジューラには、[wbadmin.exe] を [templateId] というオプションで実行されるタスクが登録されます。
    image
  5. [NODE-2] が共有ディスクの所有者になるようにクラスタのリソースを移動
  6. [NODE-2] で [Windows Server バックアップ] を起動
  7. [Windows Server バックアップ] の GUI の [バックアップ スケジュール] を実行
  8. [サーバー全体] または、共有ディスクも含めてバックアップを取得するように設定

この方法でバックアップのスケジューリングをすると、共有ディスクを所有しているノードを意識せずにバックアップが取得できるようになります。

[NODE-1] が共有ディスクを所有している場合の動作
image

[NODE-2] が共有ディスクを所有している場合の動作
image?

気づいてみたら単純な方法ですね。
各ノードが共有ディスクを所有している状態でバックアップを設定すればよかったんですよね。

この方法でクラスターが全損した場合もリストアできる状態のバックアップを取得することができます。

次の投稿ではサーバー、共有ディスクが全損した状態からのバックアップのリストアまとめてみたいと思います。

Written by Masayuki.Ozawa

5月 3rd, 2010 at 2:13 pm

Posted in MSCS/WSFC(MSFC)