none
SQL Serverのフェイルオーバーにかかる時間について RRS feed

  • 質問

  • Windows Server 2008 R2(SP1)上にSQL Server 2008R2(SP1)を稼動させ、2台でMSFCを構成しております。

    データベース数が2000個あり、手動フェイルオーバーに約30分程度かかってしまいます。

    ちなみにSQL ServerのSP1適用は数時間かかりました。(これに関してはいつ終わるのか全く分からず、メンテ予定時間をかなりすぎても終わらず、顧客からも連絡が入り、強制で再起動させようかと思ったので本当に危険でした。SP2適用はもう出来ません。)

    データベース数が多いのが問題だと思っており、まとめることを計画しておりますが、計画終了まではかなり時間がかかります。

    停止したくないサービスですので、あまりメンテナンスも出来ないでいます。

    全DBの容量は、100GBなので、平均すると1個50MB程度になります。

    MSFC導入前は、時間がかかっても数分でフェイルオーバーが出来ると思っておりましたが、これではサーバーメンテナンスがすごくやりづらいです。

    フェイルオーバーを短時間で済ませる方法は有りませんでしょうか?

    2013年2月4日 8:10

すべての返信

  • これだけの規模では検証できないのでアレですが。
    Hyper-Vのライブマイグレーションでクラスタを構築してみてはどうでしょうか。

    2013年2月4日 13:25
  • CatTailさん、返信ありがとうございます。

    Hyper-Vですか。

    ちょっと調べたところ、検証サーバー3~4台は必要ですね。MSFCなら仮想サーバー上で検証する方法があったので良かったのですが、ともかく検証マシンが入手できればやってみたいですが、すぐには無理そうです。

    MSFCのフェイルオーバーの場合、手動フェイルオーバーさせると、Management Studioで確認すると、少しずつデータベースがデタッチされていくのが目に見えますので、恐らく、1個ずつデータベースをデタッチし、待機系に切り替わった後、アタッチするのに時間がかかっているようです。細かいファイルがたくさん有るとファイルコピーに時間がかかる原理と同じかなと思っております。

    要は、SQL Serverの停止に15分、開始(全てアタッチされるまで)に15分で、合計30分程度かかってしまうので、Hyper-Vでも同じかもしくは仮想サーバーである分遅いのでは?と思っております。Hyper-Vのライブマイグレーションでは、SQL Serverを停止しないのであれば、恐らく格段に速いと思われますがその様な仕組みなのでしょうか?

    ともかく検証が必要ですね。上でも書きましたが、環境が無いのでこちらの返答はすぐに出来ませんので、ご了承ください。

    2013年2月5日 1:34
  • すいません。

    MSFCでのSQLServerのフェイルオーバーの時間を短縮する方法・案については、質問は続行いたしますので、何かございましたら、返信いただけましたらありがたいです。

    2013年2月7日 6:19
  • 2000個のデータベースが常にオンラインになっている必要がありますか?

    常にオンラインである必要がなければ、オフラインにできるデータベースをオフラインにするか、データベースのautocloseオプションをONにしておくことで、通常はオフライン、使用時のみオンラインにすることができます。

    2013年4月19日 6:05
  • autocloseオプションですね。ちょっと調べてみて、こちらの環境で有効かを検討いたします。結果は、またご報告いたしますね。

    2013年4月23日 5:43
  • autocloseオプションについて調べてみましたが、どちらかというと開発環境向けという感じですね。オフライン化中にアクセスするとエラーになるようで、開発担当とも相談しましたが、その機能の導入は困難とのことでした。

    2013年5月29日 4:37