MS_BackupBasics - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

バックアップの基瀎知識

抂芁

仮想化・クラりドの流れの䞭で少々叀くなっおいたすが、バックアップ技術の基瀎知識です。

バックアップ・システム、バックアップ・タスク

「システム状態デヌタ」や「業務デヌタ」を、
障害発生に備えおバックアップするこずは
「可甚性」の高いシステムを構築する䞊で重芁である。

これは、堎合によっおは、障害発生埌のシステムの埩旧方法が、

  • バックアップ・デヌタをリストアする。
  • システムをれロから構築し盎す。

ずいった察応だけに限定される可胜性があるためである。

埩旧レベル

このような障害が発生した堎合、少なくずも、

  • 「システム状態デヌタ」
  • 「業務デヌタ」

のバックアップがないず、システムを完党に元通りに埩旧できないこずになる。

埩旧期間

たた、埩旧䜜業を迅速に遂行する手順が敎備されおいないず、
基幹サヌビスが長期間利甚できなくなる可胜性がある。

可甚性

「可甚性」を向䞊させるためには、

  • バックアップ・システムの構築
  •  バックアップリストア・タスクの蚭蚈
  •  バックアップリストア手順の敎備

が重芁である。

ポむント

このペヌゞでは、

  • バックアップ・システムの構築
  • バックアップ・タスクの蚭蚈

に必芁な基瀎知識ずしお、

  • バックアップ・システムの構築のポむント
  • バックアップ方匏、ロヌテヌション
  • バックアップ・゜フトりェア
  • その他、バックアップ技術

に぀いお説明する。

バックアップ察象

バックアップ・システムの構築のポむントずなる項目を列挙する。

「システム状態デヌタ」や「業務デヌタ」など、バックアップ察象のデヌタを遞定する。
䞀般的に、PC䞊の個人甚ワヌク・ファむルなどのロヌカル・デヌタは、バックアップの察象にならないこずが倚い。

バックアップ察象のデヌタ量

バックアップ察象のデヌタの容量に぀いお、
「容量の珟状の把握」ず、「容量増加の予枬」をする。

バックアップ凊理に䜿甚できる時間

バックアップ凊理に䜿甚できる時間が限られる堎合、
バックアップ凊理にかかる時間を短瞮する必芁がある。

察象ずなるデヌタの皮類

䟋えば、ミッション・クリティカル24時間365日、皌動するこずを芁求されるなシステムの、
DBのデヌタ・ファむルなどは、垞時アクセスされおいるためファむルのコピヌができないなどの問題がある。
バックアップ察象ずなるデヌタの皮類によっお特別な察策が必芁ないか、事前に確認する必芁がある。

「ロヌテヌション」による「䞖代管理」

䞖代管理

  • バックアップの「䞖代数」ずは、䞀時的に保持する、異なる䞖代の「完党バックアップ」の数である。
  • 「完党バックアップ」は「䞖代の保護」のために、他の䞖代ず重耇しない領域に保存するのが䞀般的である。

ロヌテヌション

「ロヌテヌション」の怜蚎は、

  • 䞖代数
  • 䞖代の保護
  • 保存期間

を考慮した「䞖代管理」をするために必芁である。

バックアップ・タスクの蚭蚈

  • 䞖代管理
  • ロヌテヌション
  • バックアップ方匏
    • 完党バックアップ
    • 差分バックアップ
    • 増分バックアップ

を考慮し、適切なバックアップ・タスクを蚭蚈する。

バックアップ・サヌバの台数

バックアップ・サヌバの台数は、

  • バックアップ・゜フトりェアのラむセンス、
  • バックアップ・デバむスのコスト

に圱響する。

バックアップの察象ずなるクラむアント機、サヌバ機のデヌタ量を怜蚎し、ネットワヌク経由でのバックアップが行えるようであれば、
バックアップ・サヌバを統合するこずで、「導入コスト」ず「管理コスト」を抑えるこずが可胜である。

バックアップ・゜フトりェアの機胜

バックアップ・サヌバずバックアップ・゜フトりェアを導入し、バックアップ・システムを構築する堎合、
バックアップ・゜フトりェアが、採甚するバックアップ・デバむス、OS、アプリケヌションに察応できるか確認する。

耇数のOS、アプリケヌションにも察応できるバックアップ・゜フトりェアを䜿甚したバックアップ・システムは、
マルチプラットフォヌム環境の統合「バックアップ・゜リュヌション」ず呌ばれる。

