停電・災害対策としてのサーバー停止手順: 依存関係の視覚化

Visio 使っていますか?

ここでは、MSN の運用チームでやっていた経験を基に箇条書きですが留意点を記載してみたいと思います。

マイクロソフト各製品の安全なサービス停止の手順については、公式情報が出ています。

パソコンやサーバーの停電対策、節電機能、その他、役立つマイクロソフト・サポート技術情報: http://support.microsoft.com/gp/jishin-taisaku/ja#tab0

マイクロソフト製品群のバックアップ、障害対応および節電に関する情報: http://technet.microsoft.com/ja-jp/gg703325

なぜそれ以外にここに書いてみるかといえば、これらは「個々のPC、サーバーレベル」であって、サービスとしての停止手順ではないからです。

皆さんのシステムで、単独のサーバーで動作しているものは少ないのではないでしょうか?

最近のシステムは、ほとんどがWebベースで、Webサーバー(HTML, Silverlight等のUIもWebサーバーから配信されます)とDBサーバーから成り立っています。ここで、DBサーバーを先に停止させるとどうなるでしょう?ユーザーにはエラー画面が表示されると思います。B2B系のシステムの組み方に設計上の漏れがあり、リクエストがSOAPなどの画面が無い形態のWebサーバーであった場合、Webサーバーが処理を受け取った段階で、処理完了にしている事も考えられます。

またそのシステムは他のシステムに依存している場合もあるのではないでしょうか?EAI/ESBシステムが停止すると何が発生するでしょう?

そして、システムは構築時点と現在とて置かれている状況が異なると思います。重要性、依存関係が複雑になっていないでしょうか?

ですので依存関係を把握し、その順番で停止させる必要があるのです。

以下が、その例になります

  • システム同士の依存関係ダイアグラム: ECシステムとCRM。EAIシステムと会計システム、など。場合によっては社外のシステムと連携している場合もあるでしょう
  • ネットワークダイアグラム: ネットワークの影響は甚大です。
  • システムアーキテクチャダイアグラム: 単一システムの論理的な構成になります。物理サーバーとは別で、システム自体を理解するためのものです。WebサーバーとDBサーバー。など
  • データフローダイアグラム: 上記に加えて、どのデータがどこで作成されて、どのサーバーにて加工されて、どこにてユーザーに提供されるのか。データのCRUDをシステムアーキテクチャダイアグラムにマップしたようなイメージでしょうか?これにより、不用意なデータのバックアップを最小化します。全部のサーバーの「データ」のバックアップが本当に必要かの判断になります
  • 物理サーバーダイアグラム: 1つのサーバーに複数のシステムが動いている場合も、最近のサーバー統合(サーバー仮想化を含む)で増えていると思います。

これらによって、該当サーバー、システム停止時の影響を把握します。結果、MTTRを考慮してのバックアップ・リストアの計画が立てられると思います。

皆さん運用におけるドキュメント整備すすめていらっしゃると思いますが、運用においては極力人依存を最小化する試みを考慮いただければと思います。人のフェイルオーバーですね。

改めて、Visio使っていますか?


ご参考:

Microsoft Operations Framework: Reliability Service Management Function: http://technet.microsoft.com/en-us/library/cc506069.aspx

広告

Microsoft 製サーバー製品の計画的な停止手順

今回の東日本の震災に協力できる方法として、節電があります。東京電力でも首都圏の計画停止をしていますが、それに備えるためにも、以下、可能な限りまとめてみます。あちこちを見なくても済むように。
なお、正式な絶対に間違いが無い、という情報ではない事だけご了承ください。
ですが、いずれも「元データベース」には影響がほとんどないと思いますので、他に手段がなければ、是非。

また、いくつかマイクロソフト製品の評価版をのせています。今回の用途は本番かと思いますので、その点のライセンス上の違いについてはご注意ください。

基本

バックアップとリストアです。バックアップは、OS (サーバー仮想化にて)、アプリケーションのデータ。の2段階で考えてください。Microsoft製品は、ADに依存して、バックアップデータが他のドメインに戻せない場合もありますので、ご注意を。

