SE の雑記

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

Exchange 2010 追加時の CAS リダイレクト

leave a comment

Exchange 2010 を追加した際の OWA の遷移を確認したくて、昨日以下の環境を構築していました。
Exchange 2010 で共存可能な Exchange を各バージョン 1 台用意し、クライアントを準備した環境です。

?image

?

海外だと Redirect や Proxy といった形で、[legacy.contoso.com] に転送する設定について、いくつか情報が紹介されています。
Transitioning Client Access to Exchange Server 2010
Exchange 2010: Proxy or Redirect?
Understanding Proxying and Redirection

まずは設定なしの状態で各 Exchange の OWA にアクセスした場合のリダイレクト状況を確認したいと思います。
# AD に証明書サービスをインストールし 、全サーバー HTTPS でアクセス可能にしています。
??? HTTP だけでしかアクセスできない場合は、挙動が変わってしまうんですよね…。

■Exchange Server 2003 の OWA を起点とした場合

アクセス URL : https://cas-2003-01.exchange.local/exchange

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    ????? image?

    この場合は、Exchange 2003 の OWA でログインされます。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    ?image

    複数のサーバーを経由して Exchange 2007 の OWA が使用可能になります。

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス
    ?image
    Exchange 2010 にリダイレクトされて、Exchange 2010 の OWA が使用可能になります。

■Exchange Server 2007 の OWA を起点とした場合

アクセス URL : https://cas-2007-01.exchange.local/owa

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2003 にリダイレクトされずにエラーとなります。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    image?

    この場合は、Exchange 2007 の OWA でログインされます。

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2010 にリダイレクトされずにエラーとなります。

アクセス URL : https://cas-2007-01.exchange.local/exchange

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    image

    ダイアログによる認証を経由して、Exchange 2003 のフォーム認証にリダイレクトされます。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2010 にリダイレクトしてから Exchange 2007 の OWA にアクセスがされます。
    ?

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス

    image?

    ダイアログによる認証を経由して 2010 の OWA にアクセスがされます。

■Exchange Server 2010 の OWA を起点とした場合

アクセス URL : https://cas-2010-01.exchange.local/owa

  1. Exchange 2003 にメールボックスを持つユーザーで OWA にアクセス

    ?image

    この場合はリダイレクトされずエラーになります。

  2. Exchange 2007 にメールボックスを持つユーザーで OWA にアクセス

    image

    Exchange 2007 リダイレクト時に再認証は発生しないで Exchange 2007 の OWA にアクセスできます。

  3. Exchange 2010 にメールボックスを持つユーザーで OWA にアクセス

    image

    この場合は、Exchange 2010 の OWA でログインされます。

Exchange 2010 の場合、[/owa] と [/exchange] は同一ですので、投稿に結果は省略しています。
# パターンは試しましたが、[/owa] と一緒の結果でした。

■まとめ

今回アクセスした URL とユーザーのアクセス結果を表にまとめてみました。
Exchange 2003 の OWA でアクセスすると複雑な経路になりますね…。

URL

2003

2007

2010

https://cas-2003-01.exchange.local/exchange


(2003)


(2003→2007→2010→2007)


(2003→2010)

https://cas-2007-01.exchange.local/owa

×
(2007)


(2007)

×
(2007)

https://cas-2007-01.exchange.local/exchange


(2007→2010)


(2007→2010→2007)


(2007→2010)

https://cas-2010-01.exchange.local/owa

×
(2010)


(2010→2007)


(2010)

詳しい情報はまだ集められていないのですが、海外の Tech Ed で OWA のリダイレクトのセッションがあり、そのセッションでは、
Exchange 2010 の OWA を起点にして ISA でリバースプロキシをさせるというシナリオが紹介されていました。
Exchange 2010 を導入した場合は、2010 の OWA を既定にアクセスを考えるのが一般的になるのですかね??

今回、Exchange 2010 の OWA にアクセスした際に、Exchange 2003 のリダイレクトが NG となっていますが、
これに関しては Exchange 2010 で設定可能な、[Exchange2003Url] を設定することで回避ができるようになります。

これについては次の投稿で設定をまとめたいと思います。

Written by Masayuki.Ozawa

2月 7th, 2010 at 2:21 am

Posted in Exchange

Exchange 2007 の OWA で他人の予定表を参照

leave a comment

Exchange 2007 のよくあるお問い合わせに以下の記載があります。
Exchange Server 2007 サポート窓口によく寄せられるお問い合わせ

Q. OWA を使用して、別のユーザーの予定表を参照しようとしてもできません。
参照しようとしているユーザーには参照者権限を与えています。

A. OWA から他のユーザーの予定表を確認するには、ユーザーのメールボックスを開く必要があるため、
メールボックスに対してフル アクセス権を付与する必要があります。
アクセス権を付与するには、Outlook からではなく Exchange Server 上で設定します。
(例)
User02 のメールボックスに対するフル アクセス権を User01 に付与します。
Add-MailboxPermission -Identity "User02" -user User01 -AccessRight Fullaccess -InheritanceType all

注意: Information Store がアクセス権をキャッシュしているためアクセス権の設定変更後、
設定の反映に最大 2 時間程度かかる場合があります。

Exchange 2007 を触るようになったときにこの情報を見て、2007 OWA で他人の予定表を見せるのは厳しいな~と
思ったことがあります。
先日までずっとこの情報が頭にありました。

Exchange 2010 の OWA では、[共有の予定表を開く] という機能があり、OWA 上から他人の予定表を GUI 経由で開くことができます。
# Exchange 2000 / 2003 の OWA では [http://<サーバー名>/<エイリアス名>/予定表] にアクセスして他人の予定表を見ていたかと。
image

この機能について少し調べていたところ、たまたま以下の情報が目に入りました。
Outlook Web Access で別のユーザーの予定表を開く方法

どんな情報が載っているんだろうと思って目を通してみると、このような記載が。

