ブログ
CloudCoreVPS でリモートバックアップ
クラウドVPSが花盛りです。
巷で花盛りだからという理由だけで契約する訳にはいきませんが、9年程前から運用していたデータ授受サーバー機器の老朽化が深刻となった為、思い切ってクラウドVPSを使ってみることにしました。
データ授受サーバーを FreeBSD で構築していたため( Amazon EC2 で FreeBSDが動作しない訳ではありませんがいろいろと面倒なことがあって。。。)、CloudCoreVPS を選びました。
項目 | Amazon EC2 small Instance | Cloud Core VPS |
---|---|---|
CPU | Xeon 1.2GHz相当 | 物理 1 Core |
メモリ | 1.7GB | 2GB |
ディスク | 160GB | 100GB |
料金 | 1367円/月 | 945円/月 |
取り敢えず10日間はお試し出来るとの事だったので早速申し込み。
5分程で設定完了のメールが届きます。
初期インストールされているOSは CentOS 5.6 でした。
コントロールパネルから好きなOSをインストールすることが出来る「OSインストール」機能があり予め幾つかのOSインストールイメージを選択することが出来ます。
選択肢にないOSは「ISOアップロード」機能を使ってOSインストールの際の選択肢に含めることが出来ます。
OSインストール機能の選択肢に「FreeBSD-9.0-RELEASE amd64」があったので迷わず選択しインストールを済ませたものの、どうも体感的に遅い。
調べてみると、FreeBSD 9.0 RELEASE では仮想化に適したドライバが標準では組み込まれていない、ということが分かりました。
手動で組み込めば利用出来るとのことだったので virtio-kmod モジュールを組み込み。
と、ここで気が付きました。
データベースやファイルのバックアップは出来る。けれども、システム丸ごとバックアップするにはどうすれば良いんだろう?
今のところはバックアップサービスやスナップショットサービスも提供されていない(OSイメージをファイルとしてバックアップし、世代管理ができるという機能を提供予定らしい)ようだし、外付けHDDを付ける訳にもいかないし。
いろいろ調べたところ、FreeSBIE(Live CD) を利用すれば起動した Live CD から SSH 経由で dump/restore が出来ることが分かりました。
一般的な Live CDで起動した場合は root ファイルシステムが読み取り専用なので設定を変更することが出来ないものなのですが FreeSBIE では root ファイルシステムが読み込み専用ではないので /etc/ssh/sshd_config とか /etc/resolv.conf とか、もういろいろ設定が変更出来る訳です。
- FreeSBIE.iso をダウンロード
- 「ISOアップロード」を利用して ISOイメージをアップロード
- 「OSインストール機能」を利用して FreeSBIE Live CD イメージを起動
- いろいろ設定を変更してリモートホストにダンプ
- シャットダウンして「ダッシュボード」から「起動」
という段取りです。
ネットワーク周りの設定をして、ssh 周りの設定をして、下記の呪文を唱えると FreeSBIE Live CD で起動した仮想マシンの rootファイルシステムのダンプを foo.bar.fuga の /home/hogehoge 以下に fuga_dump.gz というファイル名で作成します。
ローカルファイルシステムをリモートホストにダンプ
setenv TMPDIR /home/hoge
dump 0aCf 32 - /dev/ad0p2 | gzip -2 | ssh -l hoge foo.bar.fuga dd of=/home/hoge/fuga_dump.gz
当然、逆も可能です。
リモートホストのダンプファイルをローカルファイルシステムにリストア
ssh -l hoge foo.bar.fuga gzip -dc /home/hoge/fuga_dump.gz | restore -rf -
Live CD は HDD なしで起動出来ますので”やんちゃ”をしない限り HDD の内容が消えてしまうことはありません。そうは言っても HDDをフォーマットしちゃったり、ダンプするつもりがリストアしちゃったりといった間違いが起こる可能性がありますのでお試しになる場合は壊れても良い環境を作ってからにして下さい。
お決まりですが自己責任でお願いします。