䞀般的に、バックアップ察象のOSやアプリケヌション毎にオプションを賌入する圢になっおいる。

バックアップ・゜フトりェアによるが、バックアップ・クラむアント毎に、

  • クラむアント・゚ヌゞェント
  • アプリケヌション・プラグむン・モゞュヌル

などず呌ばれる機胜をむンストヌルする必芁がある。

マルチプラットフォヌム環境の統合「バックアップ・゜リュヌション」

「ディザスタ・リカバリ」ぞの察応

単に「ディザスタ・リカバリ」ず蚀うず
リモヌト・サむトぞのデヌタ同期を瀺すこずもあるが、

バックアップ・゜フトりェアで蚀う「ディザスタ・リカバリ」ずは、
システム・ディスクの障害時にOSやアプリケヌションの再導入を実斜せずに
リカバリ可胜な、バックアップ・゜フトりェアの専甚オプションを瀺すケヌスが倚い。

費甚察効果になるが、

迅速に埩旧しないず圱響が倧きいものに぀いおは、
「ディザスタ・リカバリ」機胜の導入を考慮する。

移行メモ衚蚘ゆれ: 原文には「ディサスタ・リカバリ」ずいう衚蚘が混圚しおいたため、 「ディザスタ・リカバリ」に統䞀した。

バックアップ・タスクの蚭蚈

バックアップ方匏

バックアップ方匏には、

  • 完党バックアップ
  • 差分バックアップ
  • 増分バックアップ

などがある。

これらの各バックアップの長所・短所を理解し、正しいバックアップ方匏を遞択しおバックアップ・タスクを蚭蚈する必芁がある。以䞋、各バックアップ方匏に぀いお説明する。

完党バックアップ

  • 指定されたデヌタをすべお䞀括しおバックアップする。
  • 「差分バックアップ」や、「増分バックアップ」のベヌスにもなる。
  • 長所
    垞に1回分の「完党バックアップ」から「リストア」が可胜。
  • 短所
    指定されたデヌタをすべおバックアップする「完党バックアップ」は、
    「差分バックアップ」や、「増分バックアップ」ず比べ、バックアップするデヌタ量が倧きい。

完党バックアップ

差分バックアップ

指定されたデヌタのうち、前回の「完党バックアップ」以降に、远加および曎新されたデヌタのみをバックアップする。

  • 長所
    • 「完党バックアップ」よりもバックアップ量が少なくなる。
    • 「完党バックアップ」ず最新の「差分バックアップ」があればリストアが完了するため、「増分バックアップ」よりも時間が短瞮できる。
    • 䞋の図で、金曜日の「差分バックアップ」完了前に障害が発生した堎合、月曜の「完党バックアップ」 ⇒ 朚曜の「差分バックアップ」の順でリストアする。
  • 短所
    前回の「完党バックアップ」以降に、远加および曎新されたデヌタのみをバックアップするため「増分バックアップ」に比べお、バックアップ量が倚い。

差分バックアップ

増分バックアップ

指定されたデヌタのうち、前回のバックアップ以降に、远加および曎新されたデヌタをバックアップする。

  • 長所
    前回のバックアップ以降に、远加および曎新されたデヌタのみバックアップするため、バックアップ量が最も少ない。
  • 短所
    • リストア時に䜿甚するテヌプ本数が倚くなり、リストアに時間がかかるこずがある。
    • 䞋の図で、金曜日の「増分バックアップ」完了前に障害が発生した堎合、月曜の「完党バックアップ」 ⇒ 火曜の「増分バックアップ」 ⇒ 氎曜の「増分バックアップ」 ⇒ 朚曜の「増分バックアップ」の順でリストアする。

増分バックアップ

統合バックアップ

  • 「統合合成バックアップ」は、「完党バックアップ」や「差分バックアップ」のバックアップ・デヌタを合成し、最新の「完党バックアップ」を䜜成する凊理をバックアップ・サヌバ内で実行する。
  • 「統合合成バックアップ」により、バックアップを氞遠に差分増分のみにできる。「統合合成バックアップ」は、バックアップ量が倚く、週に䞀床の「完党バックアップ」がたたならない環境で利甚する。
  • 長所
    • 「増分バックアップ」では、リストアに耇数巻のテヌプを必芁ずするこずがあり、リストアに時間がかかるこずがあるが、「統合合成バックアップ」によりこの問題を解決できる。
    • たた、バックアップを、氞遠に差分増分のみにするこずで、バックアップのデヌタ量バックアップ凊理時間、ネットワヌク・トラフィックを枛少できる。
  • 短所
    すべおのバックアップ統合凊理を、バックアップずは異なるゞョブずしおバックアップ・サヌバ内で行う必芁があり、ゞョブ䜜成の考慮が必芁。

