EBSバックアップな話

By | 2013/07/16

お久しぶりです。
リプレーションのインフラ担当SE、utunです。

今回はAmazon EC2、及びEucalyptusのEBSバックアップ手段について、適当な感じに書いていきます。

EBS バックアップ

うん。
みんなバックアップしたいよね。

AWSなら自動でS3にバックアップされてっしー
俺別にミスとかしねーからバックアップとかいらねっしー
っつかバックアップ(笑)とかイレブンナインの堅牢性があればいらねっしー

と思っているそこの貴方!

そうじゃないんだ。
そうじゃないんだよ!
重要なのは、

バックアップイメージを他環境で使える

ってとこなんだ。

とか言ってるけど、現状うちではEucalyptusでしかテストしてないから、
AWSでやる人は自己責任でお願いするぜ!

EBS バックアップ方法

そんな訳で、移行できる事を前提にバックアップをするわけだけど、
他環境で使いたいってことは、当然S3保存じゃだめだよね。

EucalyptusでのEBSバックアップ

つかEBSでのバックアップとか、「/var/lib/eucalyptus/volumes/」取りゃいいだけだべJK
とか思っているかもしれない。
まぁ、あなたがpsqlで「volumes」「volume_tokens」「volume_exports」を整合性取れる形で手動で編集できるなら、
別にそれでもいいかもね。
でもぶっちゃけ面倒だぜ?
ってことで、そういう泥臭い事はしない。
んじゃどうするかってーと、こんな感じだ。

1、適当なインスタンスを一つ立ち上げる。
2、インスタンス上の「/root/.ssh/authorized_keys」の「ssh-rsa」より前を削除する。
3、バックアップしたいEBSをそれにアタッチする。
4、以下のコマンドでローカルにバックアップ
# ssh -i key.priv root@ “gzip – < /dev/vdb” | zcat > backup.img

実にスマートだね。
正直WebUIからボタン一発でできてほしいけど、
まぁ別にそこまで手間じゃないので、これでもいいかなって感じ。

AWSでのEBSバックアップ

ここは完全に僕の妄想なので、たぶんこれでいけんじゃね?って話。
バックアップまではできるのを確認してるけど、リストアがうまくいくかは未知数だ。

1、適当なインスタンスを一つ立ち上げる。
2、インスタンス上の「/root/.ssh/authorized_keys」の「ssh-rsa」より前を削除する。
3、sshd_confで認証をwithout-passwordにする。
4、バックアップしたいEBSをそれにアタッチする。
5、以下のコマンドでローカルにバックアップ (※ DLに若干お金かかるんで注意(10円くらい?))
# ssh -i key.priv root@ “gzip – < /dev/xvdf” | zcat > backup.img

こっちも大して変わんないな。
AWSはやってて思ったけど、パーティションがなんか特殊。
cat /proc/partitions
してみたらわかるけど、見た目上パーティション切ってない(?)風なんだ。
まぁ、amazonさんの深遠な考えがあるのだろう。

EBS リストア方法

なんか力尽きてきたんでざっくり行くぜ!

EucalyptusでのEBSリストア

1、適当なインスタンスを一つ立ち上げる。
2、インスタンス上の「/root/.ssh/authorized_keys」の「ssh-rsa」より前を削除する。
3、リストアしたいボリュームと同じ容量のボリュームを作る。
4、ボリュームをインスタンスに適当にアタッチ。
5、適当に以下のコマンドを打つ。
# gzip – < backup.img | ssh -i key.priv root@ “zcat > /dev/vdb”

AWSでのEBSリストア

何回も言うけど、ここは完全に僕の妄想なんで、もしやってみた人がいたら結果を書き込んでくれるとうれしい!

1、適当なインスタンスを一つ立ち上げる。
2、インスタンス上の「/root/.ssh/authorized_keys」の「ssh-rsa」より前を削除する。
3、sshd_confで認証をwithout-passwordにする。
4、リストアしたいボリュームと同じ容量のボリュームを作る。
5、ボリュームをインスタンスに適当にアタッチ。
6、適当に以下のコマンドを打つ。
# gzip – < backup.img | ssh -i key.priv root@ “zcat > /dev/xvdf”

そんな感じだ!
簡単だね!
Eucalyptusとか、ぶっちゃけここだけバックアップしとけば後は壊れてもなんとかなるし、
正直バックアップはEBSだけでいいと思うんだよねー。
まぁ丸ごとバックアップするときは、「/var/lib/eucalyptus/db」もとっちゃえばpostgreDBも一緒に取れて楽っちゃ楽かもだけどね。

蛇足

特に今回は面白い事も無いなー。
ちなみに、この前伊豆大島行ってきたんで、ついでにその爽やかな景色だけでも上げときます。

izuohshima

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です