停電の場合は、フェイルオーバークラスターが組まれていても、それ全部が停止する可能性があります。ですので、データのバックアップを基本に。

HDDについてはしょうがない事があります。モーターで連続稼働をしているものは、一旦停止すると、二度と稼働しなくなる確率が増えます。もしかしたら、HDDのストックをご用意いただいた方がいいかもしれません。

以下、取り急ぎの「バックアップ」についてです。

Microsoft製品は、System Center Data Protection Manager 2010にておおむね対応もできます。ただ、ツールでブラックボックス化されている部分もありますので、リストア時にもしかしたら、このツールが必須になってしまうかもしれません。またADが必須なので、その点もご注意を。

評価版: http://technet.microsoft.com/ja-jp/systemcenter/dm/bb727240.aspx

 

1. OS

P2V

System Center Virtual Machine Manager 2008 R2 などのサーバー仮想化管理製品が使える状態であれば、OSごとバックアップです。

評価版: http://technet.microsoft.com/ja-jp/evalcenter/cc793138.aspx

手順:http://technet.microsoft.com/ja-jp/virtualization/ff603844.aspx

p. 98から

Windows Server

OS標準のバックアップ機能があります。「バックアップと復元」です。

Windows 2000 Server: http://technet.microsoft.com/en-us/library/bb727088.aspx

英語ですので、適時「Microsoft Translator」などで、翻訳してください。

Microsoft Translator: http://www.microsofttranslator.com/

こちらは、IE8以降であれば、アクセラレーターから。そうでなくとも、ページのURLを大きなテキスト部分に入力すると、英語などに翻訳してくれます

仮想サーバー

Hyper-Vであれば、「エクスポート」するか、一旦サービスを止めて、VHDファイルをコピーしてください

2: SQL Server

SQL Serverの各データベースは基本オンラインバックアップです。また、バックアップ後のファイルは、他のSQL Serverのインスタンスにも戻せますので、比較的やりやすいです。また、SQL Server 2000以降操作手順が大きく変わりませんので、その点も安心です。

バックアップと復元: http://technet.microsoft.com/ja-jp/library/ms187048.aspx

手順は、SQL Server Management Studioから、以下にてウィザード起動します。

SQLServerバックアップ

3: Exchange Server

こちらは手順書をダウンロードください

Exchange Server 2000: http://www.microsoft.com/downloads/details.aspx?FamilyID=c83a1161-f22b-4862-97a4-4a888839a455&displaylang=ja

Exchange Server 2003: http://www.microsoft.com/downloads/details.aspx?FamilyID=A58F49C5-1190-4FBF-AEDE-007A8F366B0E&displayLang=ja

Exchange Server 2007: http://technet.microsoft.com/ja-jp/library/aa998848(EXCHG.80).aspx

Exchange Server 2010: http://technet.microsoft.com/ja-jp/library/dd876874.aspx

4: SharePoint Server

SharePoint Server はデータをSQL Serverに保存をしているのですが、それ以外の場所にも例えば画像ファイルなどを保存している場合もあります。よって、基本はSharePoint Server標準のstsadmコマンドにてバックアップを取得されることをお勧めします

SharePoint Server 2003: http://office.microsoft.com/en-us/sharepoint-portal-server-it/backing-up-and-restoring-servers-on-the-server-farm-HA001160345.aspx

こちらも英語です。すいません。

SharePoint Server 2007: http://technet.microsoft.com/ja-jp/library/cc262412(office.12).aspx

SharePoint Server 2010: http://technet.microsoft.com/ja-jp/library/ee662536.aspx

—– (以下、3付き17日追記 ) —-

SharePoint Server 2010の災害対策情報。英語ですので、Microsoft Translatorにて適時機械翻訳をお願いします。

http://technet.microsoft.com/ja-jp/sharepoint/ff601831

———————————————————

IISやファイルサーバー

robocopy.exe がおすすめです。以前も自分のBlogに書きましたが。

