SE の雑記

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

Archive for 10月 17th, 2009

SQL Server 2008 R2 CTP のフェールオーバークラスタのインストール その 1

without comments

SQL Server 2008 R2 August CTP でクラスタのインストールを試してみました。

  1. [Installation] → [New SQL Server failover cluster installation] をクリックします。
    image
  2. [OK] をクリックします。
    image?
  3. [Next] をクリックします。
    image
  4. [I accept the license terms.] を有効にして、[Next] をクリックします。
    image
  5. [Install] をクリックします。
    image
  6. [OK] をクリックします。
    image
  7. [Next] をクリックします。
    image
  8. インストールする機能を選択し、[Next] をクリックします。
    ?image
  9. SQL Server の仮想ホスト名とインスタンス名を入力し、[Next] をクリックします。
    image
  10. [Next] をクリックします。
    image
  11. SQL Server で使用するクラスタグループを入力または選択し、[Next] をクリックします。
    image
  12. SQL Server で使用するディスクを選択し、[Next] をクリックします。
    image
  13. SQL Server で使用する IP アドレスを設定し、[Next] をクリックします。
    image
  14. サービス SID またはドメイングループを設定し、[Next] をクリックします。
    image
  15. SQL Server のサービス用のアカウントと照合順序を設定し、[Next] をクリックします。
    R2 でも日本語の照合順序の最新は [Japanese_XJIS_100] のようです。
    まだ CTP の段階ですので RTM では増えているかもしれませんが。
    また、データベースエンジンのみのインストールの時はAnalysis Services の照合順序の設定はなくなったようです。
    image image
  16. SQL Server の管理者アカウントとデータファイルのパス、FILESTREAM の設定をし、[Next] をクリックします。
    image image
    image
  17. CEIP の設定をし、[Next] をクリックします。
    今回使用しているのは CTP ですのでデフォルトは有効になっています。
    image
  18. [Next] をクリックします。
    今回はサポートファイルをインストールした際に再起動しなかったので警告が表示されていました。
    警告なら大丈夫かなということで次に進んでみます。
    image
  19. [Install] をクリックします。
    image image
  20. [OK] をクリックします。
    image
  21. [Next] をクリックします。
    image
  22. [Close] をクリックします。
    image
  23. [OK] をクリックします。
    image

R2 のクラスタのインストールは SQL Server 2008 と同じですね。
ノードの追加はその 2 で検証したいと思います。

Written by Masayuki.Ozawa

10月 17th, 2009 at 2:44 pm

Posted in SQL Server

SQL Server 2008 のフェールオーバークラスタのインストール その 2

without comments

作成したクラスタにノードの追加作業です。

以下の画像は、インストール直後のクラスタ化された SQL Server のサービスのリソースのプロパティになります。
image

インストール直後はクラスタを形成する他のノードには SQL Server がインストールされていないため、
実行可能な所有者には SQL Server のクラスタをインストールしたノードのみが表示されています。

このままでは耐障害性がありませんのでノードを追加していきます。

[SQL Server 2008 ノードの追加]

以下の作業は追加するノードで実行します。

  1. スリップストリーム セットアップの手順でインストーラーを起動します。
    単純にメディアインストールしてしまうと更新プログラムが適用されていない状態となりますので、
    ノードの追加もスリップストリーム セットアップで実行します。
  2. [プログラムを実行する] をクリックします。
    image
  3. [インストール] → [SQL Server フェールオーバー クラスタにノードを追加します] をクリックします。
    image
  4. [プログラムを実行する] をクリックします。
    image
  5. [OK] をクリックします。
    image
  6. [インストール] をクリックします。
    image
  7. [次へ] をクリックします。
    image
  8. [次へ] をクリックします。
    image
  9. [使用許諾契約書に同意する] を有効にし、[次へ] をクリックします。
    image
  10. ノードを追加するインスタンスをプルダウンから選択し、[次へ] をクリックします。
    下のリストで選択しても追加するインスタンスを選択したことにはなりませんので注意が必要です。
    image
  11. サービスの起動アカウントのパスワードを入力し、[次へ] をクリックします。
    image
  12. CEIP の設定をし、[次へ] をクリックします。
    image
  13. [次へ] をクリックします。
    image
  14. [インストール] をクリックします。
    スリップストリーム セットアップなので、アクションに [スリップストリーム] と表示されています。
    image image
  15. [次へ] をクリックします。
    image
  16. [閉じる] をクリックします。
    image