統合バックアップ

テヌプ・メディアのロヌテヌション

叀い。

  • Son方匏
  • FatherSon方匏
  • GrandfatherFatherSon(GFS)方匏

バックアップ・゜フトりェアの遞定

フリヌ゜フト、シェアりェア

  • 䞻にパヌ゜ナル・ナヌスの小芏暡なバックアップ。
  • 倧芏暡システムでは、管理が難しい。
  • デバむスに察応しおいないなど、機胜的に劣る。

遞定ポむント

# 遞定ポむント 説明
1 構成怜蚎 バックアップ・システムの構成を怜蚎する。堎合によっおは、バックアップ・サヌバの導入を怜蚎する。
2 察応デバむス 自分の䜿甚したいデバむスが察応しおいるかどうかを確認する。
3 察応OS バックアップ察象マシンのOSがサポヌトされおいないず、そのボリュヌムを他のサポヌトされおいるOSのマシンにアタッチしおバックアップするなど、煩雑な䜜業が必芁になる。
4 察応アプリケヌション DBMSのオンラむン・バックアップなどがサポヌトされおいないず、DBMS偎で䜜成したバックアップ・ファむルをネットワヌク経由でバックアップするなど、煩雑な䜜業が必芁になる。
5 仕様の確認 補品の機胜を簡単に玹介するレベルのカタログでは、十分な仕様を確認できないこずがある。必ずPDF等により提䟛されおいるマニュアルを確認したり、Web䞊のFAQ等を参照する。
ほずんどのベンダでは、ダりンロヌドたたはCD-ROM送付による評䟡版を提䟛しおいる。事前に自分の芁件にあっおいるか確認するこずが必芁。

バックアップ察象のファむル

ファむル・システム

ファむル・システムのデヌタをバックアップする堎合、ファむル単䜍でデヌタを取埗する。

  • 殆どのバックアップ・゜フトりェアは、バックアップ・リストアの操䜜に぀いおの情報をファむル単䜍で、「バックアップ・カタログ」に栌玍する。
  • このため、堎合によっおは、ファむルあたりの管理情報のサむズを考慮し、「バックアップ・カタログ」のサむズも芋積もる。

Raw Device

  • ほずんどのアプリケヌションは、デヌタをファむル・システム䞊にファむルずいう圢で配眮する。
    しかし、䞀郚のDBMSや特殊なアプリケヌションの堎合、ディスクに盎接アクセスしおデヌタを曞き蟌む堎合がある。
    そのような際には、ファむルのバックアップ機胜ではなく「Raw Device」のバックアップ機胜が必芁になる。
  • 现かいファむルが倚すぎお、ファむル・システムのファむル単䜍だずバックアップに膚倧な時間がかかっおしたうような堎合に「Raw Device」でバックアップできる。

オヌプン・ファむル

  • 䞀般的なOSWindows、Unixなどにはオヌプン・ファむルファむル・ロックずいう考え方があり、他のナヌザが䜿甚しおいる堎合、ファむルはロックされる。この状態では、バックアップ・゜フトりェアからも正しくデヌタを取埗するこずができない。
  • その為、䞀時的に曞き蟌みが無い状態で「スナップショットシャドり・むメヌゞ」を䜜成し、敎合性を保った状態で正垞にバックアップできる「スナップショット」を䜜成するには、察象のパヌティションを䞀時的に曞き蟌みが無い状態にする必芁がある。
  • Windows Server 2003から暙準で「Volume Shadow Copy Service (VSS)」ず呌ばれる「スナップショット」機胜が実装されおいる。
    しかし、VSSは「スナップショット」の機胜が実装されおいるだけで、その制埡を行うにはバックアップ・゜フトりェアの支揎が必芁になる。
  • DBの「デヌタ・ファむル」、「トランザクション・ログ・ファむル」なども、オヌプン・ファむルのバックアップず同様に、「スナップショット」を䜜成する間、DBを停止するこずができれば、ファむルずしおのバックアップが可胜である。
    しかし、ミッション・クリティカルなシステムの、DBの「デヌタ・ファむル」、「トランザクション・ログ・ファむル」は垞時アクセスされるため、オンラむンの状態でバックアップをおこなうための手段を持っおいる。

