バックアップは重要だ
ストレージエンジニアに必要な知識、経験について、これまでいろいろと書いてきている。アプリケーションの知識と経験がないとストレージは語れないと思うといつも書いているが、アプリケーションを導入するときに密接に関わっているし、ストレージの知識も必要なバックアップについて、これまであまり書いてきていないことに気が付いた。
ストレージエンジニアであればバックアップが語れなければ稼げない。
バックアップを考える上で重要な点をいくつか書いていきたいと思う。
ストレージに保存されたデータをバックアップするときにどのようなポイントを考えなければならないのか。エンジニアとして最低限考えるヒアリングポイントか下記になると思う。
- バックアップ対象データ容量
- アプリケーションの種類
- 止められるのか、止められないのか
- バックアップに許される時間は
- バックアップ取得先のメディアはテープかディスクか
- ストレージのスナップショットは使うか使わないか
上記の点はこれからまとめていくとして、まずアプリケーションのデータをバックアップするときの基本の考えをまとめないといけない。それは、
- データの静止点を必ず作ること
- データを復旧するために許される時間はどれくらいであるのか
バックアップで重要なことはどこまでのデータがバックアップされていて、復旧のときに何時までのデータが戻るのかということである。夜中0時であれば0時までのデータは必ず戻せるというポイント、データの静止点を作らなければならない。即ち、0時までに書き込まれたデータはバックアップされているから守られていて安心という状態を作ってあげることが必要だ。何時までのデータが戻るのかわからないというのは、どうやってデータを復旧して良いのかわからないと言っているのと同じである。必ずデータの静止点は作りたい。
サービスによっては使われているアプリケーションを24時間止めることができないこともあると思う。そんなときはバックアップソフトウェアの機能を使用したり、データベースであればログを貯めることで「バックアップ対象のデータベース本体への書き込みが行われていない=静止しているように見せる状態」を作り出すこともできる。
静止点さえ作ることができれば、あとはなにかあったときにデータを戻して復旧すれば良い。復旧のために許される時間はどれくらいなのかも次に重要な点で、前述の24時間稼動し続けるシステムにおいては、すぐにでも復旧させなければ収益に直結してしまう企業もあると思う。2時間以内、4時間以内など非常に厳しい復旧時間でも、なんとかデータを戻すことは現在の技術でいくらでも可能である。不可能を可能にする技術もこれから紹介していくが、ポイントは復旧時間を考慮してシステムの企画、提案をすること。
静止点と復旧時間を意識してバックアップを考えたい。