Outlook Web Access を使用して、別のユーザーのメールボックス内の予定表フォルダを開くには、次の操作を行います。
1.以下の URL を入力します。
https:// <Outlook Web Access の URL> /owa/ <他のメールボックスの SMTP アドレス> /?cmd=contents&module=calendar

  • 少なくとも参照者アクセス権を持つユーザー ID を使用して既に Outlook Web App にログオンしている場合は、
    予定表が直ちに開きます。
  • まだ Outlook Web App にログオンしていない場合は、ログオン プロンプトが表示されます。
    少なくとも予定表への参照者アクセス権を持つユーザー ID を使用してログオンします。
  • ?

    なんと、フルアクセス権いらないんですか!!
    検証環境もあるのでさっそく試してみました。

    Exchange 2007 にメールボックスを持つユーザーのアクセス権を以下のように設定してみました。
    [user_2010] は予定表の参照権がある状態です。
    image?

    Exchange 2007 の [user_2007] の予定表を参照するための URL に [user_2010] でアクセスしてみました。

    image

    開きますね、他人の予定表が。
    いままでずっとできないものだとばかり思っていました…。
    image

    さらに情報を探していると以下のブログが見つかりました。
    How To: Open Shared Calendar in OWA

    URL に [View=Weekley] を指定することで表示を週単位に変更できるんですね。
    image
    [View=Monthly] で月単位の表示もできます。
    image

    今まで Exchange 2007 の OWA では他人の予定表は他のメールボックスを開かないといけないものだとばかり思っていました。
    image

    常に最新の情報集めるように心掛けないといけないですね。

    Written by Masayuki.Ozawa

    2月 6th, 2010 at 8:39 am

    Posted in Exchange

    Outlook 2003 の空き時間情報について

    leave a comment

    今日はひたすら Exchange を勉強しています。
    月頭にも関わらず中古の ThinkPad を買ってしまったので懐具合がさびしく出かけられないだけですが…。

    今回は Outlook の空き時間情報について。

    ■空き時間情報を勉強するための参考情報

    Outlook 2003 の空き時間情報の動きは以下の技術情報をいつも参考にしています。
    空き時間情報データの公開

    Exchange 2003 + Outlook の組み合わせですがこの情報は Exchange 2007 以降を使用する場合も有益です。
    Outlook を使用した場合の空き時間情報の格納のトリガーは Outlook になっているようですね。
    OWA の場合は Exchange 側で処理がされています。

    ■空き時間情報の格納先

    Outlook 2003 までは空き時間情報をパブリックフォルダに格納しています。

    空き時間情報が格納されるのが、システムパブリックフォルダの [SCHEDULE + FREE BUSY] になります。
    このフォルダの下にあるパブリックフォルダに対して空き時間情報が格納されていきます。
    image

    前回の投稿でパブリックフォルダデータベースを再作成した Exchange 2007 のですが、先ほど階層情報が、
    Exchange 2010 から送信されてきたようで、フォルダが追加されたようです。

    レプリケーションには Exchange 2010 のサーバーだけが指定されている状態ですね。
    image

    ■空き時間情報の格納状態を見る

    空き時間情報の勉強をする際には MFCMAPI という CodePlex で提供されているツールがとても便利です。
    MFCMAPI

    今回はこのツールを使用しながら空き時間情報について勉強していきたいと思います。
    今回は現時点でも標準的な環境の部類に入る、Windows XP SP3 + Outlook 2003 SP3 の環境を使用しています。

    [user_2007] という Exchange 2007 にメールボックスを持つユーザーと [user_2010] という Exchange 2010 にメールボックスを
    持つユーザーの 2 ユーザーを使用して空き時間情報をテストしていきます。
    各ユーザーは自分のメールボックスのプロファイルを作成済みです。

    まずは、[user_2007] というユーザーで XP にログインし、Outlook を起動した状態にします。
    image?

    そうしましたら、ダウンロードした MFCMAPI を起動してみます。
    image

    ダイアログが表示されますので、[OK] をクリックします。
    image?

    続いて、[Session] → [Logon and Display Store Table] をクリックします。
    image

    そうすると Outlook のプロファイル選択のダイアログが表示されますので、使用しているプロファイルを選択し、
    [OK] をクリックします。
    image

    そうすると MFCMAPI で対象のプロファイルを使用してメールボックスに接続することができます。
    空き時間情報は [パブリック フォルダ] に格納されますので、パブリック フォルダを選択してダブルクリックします。
    image?

    そうするとパブリックフォルダデータベースに接続することができます。
    今回は空き時間情報をみたいので、[SCHEDULE+ FREE BUSY] の下の [EX:/o=<組織名>/~] をダブルクリックします。
    image?

    そうすると新たにウィンドウが開き、ダブルクリックした階層の内容が表示されます。
    image

    現時点では [user_2007] [user_2010] ともに予定を入力していませんので、アイテムは何も格納されていないですね。
    それでは [user_2007] で予定を登録してみます。
    imageimage?

    Outlook の既定の設定では [15 分間隔] で空き時間情報の更新を行っています。
    image

    そのため、予定を入れた直後では空き時間情報は格納されません。
    image
    時間を減らしてもいいのですが、Outlook を閉じた場合も空き時間情報の更新が行われますので、一度 Outlook を終了させます。
    [F5] キーで画面を更新するとアイテムが表示されました。
    [Subject] を確認してみたところ、USER_2007 と表示されていますね。
    このアイテムが [user_2007] の空き時間情報になります。
    image?

    それでは続いて [user_2010] で同様の操作をしてみたいと思います。
    image

    Outlook を起動してから MFCMAPI で現在の状況を確認してみます。
    [USER_2007] で登録した空き時間情報が見えていますね。
    # すぐに開いてこの状況ですので、この時点で個人的にはあれって思うのですが…。
    image
    [user_2010] でも予定を登録して、Outlook を終了してから [F5] をクリックしてみます。
    image
    image?

    この状態で Exchange 2007 / 2010 のパブリックフォルダ管理コンソールで空き時間情報のアイテム数を確認してみます。

    Exchange 2007 Exchange 2010
    image image

    合計アイテムの数に差が出ていますね…。
    再度 [user_2007] で MFCMAPI を開いてみます。
    なぜか 2 件見えてしまっています。
    image
    Exhcnage 2007 / 2010 のメールボックスデータベースでは自サーバー上のパブリックフォルダを参照するように設定をしてあります。
    Exchange 2007 上に存在しているユーザーなのであれば Exchange 2007 のパブリックフォルダを参照すると思いますので、
    [user_2007] の空き時間だけ見れると思っていたのですが、透過的に Exchange 2010 のパブリックフォルダを参照しているように
    見えますね。
    Exchange 2007 の空き時間情報のフォルダのレプリケーションタブでは Exchange 2010 を設定しているから見えているような気も
    するのですが、手持ちには Exchange 2007 / 2010 の本しかなく、SCHEDULE+ に関する記述がないんですよね。

    空き時間情報はこういう動きなのでしょうか…。

    ひとまず、MFCMAPI を使用するとどのユーザーの空き時間情報が見えるのかという確認をすることができるのは
    間違いはないと思います。
    # どのサーバーのフォルダを参照しているのかがよくわかっていないのですが。

    Exchange は奥が深い…。パブリックフォルダについての謎は深まるばかりです。

    Written by Masayuki.Ozawa

    2月 6th, 2010 at 6:58 am

    Posted in Exchange

    Exchange 2007 → 2010 への移行時のパブリックフォルダのあれこれ – その 2 –

    leave a comment

    以前、Exchange Server 2007 を削除した際には以下の手順を実施していました。
    Exchange Server 2007 を撤去

    パブリックフォルダデータベースがうまく削除できなかったんですよね…。
    ADSI エディタでパブリックフォルダのストアを強制的に削除して、パブリックフォルダデータベースを消したことにしていました。

    削除方法がわかったので投稿しておきたいと思います。

    ■Exchange Server 2007 のパブリックフォルダデータベースの削除方法

    Exchange 2010 を追加後、Exchange 2007 上の EMC / EMS ではパブリックフォルダデータベースが削除できなくなるようです。

    Exchange 2007 で使用していたパブリックフォルダデータベースを削除しようとすると以下のエラーとなります。
    image?

    これは削除しようとしたパブリックフォルダデータベースが、メールボックスデータベースの既定のパブリックフォルダデータベースに
    設定されているためです。
    そこで既定のパブリックフォルダデータベースを Exchange 2010 に変更します。
    image image

    この状態でもパブリックフォルダデータベースは削除ができません。
    image

    次のステップとしてレプリカをすべて削除します。
    以下のコマンドは組織内の最後のパブリックフォルダを削除するときに使用するコマンドですので本当は違うんでしょうね…。
    この辺はもっと検証しないと駄目ですね。

    Get-PublicFolder -Server $ENV:COMPUTERNAME "" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server $ENV:COMPUTERNAME -Recurse -ErrorAction:SilentlyContinue

    Get-PublicFolder -Server $ENV:COMPUTERNAME "Non_Ipm_Subtree" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server $ENV:COMPUTERNAME -Recurse -ErrorAction:SilentlyContinue

    ここまでの作業で以下のエラーが発生するところまでは持っていくことができました。
    image?

    ——————————————————–
    Microsoft Exchange エラー
    ——————————————————–
    パブリック フォルダ データベース ‘Public Folder Database’ を削除することができません。

    Public Folder Database
    失敗
    エラー:
    オブジェクトは、新しいバージョンである Exchange 0.10 (14.0.100.0) で作成されたため、
    読み取り専用です。
    現在サポートされているバージョンは 0.1 (8.0.535.0) です。

    ——————————————————–
    OK
    ——————————————————–

    前回はこのエラーの解消方法がわからなかったので構成パーティションから強制削除したのですが、ようやく解消方法がわかりました。
    Exchange 2010 の EMS から Exchange 2007 のパブリックフォルダデータベースを削除すればよかったようです。

    Exchange 2010 の Exchange Management Shell から Remove-PublicFolderDatabase を実行します。
    以下のコマンドは [EXCHANGE-MBX-02] という Exchange 2007 の [Second Storage Group] というストレージグループに配置している
    パブリックフォルダデータベース [Public Folder Database] を削除する場合のコマンド例です。

    Remove-PublicFolderDatabase "EXCHANGE-MBX-02Second Storage GroupPublic Folder Database"

    確認
    この操作を実行しますか?
    パブリック フォルダー データベース
    "EXCHANGE-MBX-02Second Storage GroupPublic Folder Database" を削除しています。
    [Y] はい(Y)? [A] すべて続行(A)? [N] いいえ(N)? [L] すべて無視(L)? [?] ヘルプ
    (既定値は "Y"):A
    警告: 指定したデータベースが削除されました。
    C:Program FilesMicrosoftExchange ServerMailboxSecond Storage GroupPublic Folder Database.edb
    内にデータベース
    ファイルがある場合は、そのファイルをコンピューターから手動で削除する必要があります。
    指定されたデータベースは Public Folder Database です。

    Exchange 2007 では削除できなかったものが Exchange 2010 から実行すると削除できました。

    この状態で Exchange 2007 で再度パブリックフォルダデータベースを作成すると以下のメッセージが表示されてしまいます。
    image

    パブリックフォルダデータベースが読み取り専用…。メッセージとしては削除時と同じ内容が表示されているようですね。
    このメッセージが表示され、マウント処理が取り消しになってしまっているため、作成後はマウント解除状態となっています。
    image?
    このままではパブリック
    フォルダ管理ツールで接続ができないのでひとまずマウントします。
    image

    マウントは正常にできるので、データベースはきちんと作成されているようですね。
    image?

    この状態でパブリックフォルダデータベースの設定を変更したり、2007 のパブリックフォルダデータベースから
    新規のフォルダを作成することができます。
    メッセージ上は読み取りと出力されていますが、実際には読み取り専用となっているわけではないようですね。

    image image

    Exchange 2010 を導入するとパブリックフォルダ関連は注意が必要になるかも知れないですね。
    私はパブリックフォルダが苦手なので 2003 + 2007 + 2010 の環境を作らざるを得なくなってしまった場合には
    ちょっと泣きそうになると思います。
    # まぁ Exchange 自体が得意ということでもないので Exchange 絡みは毎回、四苦八苦しているのですが。

    ちなみに、この状態で作成されたパブリックフォルダーデータベースの [SCHEDULE+ FREE BUSY] の内容がこちらです。
    image
    ?
    ディレクトリが空ですね…。
    この状態では Outlook 2003 から空き時間情報を発行することができません。
    次の投稿では空き時間情報について勉強していきたいと思います。

    Written by Masayuki.Ozawa

    2月 6th, 2010 at 4:57 am

    Posted in Exchange

    Exchange 2007 → 2010 への移行時のパブリックフォルダのあれこれ – その 1 –

    leave a comment

    最近は Exchange 案件に携わることが多く、Exchange 2010 への移行を担当することもちらほらと。

    2003 → 2010 への移行は自習書があるのですが、2007 からの移行に関しては自習書がないため、手探りで
    勉強をしているところです。

    私の Exchange のスキルのベースは Exchange 2007 + Outlook 2007 の環境を構築して独学で勉強をしたものなので、
    パブリックフォルダが苦手なんですよね…。
    勉強を開始した当初は自分が Exchange に携わる時は Outlook 2007 が一般的だろうと思っていたのですが、実際には
    そんなこともなく XP + Outlook 2003 の組み合わせはまだまだ現役ですよね。
    そのため、Exchange 2010 を使用する場合には情報共有目的としてのパブリックフォルダではなく、システム用途としての
    パブリックフォルダが必須となります。

    勉強をする中で、移行時のパブリックフォルダについてわかったことがありますので複数回に分けて投稿していきたいと思います。
    # 今の Microsoft 製品の表記では [パブリックフォルダ] という表記が正しいんですよね。長音記号打ち忘れてます…。
      ある程度書き上げてから気づいたので本投稿は長音記号なしでいきます!

    ■Exchange 2000 / 2003 → 2007 → 2010 の場合の注意点

    既に Exchange 2007 を導入済みの環境を 2010 に移行する場合は、このパターンになっていることが多いと思います。

    今回の検証で使用している環境が下図になります。

    image?

    Exchange 2000 から 2010 にアップグレードする際に 2007 を経由する、一般的なパターンだと思います。
    Exchange 2007 へ移行したタイミングで Exchange 2000 を撤去し、Exchange 2010 を追加しています。

    [①移行後撤去] のタイミングで Exchange 2000 用に使用していた Windows Server 2003 のドメインコントローラーも
    合わせて撤去しています。
    # Exchange 2000 では Windows Server 2008 を認証用のドメインコントローラーとして使用することができません。

    この状態になった場合、Exchange 2010 のサーバーの [アプリケーション] の [イベント ビューアー]に? [15 分間隔] で
    以下のエラーが出力されるようになることがあります。

    image

    ログの名前:???????? Application
    ソース:?????????? MSExchange Store Driver
    日付:??????????? 2010/02/06 9:15:26
    イベント ID:?????? 1020
    タスクのカテゴリ:????? MSExchangeStoreDriver
    レベル:?????????? エラー
    キーワード:???????? クラシック
    ユーザー:????????? N/A
    コンピューター:?????? EXCHANGE-MBX-01.exchange.local
    説明:
    ストア ドライバーは、次のエラーが発生したため、パブリック フォルダー レプリケーション メッセージ "Hierarchy (PublicFolderDatabase@exchange.local)" を配信できませんでした: Active Directory ユーザーが見つかりませんでした。
    イベント XML:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    ? <System>
    ??? <Provider Name="MSExchange Store Driver" />
    ??? <EventID Qualifiers="49156">1020</EventID>
    ??? <Level>2</Level>
    ??? <Task>1</Task>
    ??? <Keywords>0x80000000000000</Keywords>
    ??? <TimeCreated SystemTime="2010-02-06T00:15:26.000000000Z" />
    ??? <EventRecordID>2282</EventRecordID>
    ??? <Channel>Application</Channel>
    ??? <Computer>EXCHANGE-MBX-01.exchange.local</Computer>
    ??? <Security />
    ? </System>
    ? <EventData>
    ??? <Data>"Hierarchy (PublicFolderDatabase@exchange.local)"</Data>
    ??? <Data>Active Directory ユーザーが見つかりませんでした。</Data>
    ? </EventData>
    </Event>

    メールアドレスを見ていただくとわかるかと思いますが、パブリックフォルダ絡みでエラーが発生しています。
    # [PublicFolderDatabase@exchange.local] は Exchange 2007 に存在するパブリックフォルダの内部アドレスです。

    ここで Exchange 2007 と Exchange 2010 でパブリックフォルダ複製のメッセージ追跡ログを確認してみたいと思います。

    [Exchange 2007]

    Exchange 2007 から Exchange 2010 のパブリックフォルダに送信されたメッセージをメッセージ追跡ログから確認します。
    image

    [EventId] が [FAIL] のものは見当たらないですね。
    Exchange 2007 から 2010 への配信に関しては問題なさそうです。
    [PublicFolderDatabase@exchange.local] が Exchange 2007 にあるパブリックフォルダで
    [PublicFolderDatabase2010@exchange.local] が Exchange 2010 にあるパブリックフォルダになります。
    # 検証環境の画面サイズ上文字が一部切れています。

    image

    [Exchange 2010]

    続いて Exchange 2010 のメッセージ追跡ログがら Exchange 2010 のパブリックフォルダが受信したメッセージを確認します。

    image
    出力された結果がこちら。
    [FAIL] になっているものがありますね。
    Exchange 2007 から受け取ったメッセージの格納でエラーになっているようですね。

    image?

    [FAIL] になっている行の、[RecepientStatus] を確認すると以下の情報が表示されています。

    554 5.6.0 STOREDRV.Deliver.Exception:ObjectNotFoundException; Failed to process message due to a permanent exception with message Active Directory

    Exchange 2007 から 2010 宛のパブリックフォルダのメッセージを受信した際に格納しようとして、エラーとなっているようですね。
    そのエラーが追跡ログとイベントビューアーに表示されているようです。
    Active Directory と出力がありますので AD も関係していそうですね。

    ■解決策

    ここまでの情報をもとに調べてみたところ以下の事象が当てはまるようです。
    Public folders not replicating betwen exchange 2007 and 2010
    Public Folder Mayhem Exchange 2010

    日本語の情報が見当たらない…。
    私は英語はとても苦手 (TOEIC の点数びっくりするぐらい低いです) なのですが、日本語の情報が無いので背に腹は変えられません。

    情報を読んでくと Exchange 2000 の時に使用していた管理グループの情報が影響して、本現象が発生してしまっているようですね。

    私の検証環境には Exchange 2007 → 2010 に移行した環境があるので、見比べてみたいと思います。

    [Exchange 2007 → 2010 への移行環境]

    Exchange の情報は AD の構成パーティションに格納されています。
    それでは、AD DS 上で ADSI エディターを実行して情報を確認してみます。
    # こちらの環境は AD DS は 2008 R2 を使用しています。
    image

    エディターが開いたらメニューバーの [操作] → [接続] を選択します。
    image

    [既知の名前付けコンテキストを選択する] を [構成] にして、[OK] をクリックします。

    image

    そうすると構成パーティションを表示できるようになります。
    image

    Exchange の基本的な構成情報は [CN=Configuraiton, DC=<ドメイン名>, CN=Services, CN=Microsoft Exchange] に格納されています。
    image

    構成パーティションは、[Enterprise Admins] が管理をするパーティションですが、Exchange 関連のコンテナに関しては、
    [Exchange Organization Administrators] もフルコントロールを持っています。
    そのため、このグループに入っているユーザーであれば、EMC を介して Exchange の設定を変更し、その変更情報を
    AD 上に格納することができるといった流れになっているかと思います。
    image

    今回、確認したいのは Exchange の管理グループの情報になります。
    [CN=Configuraiton, DC=<ドメイン名>, CN=Services, CN=Microsoft Exchange, CN=<Exchange 組織名>, CN=Administrative Groups]
    が、管理グループの格納場所になります。

    Exchange 2007 以降の場合は管理グループは [Exchange Administrative Group (FYDIBOHF23SPDLT)] が既定です。
    # この管理グループ名は、変更できない / してはいけなかったはずです。
    image
    Exchange 2007 からの移行時は一つしか管理グループがない状態ですね。

    [Exchange 2000 → 2007 → 2010 への移行環境]?

    それでは Exchange 2000 から移行した環境をみてみましょう。
    管理グループが 2 つありますね。
    [CN=最初の管理グループ] が Exchange 2000 で使っていた管理グループになります。
    # 検証なので初期の管理グループしか使っていませんでした。

    image

    ?

    Exchange 2007 → 2010? / Exchange 2000 → 2007 → 2010 へ移行を行った環境では管理グループの設定状況に差があります。
    Exchange 2000 の撤去時にアンインストールを実行し、正常に完了しているのですが、管理グループの情報は消えないようですね。

    英語サイトの情報をみるとこの Exchange 2000 時代の管理グループの [CN=Servers] が本現象の原因となっているようです。
    image

    このコンテナは名前変更ができません…。
    # 頑張ればできるのでしょうけど。
    image

    このコンテナの配下が空のことを確認して思い切って削除します。

    ?image

    image?image

    削除したら次の複製タイミング (デフォルト 15 分間隔) まで小休止です。
    私の環境では気づいたら複製が止まっていたので適当なパブリックフォルダを Exchange 2007 で作って
    複製要求を Exchange 2007 から 2010 に出してもらいました。

    以下が Exchange 2010 の追跡ログの内容です。

    9:30 まではパブリックフォルダのメッセージを受信するたびにエラーとなっていたのですが、ADSI エディタで
    変更した後 (10:30 すぎぐらい) に受信したパブリックフォルダのメッセージは正常に受信ができています。
    image

    [MSExchange Store Dirver] のエラーも止まったようです。

    image

    せっかくなので、追跡ログだけでなく接続ログも見てみたいと思います。

    [Exchange 2010]

    #Software: Microsoft Exchange Server
    #Version: 14.0.0.0
    #Log-type: Transport Connectivity Log
    #Date: 2010-02-06T00:15:15.496Z
    #Fields: date-time,session,source,Destination,direction,description
    2010-02-06T00:15:15.496Z,,Transport,,*,"service started,MaxConcurrentSubmissions=20;MaxConcurrentDeliveries=18;MaxSmtpOutConnections=1000"
    2010-02-06T00:15:23.512Z,08CC74D89C38D309,MAPI,exchange-mbx-01.exchange.local,+,Delivery;QueueLength=1
    2010-02-06T00:15:23.512Z,08CC74D89C38D309,MAPI,exchange-mbx-01.exchange.local,>,Starting delivery
    2010-02-06T00:15:25.934Z,08CC74D89C38D309,MAPI,exchange-mbx-01.exchange.local,>,Connecting to server exchange-mbx-01.exchange.local session type Public Folder
    2010-02-06T00:15:26.168Z,08CC74D89C38D309,MAPI,exchange-mbx-01.exchange.local,>,Failed to connect to server exchange-mbx-01.exchange.local
    2010-02-06T00:15:26.231Z,08CC74D89C38D309,MAPI,exchange-mbx-01.exchange.local,-,Messages: 0 Bytes: 0 Recipients: 0
    2010-02-06T00:30:05.238Z,08CC74D89C38D30B,MAPI,exchange-mbx-01.exchange.local,+,Delivery;QueueLength=1
    2010-02-06T00:30:05.238Z,08CC74D89C38D30B,MAPI,exchange-mbx-01.exchange.local,>,Starting delivery
    2010-02-06T00:30:05.238Z,08CC74D89C38D30B,MAPI,exchange-mbx-01.exchange.local,>,Connecting to server exchange-mbx-01.exchange.local session type Public Folder
    2010-02-06T00:30:05.301Z,08CC74D89C38D30B,MAPI,exchange-mbx-01.exchange.local,>,Failed to connect to server exchange-mbx-01.exchange.local
    2010-02-06T00:30:05.301Z,08CC74D89C38D30B,MAPI,exchange-mbx-01.exchange.local,-,Messages: 0 Bytes: 0 Recipients: 0
    2010-02-06T02:00:02.448Z,08CC74D89C38D30D,MAPI,exchange-mbx-01.exchange.local,+,Delivery;QueueLength=1
    2010-02-06T02:00:02.448Z,08CC74D89C38D30D,MAPI,exchange-mbx-01.exchange.local,>,Starting delivery
    2010-02-06T02:00:02.464Z,08CC74D89C38D30D,MAPI,exchange-mbx-01.exchange.local,>,Connecting to server exchange-mbx-01.exchange.local session type Public Folder
    2010-02-06T02:00:02.761Z,08CC74D89C38D30D,MAPI,exchange-mbx-01.exchange.local,-,Messages: 1 Bytes: 3999 Recipients: 1
    2010-02-06T02:00:02.917Z,08CC74D89C38D30E,MAPI,exchange-mbx-01.exchange.local,+,Delivery;QueueLength=1
    2010-02-06T02:00:02.917Z,08CC74D89C38D30E,MAPI,exchange-mbx-01.exchange.local,>,Starting delivery
    2010-02-06T02:00:02.932Z,08CC74D89C38D30E,MAPI,exchange-mbx-01.exchange.local,>,Connecting to server exchange-mbx-01.exchange.local session type Public Folder
    2010-02-06T02:00:02.964Z,08CC74D89C38D30E,MAPI,exchange-mbx-01.exchange.local,-,Messages: 1 Bytes: 4797 Recipients: 1
    2010-02-06T02:00:22.521Z,08CC74D89C38D30F,SMTP,hub version 8,+,SmtpRelayWithinAdSite 61027a30-e9a9-4c2d-acb5-c1efc96d5d8b
    2010-02-06T02:00:22.567Z,08CC74D89C38D30F,SMTP,hub version 8,>,EXCHANGE-MBX-02.exchange.local[10.1.0.2]
    2010-02-06T02:00:22.599Z,08CC74D89C38D30F,SMTP,hub version 8,>,Established connection to 10.1.0.2
    2010-02-06T02:00:22.942Z,08CC74D89C38D30F,SMTP,hub version 8,-,Messages: 1 Bytes: 8309 ()

    Failed になっていたものが変更後は出力されなくなっていますね。
    Exchange 2010 は接続ログがデフォルトで有効なのですが、Exchange 2007 ではデフォルト無効で、
    私が設定変更していなかったので、Exchange 2007 の接続ログはお見せできません…。

    サイトの情報をみていますと 2003 からのアップグレードの場合にも発生しているようですので、2000 だけではなく
    2000 / 2003 から移行した場合に発生する可能性のある共通の事象なのではないでしょうか。

    このような現象を RTM が出たばかりの 11 月に発見し、翌月には解決している海外のエンジニアの方ってすごいですね~。

    2010 移行時にパブリックフォルダに関して気付いたことは他にもありましたのでそれらは次回に。

    Written by Masayuki.Ozawa

    2月 6th, 2010 at 2:31 am

    Posted in Exchange

    ドメインコントローラーと Exchange Server 2010 の共存環境の構築

    leave a comment

    以前 ドメインコントローラーと Exchange Server 2007 の共存環境の構築 という投稿をしました。
    これが Exchange Server 2010 の場合はどうなるのかなと思って検証してみました。

    今回の組み合わせは Windows Server 2008 R2 + Exchange Server 2010 になります。

    まず前回はインストールができなかった IPv6 を無効にした状態でインストールを実行してみました。
    ?image

    Exchange 2010 でもIPv6 が有効になっていないとエラーになってしまうようですね。
    image

    IPv6 が有効になっている状態ではインストールが完了します。
    image

    IPv6 が有効な場合はインストールすることができました。
    image

    ドメインコントローラーと共存させる場合は、Exchnage 2007 と同様の条件になるようですね。

    2010/4/21 追記

    2007 同様、IPv6 でインストールができないのは以下の KB の現象でした…。

    Windows Server 2008 ベースのコンピューターで、Exchange Server 2007 のハブ トランスポートの役割または Microsoft Exchange Server 2010 のハブ トランスポートの役割のインストールが失敗する

    こちらも IPv6 が無効でもインストールできます。

    Written by Masayuki.Ozawa

    2月 5th, 2010 at 2:23 pm

    Posted in Exchange

    Hyper-V Server 2008 R2 で Live Migration 環境を構築 – 追加したノードは R2 –

    leave a comment

    Hyper-V Server 2008 R2 が提供された当初から気になっていたことがありました。
    Hyper-V Server 2008 R2 + Windows Server 2008 R2 でクラスタを組んで Live Migration はできるのか??

    昨日、検証用購入した中古の ThinkPad が届いたのでさっそく試してみました。

    ■使用した環境

    今回の環境はこちら。
    ThinkPad 2 台構成です。
    共有ストレージには Windows Storage Server 2008 を使用しています。

    機種 OS CPU
    ThinkPad T60 Hyper-V Server 2008 R2
    image
    image
    # T60 標準のT5500 から T5600 に換装しています。
    ThinkPad T61 Windows Server 2008 R2
    Datacenter Edition
    image
    image

    ?

    ■クラスタの検証

    Hyper-V Server 2008 R2 に関しては以前構築したクラスタ環境を使用しています。
    この環境に Windows Server 2008 R2 Datacenter Edition を追加してみました。
    [オペレーティング システムのインストールオプションを検証] で失敗になるのですがクラスタを構築することができました。
    image

    image?

    ■構築された環境

    できた環境がこちらになります。
    [HVS-CLUSTER] という仮想ホスト名でクラスタを構築しています。
    以下の画面は SCVMM で表示されるサーバーの階層になります。

    image

    ここに Live Migration 可能な OS として CSV 上に 1 台のゲスト OS を構築しています。
    # メールの検証環境として構築した Windows Server 2000 を 配置しています。
    image image

    ■Live Migration を実行

    それではさっそく Live Migration の実行です。

    SCVMM で Live Migration を実行する場合は、[移行] 操作を実行します。
    image

    [フェール オーバー クラスター マネージャー] の場合は [仮想マシンを別のノードにライブ マイグレーション] で
    Live Migration を実行できます。
    image

    [転送の種類] が [ライブ] となっているサーバーに対しての移行が Live Migraion になります。

    image

    エラーになることなく Live Migration が完了しました。

    image

    ?

    Hyper-V Server 2008 R2 と Windows Server 2008 R2 間でも Live Migration はできるんですね~。
    サポートは受けられない構成でしょうけども。

    Written by Masayuki.Ozawa

    2月 4th, 2010 at 2:51 pm

    Posted in Hyper-V

    SQL Server Express Edition で定期的にデータベースをバックアップ

    leave a comment

    以前投稿した内容に SQL Server 2008 Express Edition でメンテナンスプランの利用についてコメントをいただきました。

    残念ながら SQL Server の Express Edition では、メンテナンスプランが使用できないんですよね。
    SQL Server 2008 の各エディションがサポートする機能

    また、SQL Server の Express Edition では SQL Server Agent も使用できないため、定期的なジョブを SQL Server 側で
    実行することができません。

    スキルチャージプログラムで貸与されている環境は Community Server をインストールしてあり、データベースには
    SQL Server 2008 Express Edition を使用しています。
    この環境ですが日次で 1 世代のバックアップだけは自動で取得する用に設定をしてあります。

    メンテナンスプランと SQL Server Agent を使用できない状態で定期的にバックアップを取得するため、
    タスクスケジューラ + SQLCMD.EXE を使ってバックアップのスケジューリングを設定しています。

    [タスク スケジューラ] は管理ツールの中に入っています。?

    このタスク スケジューラで以下のようなタスクを作成しています。
    ?image image
    image

    操作には以下のような設定を登録してあります。

    操作 プログラムの開始
    プログラム/スクリプト "C:Program FilesMicrosoft SQL Server100ToolsBinnSQLCMD.EXE"
    引数の追加 (オプション) -S localhost<インスタンス名> -E -i "E:ToolsBackupCSDBBackup.sql"

    ?

    CSDBBackup.sql には以下の内容を記載しています。
    # SSMS で生成したスクリプトを記載しているだけですが。

    BACKUP DATABASE [CommunityServer] TO? DISK = N’E:BackupCommunityServer.bak’ WITH NOFORMAT, INIT,
    NAME = N’CommunityServer-完全 データベース バックアップ’, SKIP, NOREWIND, NOUNLOAD,? STATS = 10
    GO

    ?

    同様の方法でインデックスのメンテナンスも可能です。
    ざっくりと作ったインデックスの再構築のクエリです。
    これを SQLCMD でタスクスケジューラから実行すると定期的にインデックスの断片化を解消することができます。
    # アドホッククエリで書いてしまっていますが…。

    SET NOCOUNT ON
    USE [CommunityServer]
    GO
    DECLARE @name sysname
    DECLARE @SQL nvarchar(500)

    SELECT * INTO [#tables] FROM [sys].[tables]

    DECLARE [table_cursor] CURSOR FOR
    SELECT [name] FROM [#tables]

    OPEN [table_cursor]
    FETCH NEXT FROM [table_cursor] INTO @name

    WHILE @@FETCH_STATUS = 0
    BEGIN
    ??? SET @SQL = N’ALTER INDEX ALL ON [‘ + @name + ‘] REBUILD’
    ??? EXECUTE sp_executesql @SQL
    ??? FETCH NEXT FROM [table_cursor] INTO @name
    END

    CLOSE [table_cursor]
    DEALLOCATE [table_cursor]

    ?

    自分でクエリを書くのが面倒な場合は、定期的に実行したい操作を SSMS からスクリプト化しておけばよいと思います。

    Express Edition を使っていてもデータベースのメンテナンスは定期的に実行しないと駄目ですが、無償版なので
    この辺の機能がないのは仕方ないですね。

    Written by Masayuki.Ozawa

    1月 31st, 2010 at 3:26 pm

    Posted in SQL Server

    SCVMM のセルフサービスポータルの接続経路について

    leave a comment

    SCVMM のセルフサービスポータルをインターネット経由で公開できないかなといろいろと検証していました。
    インターネット経由だと VPN か Direct Access 辺りを使用しないと厳しそうなのですが、調べたことを投稿しておきたいと思います。

    今回の検証をするにあたり、Tech Fielders のライトニングトークの [ここまではできる SCVMM セルフサービスポータル] を
    参考にさせていただきました。
    Tech Fielders セミナー これまでのライトニングトーク登壇者
    # ライトニングトークの内容を自分で検証してみたという投稿になっているかと。

    SCVMM のセルフサービスポータルにログインした後のゲスト OS の接続には 2 種類の接続方法が用意されています。

    1. VM に接続
    2. リモート デスクトップ

    image image

    どちらを使うかによってアクセスの経路が変わります。

    ■VM に接続

    VM に接続は SCVMM の管理コンソールの [バーチャル マシンに接続] と同じ機能になります。
    SCVMM の管理コンソールで接続した場合は、以下のように表示されます。
    image?image

    これをセルフサービスポータルで表示すると以下のように表示されます。

    image
    ゲスト OS のコンソールを直接開く機能ですね。

    この機能ですが以下の接続がされているようです。
    ポート 2179 で直接ホストに接続しているみたいですね。
    SCVMM の管理コンソールのバーチャルマシンに接続で実行される [VirtualMachineViewer.exe] も、ポート 2179 で接続が
    されているので、セルフサービスポータルの ActiveX も同様の動作になるんですね。

    image

    SCVMM がホスト OS にアクセスして表示しているのではなく、クライアントがホスト OS に接続をしているようです。
    そのためクライアントが直接ホスト OS にアクセスできないといけないようです。

    また、ホスト OS に接続をする関係上、ホスト OS を名前解決できないと接続ができません。
    ホスト OS の名前解決ができないと以下の画面になってしまい接続ができません。

    image

    ■リモートデスクトップ

    リモートデスクトップですがこちらはゲスト OS のリモートデスクトップに接続をします。
    そのため、ゲスト OS でリモートデスクトップを設定する必要があります。
    image

    私の環境の問題のような気もするのですが、[ネットワーク レベル認証で~] にしてリモートデスクトップを設定していると
    セルフサービスポータルで接続することができませんでした。

    image

    [リモート デスクトップを実行している~] だと接続ができました。
    image

    リモートデスクトップだと以下の接続になるようですね。
    直接ゲスト OS にリモートデスクトップのデフォルトポート 3389 で接続されます。
    そのため、ゲスト OS でリモートデスクトップのポートを 3389 から変更すると接続できませんでした…。

    image

    こちらも直接接続していますので、ゲスト OS の名前解決ができないとエラーになります。
    image

    ?

    SCVMM のセルフサービスポータルからコンソールを開く場合は、ホストまたはゲスト OS に直接接続できる必要があるので、
    インターネット経由での接続は簡単にはできなさそうですね。

    インストールマニアックス 3 の VPS コースでは DotNetPanel という Web 管理ツールが提供されているのですが、
    こちらはコンソールを操作する機能は提供されていないんですよね。

    Hyper-V + SCVMM で IaaS の環境が作れれば面白いな~と思ったのですが、コンソールの利用を考えるとなかなか難しいですね。

    Written by Masayuki.Ozawa

    1月 31st, 2010 at 11:12 am

    Posted in System Center

    Hyper-V Server 2008 R2 で Live Migration 環境を構築 – 環境の都合で 1 台構成 –

    leave a comment

    自宅の検証環境にはインストールマニアックス 3 の勉強用で構築した Hyper-V Server 2008 R2 が 1 台あります。
    # 私は VPS コースだったのですが勉強を兼ねて構築していました。

    せっかくなので、この環境で Live Migration 環境を作ってみたいと思います。
    1 台なので Live Migration のテストはできませんが。
    # 2 月のどこかで中古の ThinkPad を購入して Live Migration の検証環境を作りたいな~とは思っているのですが。
    ??? UPS の電源容量が小さいので Live Migration 環境を ML115 で作ろうとすると UPS がなり始めてしまうのですよね・・・。

    ちなみにこの環境はドメインに参加済みの環境です。

    ■クラスタのインストール

    まずはクラスタ環境を構築する必要があります。
    Hyper-V Server 2008 R2 では [sconfig.cmd] で表示されるメニューからクラスタの有効化ができます。

    1. [11] を選択
      ?image
    2. [はい] をクリックします。
      image
    3. DISM で機能が有効化されます。
      image
    4. [OK] をクリックします。
      image

    ?

    ■iSCSI イニシエーターサービスの自動起動化

    デフォルトでは iSCSI イニシエーターのサービスは自動起動になっていませんので、自動起動に設定し初回の起動を行います。
    # ローカルで MMC が使えないのでコマンドで。

    1. コマンドプロンプトで以下のコマンドを実行し、サービスを自動起動にします。
      sc config MSiSCSI start= auto
    2. 自動にしてもサーバーが再起動しないとサービスが起動されないので、再起動しない場合は以下のコマンドで起動させます。

      sc start MSiSCSI

    ?

    ■iSCSI ターゲットへの接続

    iSCSI ターゲットへの接続ですが、iSCSI イニシエータのコマンドとして [iscsicli.exe] が用意されています。
    Server Core 環境なのでコマンドで設定するしかないのかと思っていたのですが、GUI である、[iscsicpl.exe] が使えるんですね。

    image

    これは楽でいいです。

    ターゲットを入力してクイック接続してみます。
    # ターゲット側で、iSCSI ターゲットを作成し、Hyper-V Server 2008 R2 の iSCSI イニシエータの FQN を追加済みです。
    image

    接続できました。
    image

    ターゲット側でディスクを割り当てておきましたので、まずはクォーラム用のディスクが使用可能な状態です。
    image

    ひとまず、[DISKPART] コマンドで Q ドライブに割り当てておきます。
    今回は、ディスク 2 に新規のディスクが割り当てられていますので以下のコマンドを実行していきます。

    diskpart
    list disk
    select disk 2
    create part primary
    format quick
    assign letter=Q
    exit

    ?

    ■クラスタの構築

    [cluster.exe] を使ってクラスタを構築してもいいのですが今回は勉強を兼ねて PowerShell で。
    ドメインにクラスタ用のコンピュータアカウントを作成して無効状態にし、セキュリティとして今回の作業に
    使用するドメインユーザーのフルコントロールを付与している状態です。
    image?? image

    後は以下のコマンドを順次実行していきます。
    クラスタのコンピュータアカウントにフルコントロールを指定したユーザーをローカルの Administrators に入れるところから
    コマンドを記載しています。
    現在のサーバーは DHCP で IP を割り当てているので、クラスタの作成時に静的 IP を指定していません。

    net localgroup “Administrators” “<ドメイン名"ユーザー名>” /add
    runas /user:“<ドメイン名ユーザー名>”? cmd
    powershell

    Import-Module FailoverClusters
    New-Cluster ?Name “HVS-CLUSTER” ?Node $ENV:COMPUTERNAME

    これでクラスタの構築は完了です。
    他の端末に、RSAT の [フェールオーバー クラスタリング ツール] を導入して接続してみたいと思います。

    image?

    正常に接続できました。
    image

    クラスターの作成自体も管理ツールからリモートで実施できるので、管理端末が用意できるのであれば、Hyper-V Server 上で
    PowerShell を使わなくても構築することが可能です。

    ■クォーラムディスクの設定

    作成直後のクォーラムはノードマジョリティになっているので、Q ドライブに割り当てているディスクをクォーラムとして
    追加したいと思います。

    Get-ClusterQuorum
    Get-ClusterAvailableDisk | Add-ClusterDisk
    Get-ClusterResource | ft -Wrap
    Set-ClusterQuorum -NodeAndDiskMajority "クラスター ディスク 1"

    ?

    これでクォーラムがノードおよびディスクマジョリティになりました。

    Get-ClusterQuorum

    Cluster??????????????????? QuorumResource??????????????????????????? QuorumType
    ——-??????????????????? ————–??????????????????????????? ———-
    HVS-CLUSTER??????????????? クラスター ディスク 1??????????? NodeAndDiskMajority

    ?

    ■CSV の有効化

    初期状態では CSV は無効になっているので、これを有効化します。

    Get-Cluster | %{$_.EnableSharedVolumes="Enabled/NoticeRead"}

    EnabledSharedVolumes は [Enabled/NoticeRead] を指定する必要があります。
    CSV を有効にするときには以下の通知が表示されます。
    image
    [Enabled] だけですと上記の通知がコンソール内に表示されるだけで有効にすることができません。
    有効にするためには通知を読んだ事を指定する必要がありますので、[Enabled/NoticeRead] が必要となります。
    無効にする場合は、[Disabled] を指定します。

    GUI から CSV の無効化はできないみたいなので、CSV を無効にする場合には PowerShell から実行する必要があるようですね。

    ■CSV にディスクを追加

    現在はクォーラム用のディスクしか iSCSI に作っていなかったので CSV 用のディスクを新規に作り、CSV に割り当てたいと思います。
    私の環境の iSCSI ターゲットは Storage Server 2008 ですので、仮想ディスクを追加して、iSCSI イニシエータでマッピングします。
    image image

    あとはこのディスクも DiskPart でフォーマットしておきます。
    今回はドライブ文字は不要ですのでアサインはしません。
    # クォーラムも不要なのですが、今までのクラスタ構築の癖で Q ドライブを割り当てちゃうんですよね。

    diskpart
    list disk
    select disk 3
    create part primary
    format quick
    exit

    ?

    後はこのディスクを CSV に追加します。

    Get-ClusterAvailableDisk | Add-ClusterDisk
    Get-ClusterResource | ft -Wrap
    Add-ClusterSharedVolume "クラスター ディスク 2"

    ?

    これで CSV の追加は完了です。
    CSV に追加されているディスクを確認してみます。

    Get-ClusterSharedVolume

    Name?????????????????????? State????????????????????? Node
    —-?????????????????????? —–????????????????????? —-
    クラスター ディスク 2????? Online???????????????????? hvs2008r2

    ?

    ■仮想マシンの作成

    残るは Live Migration する仮想マシンの作成です。
    ひとまず管理用端末の GUI で仮想マシンを作りたいと思います。

    クラスタの管理は RSAT の [フェールオーバー クラスタリング ツール] をインストールすればよいのですが、仮想マシンの作成は
    クラスタ用の管理ツールではできません。
    image

    仮想マシンを作成する場合は [Hyper-V ツール] をインストールする必要があります。
    image
    今回は管理用端末に SCVMM 2008 R2 の端末を使用しているのですが、この場合でも RSAT の Hyper-V ツールが必要になるんですね。

    GUI を使用して CSV を使用する仮想マシンを作成することができました。

    image?

    PowerShell の場合は、[Add-ClusterVirtualMachineRole] を使用すればよいと思うのですが、私の環境では
    エラーになってしまうんですよね・・・。
    GUI からは作成できているのでコマンドのオプションを間違っているような気がするのですが原因までは追えていません。

    ?

    コマンドからの仮想マシンの作成がうまくいっていないのですがひとまずこれで Live Migration に必要となる環境までは
    設定ができたと思います。

    GUI って楽だな~と改めて実感しました・・・。

    Written by Masayuki.Ozawa

    1月 31st, 2010 at 4:32 am

    Posted in Hyper-V