Denali CTP3 の AlwaysOn は 2 種類あり今までブログで紹介をしていた新しい可用性の構成である
と今までの SQL Server で使用していたフェールオーバークラスター (WSFC) を拡張した
の 2 種類があります。
AlwaysOn Failover Clustering ではマルチサブネットのクラスターを構築できるようになったほかに、共有ディスクを使用しないクラスターを構築できるようになりました。
Shared cluster disks, or SMB file share used for the SQL Server database and log storage
今回はこの構成についてみていきたいと思います。
■共有フォルダを使用した SQL Server のインストール
SQL Server 2008 R2 から、共有フォルダにデータベースのファイルを配置する構成をとることができるようになりました。
Denali CTP3 では、この構成がクラスター環境でも構築できるようになりました。
通常のクラスター構成は以下のようになります。
共有ディスク上にデータベースを配置してクラスター内のノードからアクセスを行います。
# 実際にデータベースにアクセスができるのはディスクの所有権を持っている 1 ノードのみですが。
Denali CTP3 ではこの共有ディスクの代わりに共有フォルダを使用してクラスターが組めるようになりました。
クラスター クォーラム構成で共有ディスクを使用しない設定にすることで共有ディスクを一切使わないクラスター環境の構築も可能となります。
従来の SQL Server のクラスターでは共有ディスクが必須となっていたのでインスタンスの数は設定できるドライブ文字の影響を受けていましたが共有フォルダを使用した場合はドライブ文字の制限が関係なくなってきます。
実際の設定を見ていきたいと思います。
SQL Server のセットアップですが [ローカルの Administratos] グループに所属している [ドメインのユーザー] で実行する必要があります。
ドメインユーザー以外でセットアップを実行していると、インストールの途中で
のエラーが出力されました。
どこにアクセスをしているかを確認していたところ、ドメインコントローラーに対してアクセスを行い拒否されているようでした。
データの保存場所の指定ですが Denali CTP3 では使用する共有ディスクを指定しなくてもセットアップを進めることができるようになっています。
セットアップを進めていき、データディレクトリを設定する際に以下のような指定が可能です。
共有フォルダをデータディレクトリとして使用するときには条件が 2 つあります。
一つが [共有フォルダに対して SQL Server のサービスアカウントがフルコントロールを持っているか] になります。
次へをクリックした際に、SQL Server のサービスアカウントが対象の共有ディレクトリのフルコントロールを持っているかの確認が表示されますが、インストールを継続して実行することができます。
もう一つが、セットアップを起動したユーザーが共有フォルダのサーバーに対して、[監査とセキュリティ ログの管理] (SeSecurityPrivilege) の権限が付与されている必要があります。
この権限が付与されていない場合は以下のエラーになります。
共有フォルダを設定しているサーバーで [ローカル セキュリティ ポリシー] を実行して、[ローカル ポリシー] → [ユーザー権利の割り当て] → [監査とセキュリティ ログの管理] にセットアップを実行しているユーザーを追加する必要があります。
以上で設定は完了です。
インストールを継続していくと共有フォルダを使用してクラスターのインスタンスを構築することが可能となります。
また、Denali
CTP3 では以下のような構成を設定することも可能です。
システムデータベースとユーザーデータベースは共有フォルダ (または共有ディスク) に配置する必要があるのですが tempdb に関してはサーバーのローカルディスクに配置することが可能になっています。
# SQL Server 2008 / R2 でもトレースフラグを設定することでローカルのディスクに tempdb を配置することができたのですが、Denali CTP3 ではトレースフラグを設定しなくても可能になりました。
このあたりの構成はマルチサブネットクラスタ等で使う機会があるかも知れないですね。
2011/8/15 追記
SQL Server インストールの新機能 / SQL Server "Denali" のインストールに必要なハードウェアおよびソフトウェア によると以下の制限があるそうです。
SMB ファイル共有は、SMB ファイル共有に対して Windows Server 2008 または Windows Server 2008 R2 のファイル サーバーが使用される場合にのみサポートされます。
共有フォルダにデータベースを配置する場合、Windows のファイルサーバーを使用しないとサポートされないみたいですね。
SQL Serverのクラスタ構成に、UNC名で始まる共有フォルダを使うことを使うことが出来るようになるんだね。かなりの衝撃です。高性能は求められないけど高可用性が求められることはよくあるし、デモ環境・検証環境としては非常に便利になるね。次はHyper-Vでも共有フォルダでのクイックマイグレーション・ライブマイグレーションが出来るようになるといいな。(講習会場ではやっていましたが)
Shimizu Noriaki
31 7月 11 at 06:38