さくらVPSをバックアップしたい

スナップショットあったら、費用払うんですけどねぇー
クラウドほど開発リソース割いてもらえない感じなので、自前で何かを考える。

WebDAV サービス使う
ちょっと古いけど、これがヒット
InfiniCloud (旧TeraCloud) がWebDAV対応してるのを活用する
20GBあったら、はいりそうだね。
ちなみに、このあたりがTeraCloud時代の情報なので古い
mount -t davfs https://futtsu.teracloud.jp/dav/ /backup
Username: #TeraCLOUDユーザ名
Password: #TeraCLOUDパスワード
接続先URLなどがかわってるので、こちらの情報でアップデート。
アプリパスワードが個別発行されるので安心。つながった。

なんでもはいるね(アップグレードできれば)
$ df -h | grep dav
https://chogo.teracloud.jp/dav/ 1.3T 763G 509G 61% /backup

さて、どれでクローン or バックアップ作ろうか。
Clonezilla
「Ubuntuでは使用中のOSのクローンを作れない」ため、「Live USB」または「ブータブルディスク」で、クローンツールを起動し、システムドライブの中身をSSDにクローンする必要がある。
うーん、無理かぁ。普通そうだよね > 稼働中VM自身のクローン
起動したみた時のメニュー

Mond Rescure
Ubuntuリポジトリにないのでなぁ〜って思っていたのだけども、使ってみよう
と思ったのに、、、メインサーバーが応答せず。
止まってしまったのだろうか

dd コマンド
拡張子等は自由。ディスクが破損していた場合は、エラーで停止されます。
bs はバッファサイズ
# dd if=/dev/sda bs=64k | gzip -c > /tmp/backup/sda.ddimg.gz
これかな??

あ・・・単一ファイルの容量制限、ありそうやね。
# dd if=/dev/sfdsk/gfs/rdsk/vol0301 of=/dev/rmt/0 bs=1024k count=1024
# dd if=/dev/sfdsk/gfs/rdsk/vol0301 of=/dev/rmt/0 bs=1024k count=1024 iseek=1024
# dd if=/dev/sfdsk/gfs/rdsk/vol0301 of=/dev/rmt/0 bs=1024k count=1024 iseek=2048
...
ddで、1GBごとに分割するとか?シェルスクリプトかけば、いけそう。
1GB/3分でコピーできた。
ちなみにgzip効果は 1/4 にできたので、InifiniCloud上では 250MB程度。
# sudo dd if=/dev/vda3 bs=1024k count=1024 | gzip -c > /backup/vda3.ddimg-01.gz
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 172.306 s, 6.2 MB/s
あ、ない?
なら、まるごと投げてみても行けるのかな?やってみよう。

まるごとなげた。
が、gz中は /var/cache 配下にファイルがおかれてしまい、DISKスペースゼロとなり中断。無茶でした。
umount して、一度 /var/cache/davfs2/ をクリーン。
やはりある程度のサイズにまとめて扱うのがよさそう。
残り容量を考えると、 10GB ごとに gz かけるのはなんとかなるかな。1ファイルあたり2.5GBと考えて。
ただ、この手順でいいのかは疑問だな。
稼働中なのだから、そもそも自分自身のファイルをすべてステーブルな状態でとれるわけじゃないだろうし。。。rsyncとか?そっちの方向の方向があってる?

dd で 10GB程度ごとに分割して gzip かけることにした。これだと /var/cache 領域を埋め尽くすことなく進められる。
Ubuntuだと iseek オプションなかったので skip をつかって Input側をずらしていく。
# sudo dd if=/dev/vda3 bs=512k count=20480 | gzip -c > /backup/vda3.ddimg-01.gz
# sudo dd if=/dev/vda3 bs=512k count=20480 skip=20480 | gzip -c > /backup/vda3.ddimg-02.gz
# sudo dd if=/dev/vda3 bs=512k count=20480 skip=40960 | gzip -c > /backup/vda3.ddimg-03.gz
# sudo dd if=/dev/vda3 bs=512k count=20480 skip=61440 | gzip -c > /backup/vda3.ddimg-04.gz
# sudo dd if=/dev/vda3 bs=512k count=20480 skip=81920 | gzip -c > /backup/vda3.ddimg-05.gz
が。。。よくよく考えて /var/cache をどんどん使う形で / を含むイメージとっても無理だよね。とれるのはとれるだろうけど、それを復元したときつながらなさそうだ。やっぱり、この方向性は駄目ですね。。。
なんか、メンテナンスモードとかで別イメージで起動して、 / がマウントできればいいのに。