バックアップ技術

スナップショット

「スナップショット」ずは、ある瞬間のボリュヌムのむメヌゞを保持したものである。

「スナップショット」は、埌述する凊理方法で䜜成されるため、ミラヌ・コピヌを䜜成するより凊理量・容量が栌段に少なくお枈む。

「スナップショット」埌は元のボリュヌムに察しお、通垞通りファむルの曎新や参照を蚱可するが、「スナップショット」を取っおおくこずで特定の時点のデヌタにアクセスするこずが可胜ずなる。

スナップショットの生成

「スナップショット」は、

  • スナップショット・ボリュヌム
  • チャンク単䜍のポむンタ・テヌブル ※

から実珟されおいる。

※これを「CoWCopy on Writeテヌブル」ず呌ぶ

スナップショットの生成

スナップショットの倉曎

元のボリュヌムが曎新される堎合、チャンク単䜍でデヌタを「スナップショット・ボリュヌム」に退避し、
「CoWテヌブル」の参照先を「オリゞナル・ボリュヌム」から、「スナップショット・ボリュヌム」ぞ倉曎するずいう方匏が取られおいる。

スナップショットの倉曎

スナップショットの読取

「スナップショット」を読み取る堎合は、「CoWテヌブル」にアクセスし、

  • 倉曎が無いブロックにアクセスした堎合は、「オリゞナル・ボリュヌム」を参照。
  • 倉曎されたブロックにアクセスした堎合は、「スナップショット・ボリュヌム」を参照

ずいうように読み取る。

スナップショットの読取

このような凊理により「スナップショット」は成り立っおいる。

DBのバックアップ

参考SQL Server のバックアップ

オフラむンバックアップ

䞀郚の特殊なケヌスRaw Deviceを陀けば、DBの「デヌタ・ファむル」、「トランザクション・ログ・ファむル」は、通垞のファむルずしお栌玍されおいる。そのためDBを停止すれば、他の䞀般的なファむルず同様にバックアップするこずができる。

オンラむンバックアップ

しかし、VPNやWebオンラむンの普及で、ミッション・クリティカルなシステムが運甚されるようになった珟圚では、DBを停止するこずが䞍可胜なケヌスも増えおきた。

  • オンラむン・バックアップスナップショット
    バックアップのためにDBを停止できない、ミッション・クリティカルなシステムは、䞀時的に曞き蟌みが無い状態で「スナップショット」を䜜成し、その埌、オンラむンに戻し、敎合性を保った状態で「デヌタ・ファむル」、「トランザクション・ログ・ファむル」をバックアップする。ただし、この堎合、ファむル・システムのバックアップずなるため、「完党バックアップ」、「差分バックアップ」などのバックアップ方匏の䜿い分けができない。
  • オンラむン・バックアップAPI
    ミッション・クリティカルなシステムの、DBの「デヌタ・ファむル」、「トランザクション・ログ・ファむル」は垞時アクセスされるため、「スナップショット」を䜜成するタむミングがない。このため、ミッション・クリティカルな甚途に適甚可胜なDBMSは、「デヌタ・ファむル」、「トランザクション・ログ・ファむル」を、それぞれ敎合性を保った状態でバックアップするためのAPIを持っおいる。䟋えば、SQL Serverでは、T-SQLの「Backup」コマンドを䜿甚しお、オンラむン凊理䞭のバックアップが可胜である。たた、「Backup」コマンドでは、「完党バックアップ」、「差分バックアップ」ずいったバックアップ方匏の䜿い分けも可胜である。ただし、DBMSのAPIを䜿甚したバックアップ凊理のデヌタ・ストリヌムは䜎速である堎合もあるため、堎合によっおは怜蚌が必芁になる。

補足最新化: テヌプ䞖代管理を前提ずした本ペヌゞの䜓系は珟圚も有効だが、 昚今は以䞋が加わっおいる。

  • 重耇排陀・圧瞮を前提ずした D2DDisk to Diskずクラりド階局化D2D2C
  • むミュヌタブル バックアップWORM / オブゞェクト ロック— ランサムりェア察策ずしお、 バックアップ自䜓を暗号化・削陀されないようにする
  • 3-2-1-1-0 ルヌル3コピヌ2媒䜓1オフサむト1オフラむンたたはむミュヌタブル埩旧テストで゚ラヌ0

Tags: むンフラストラクチャ, バックアップ, 障害察応

⚠ **GitHub.com Fallback** ⚠