バックアップ先

こんな時だからこそ、クラウドがいいと思うのです。ですが、ファイルサイズが大きすぎる場合には、手元のUSB HDDなども現実的かもしれません。

今、日本マイクロソフトでは、90日間Windows Azureを無償で提供しています。100TBのストレージが使えます。

以下が、私の考えているものです。決してこうしてください、というものではありません。

1. Azure の契約。以下のドキュメントをご参考に

https://daiyuhatakeyama.files.wordpress.com/2011/03/windowsazureplatform_e382a2e382abe382a6e383b3e38388e4bd9ce68890e6898be9a086.pdf

2. Storageの設定

  • Azure管理ポータルに接続。契約時の管理者のWindows Live IDにて。

https://windows.azure.com/

  • [Hosted Services, Storage …] などを選択。画面上部の [New Storage Account]を選択する

image

  • ストレージアカウント作成画面が出てくるので、URLとデータセンターを決める。データセンターは、[East Asia] =香港 がおすすめ。

image

  • これで、ストレージが使えるようになります。画面右側の [Blob URL]がファイルサーバー「的」なBlobのアドレスになります。

image

3. フォルダの作成

以下のフリーツールが個人的なおすすめです。

Azure Storage Explorer: http://azurestorageexplorer.codeplex.com/

ツール起動後、[Add Account] にて、設定した各項目を設定

image

Storage account name: Blob URLの最初の “.”まで。例えば “dahatakefile” など

Storage account key: Azure 管理画面の [Primary access key] にて表示されるダイアログ画面の、[Primary …]で表示されいる部分を [Copy to Clipboard]で、コピー。その値を貼り付け。

image

4. ファイルシステムと、Azureをマウントさせます。

  • Gladinet Desktopをダウンロード

http://www.gladinet.com/

Azure Blog Storage とファイルシステムをマッピングしてくれるツールです。無償でも結構いけます。3.0になって安定しました。

インストール後、起動させると、タスクバーに常駐します。

image

右クリックして、[Management Console]を選択します。管理画面が起動します。

image

画面上の [Cloud Drive]を選択します。

image

画面左側の プラスマークが付いたアイコン をクリックすると、ウィザードが起動します。Azure Blob Storageを選んで (勿論、他でもいいですが、今回100TBまで使えますので)、

image

以下を入力します。

Access Point: Azure 管理画面の Blob URL
例: dahatakefile.blob.core.windows.net

Account Name: Azure Blob URLの最初の.まで。
例: dahatakefile

Primary Access Key: 先ほどと一緒

 

これで、初期設定ですと、 Z Drive にマウントできると思います。

このツールは、ローカルキャッシュとして、%LOCALAPPDATA%\Gladinet\cache にファイルをコピーします。つまり、このキャッシュ設定は、場合によっては大きな空きのある場所に設定ください。

image

後は、robocopyも動きます。
例えば:

robocopy <元の場所> <Gladinetにてマウントしたドライブ\> /MIR /Z

SQL ServerとSQL Azureの同期

今回ご提供している無料オファーですと1GB / 1か月ですので、本番システムではあまり使えないかもしれませんが・・・宜しければ、という意味で。

http://msdn.microsoft.com/ja-jp/windowsazure/gg261724.aspx

このツールが便利です。SQL Azureは1DB 50GBまでですので、その範囲であれば、何個DBを作っても構いません。

http://sqlazuremw.codeplex.com/

今日時点では、v3.5.7 が動作します。zip解凍して、exeを起動するだけです。

こちら、日本語対応をしておりますので、ほぼウィザードに従って動作すると思います。

(以下、3月17日追記)

Windows のリモートからの停止

英語のドキュメントなのですが、Microsoft Translatorにて日本語にも翻訳できますので、是非ご参考にしてください。

http://social.technet.microsoft.com/wiki/contents/articles/windows-server-emergency-management-resources.aspx

 

こちらも参考になります。

http://technet.microsoft.com/ja-jp/library/cc770416.aspx