クラスタの管理コンソールから詳細なポリシーを表示するとノードが追加されていることが確認できます。

image

SSMS のインストールはされなかったような気がしていたのですが一緒にインストールされていました。
image

BOL はインストールされていないので手動でインストールする必要があります。
BOL はインストールメディアの内容は古いものになりますので最新版をダウンロードして
インストールするほうがよいと思います。

投稿時点の BOL の最新は以下のものになります。
Microsoft SQL Server 2008 オンライン ブック (2009 年 7 月)

SQL Server 2008 のクラスタ構築の基本手順は以上になります。
今度は、SQL Server 2008 R2 August CTP のクラスタ構築を試してみたいと思います。

Written by Masayuki.Ozawa

10月 17th, 2009 at 1:10 pm

Posted in SQL Server

SQL Server 2008 のフェールオーバークラスタのインストール その 1.5

without comments

その 2 でノードの追加手順を書こうと思っていたのですが、クラスタのインストールで補足して書いておきたい
内容がありましたので 1.5 として補足編を。

[インストール時に使用できるディスク]

クラスタの共有ディスクはインストーラーを実行しているノードがリソースを保有している必要があります。
ノードがディスクを保有していない場合、セットアップのルールチェックで以下のエラーとなります。
image

事前に SQL Server をインストールしているグループを作って、ディスクリソースをグループに割り当てている場合は、
ノードの移動で、インストーラーを起動しているノードにグループを移動します。

image

ただし、グループにディスクを割り当てていない時にディスクが割り当てられている [使用可能記憶域] に
ディスクが存在している場合は GUI からはディスクを特定のノードに移動させることができません。

image

今は [2008R2-NODE-02] にディスクが割り当てられていますが、インストーラーは [2008R2-NODE-01] で実行しています。
ディスクを移動させるためにはコマンドで移動させます。
# コマンドプロンプトは管理者として実行する必要があります。

>cluster group "使用可能記憶域" /MOVETO:%COMPUTERNAME%

リソース グループ ‘使用可能記憶域’ を移動しています…

グループ???????????? ノード????????? 状態
——————– ————— ——
使用可能記憶域????????????? 2008R2-NODE-01? オンライン

使用可能記憶域の実体はクラスタグループなので、グループの移動をすることで未割当の共有ディスクを
所有しているノードが変更できます。

[SQL Server 仮想ホストのコンピュータアカウント]

事前にコンピュータアカウントを作成していない場合、SQL Server の仮想ホストは [Computers] に作成されます。
image?
image

このとき、コンピュータアカウントは WSFC の仮想コンピュータが作成を行っています。
今回、クラスタは [2008R2-WSFC-01] としていますので、[SQL-WSFC-01] の作成者は [2008R2-WSFC-01] になります。
作成者は、属性エディタや ADSI Edit で [mS-DS-CreatorSID] を表示すると確認できます。
[mS-DS-CreatorSID] に表示されている SID が作成者の SID ですので [objectSid] が表示内容になっているものが
作成に使われたアカウントになります。

image

2008 のクラスタを構築する際にコンピュータアカウントを事前に作成しておく場合は、コンピュータアカウントに
クラスタを構築する際に使用しているドメインユーザーのフルコントロールを付与しますが、SQL Server の
クラスタの場合には、WSFC の仮想コンピュータ名のフルコントロールを付与しておきます。

事前にコンピュータアカウントを作成していない場合に、自動で作成されるコンピュータアカウントにはフルコントロールは
付与されていないのですが、事前に作成する場合はフルコントロールがないと、コンピュータ名のリソースがオンラインにできませんでした。
自動作成の時と同じ権限を付与して試したのですが、コンピュータアカウントのパスワードリセットができずにエラーとなっていました。
コンピュータアカウントのパスワード関連の権限も付与してはいたのですが。

以下の画像が事前にコンピュータアカウントを作成した場合に、WSFC の仮想コンピュータアカウントにフルコントロールを
付与した設定になります。
コンピュータアカウントに権限を付与しているのでユーザー名は [2008R2-WSFC-01$] となっています。
# コンピュータアカウントを指定する場合は最後に [$] が入ります。

image

[サービス SID とドメイングループ]

インストールするときにサービス SID を使うかドメイングループを使うかの選択がありますが、どこに使われているかというと
フォルダのアクセス権やディレクトリのアクセス権で使用されています。

左がサービス SID を使用する設定でインストールしたインスタンスのデータディレクトリのアクセス権、
右がドメイングループを使用する設定でインストールしたインスタンスのデータディレクトリのアクセス権になります。
# ドメイン名は塗りつぶしています。

image image

[MSSQL$INSTANCE1] となっていますが実際には、[NT ServiceMSSQL$INSTANCE1] となります。
Windows サービス アカウントの設定

Vista ごとはサービスも SID が持て、特定のサービスがアクセスできる領域を制限することができます。
今まではサービスの起動アカウントに対して権限が付与されていましたが、サービス自体にセキュリティを
付与することができるようになっています。

サービス SID はイベントビューアの evt ファイルのセキュリティなどにも使われており、以下はアプリケーションログの
ファイルのセキュリティですが、[eventlog] という [Windows Event Log] サービスのサービス SID にアクセス権が
設定されています。

image

サービスをさらに低い権限で動かすためにサービス SID は使われているようです。

ドメイングループを使用する場合、ドメイングループの中に SQL Server のサービス起動アカウントを事前に
メンバとして追加しておくとよいかと思います。
インストールをしているユーザーにメンバの変更権限がない場合、インストール中にエラーとなるためです。
プロダクション環境にインストールする際、Active Directory の管理者権限を持つユーザーでインストールが
できないのであれば、検証時にも低い権限のユーザーでインストールを試した方がよいかと。

次の投稿でノードの追加をまとめてみたいと思います。

Written by Masayuki.Ozawa

10月 17th, 2009 at 10:38 am

Windows 7 で LCD-8000U を使う方法

without comments

Century の LCD-8000U を Windows 7 で使用する方法です。
いまいち表示できるようになる理由がわかっていないのですがメモとして。
# ITPro 以外の方も見るかも知れないので、手順としてまとめてみました。

この辺は自作 PC を作っている方とかは詳しいのでしょうね。
H/W は HP ML115 と ThinkPad しか使っていないので機器が使えない時の対処方法は疎いです。
四苦八苦してようやく表示できるようになったので今回の投稿を書いているのですが、既に某掲示板では
解決方法が投稿されていたようで…。某掲示板てあまり見ないので気づきませんでした。

LCD-8000U で使用するドライバは DisplayLink のドライバになります。
USB Display で広く使われているみたいですね。

この投稿を書いている時点では正式版はなく、RC 版になります。
5.2RC Driver Now Available
# 下にスクロールすると [5.2RC] がダウンロードできます。

ダウンロードしたドライバをインストールします。

image?

インストール後に拡張表示にしようと、[画面の解像度] から [複数のディスプレイ] を [表示画面を拡張する] に
設定して、[OK] をクリックすると [ディスプレイの設定を保存できません] となり、拡張表示の設定を確定できません。

?image image

# [画面の解像度] は デスクトップを右クリックすると表示できます。

image

KB では以下の内容が該当すると思うのですが、外部モニタは一つなんですよね。
Windows 7 を実行しているラップトップ コンピューターで 3 つ以上の表示を使用しようとする表示設定を構成すると、エラー メッセージ: 表示の設定を保存できません"

デバイスドライバを変更すると設定を保存できるようになります。

デバイスドライバの表示は [コンピュータ] を右クリックして [管理] から確認できます。

image?image

[モニター] の [汎用非 PnP モニター] が LCD-8000U で使用しているモニターになります。

image

このディスプレイを変更するので右クリックして [ドライバー ソフトウェアの更新] を開きます。

image

[コンピュータを参照してドライバー ソフトウェアを検索します] をクリックします。

image

[コンピューター上のデバイス ドライバー一覧から選択します] をクリックします。

image

[互換性のあるハードウェアを表示] のチェックをはずします。

image

[(標準モニターの種類)] のカテゴリ以外のドライバを適当に選択し、[次へ] をクリックします。
標準モニター以外で最初に選べる、[Acer] の [Acer 1455] でも OK です。

image

[閉じる] をクリックします。

image?

再度 [画面の解像度] を表示して、[表示画面を拡張する] を選択し、[OK] をクリックします。

image

[(標準モニターの種類)] のカテゴリ内のモニターと LCD-8000U の相性が悪いのか、
USB モニタとの相性が悪いのかは分からないのですが、これで拡張表示が可能になります。

Vista の時はモニターは [DisplayLink Device] となっていたようです。

image

英語版の Windows 7 で LCD-8000U を使っていても、モニターを変更しないと拡張表示ができませんでした。
他の USB モニタを使用している場合は発生しない現象なんでしょうかね ??

Written by Masayuki.Ozawa

10月 17th, 2009 at 2:15 am

Posted in Windows Client