ClonezillaでUbuntuのバックアップ

現在使用中のUbuntuですが、こちらにもあるとおり"Ubuntu 10.04.1 LTS"という古いバージョンです。現時点での最新バージョンはDownload Ubuntu Server | Download | Ubuntuを見てみると"Ubuntu 11.04 - Latest version"とあります。これはアップグレードしたくなりますね、ハイ。
で、アップグレードしようと血気盛んになるその前に。ひとつ冷静に。日本語版の公式wikiを見るとこんなことが書いてあります。

既にオペレーション・システムがインストールされているなど重要なデータがある場合、インストールやディスク(パーティション)操作を行なう際の不慮の事故に備えて、その重要なデータのバックアップをして下さい。これは保険と考えて下さい。(データの損失で困るのは自身です。)

インストールをすることは、Ubuntuを使うことが主なる目的でしょう。 復旧に時間を費やすのではなく、Ubuntuを使うことにその時間を当てて下さい。

UbuntuTips/Install/Backup - Ubuntu Japanese Wiki

もっともな話です。
よってまずはUbuntu搭載マシンのディスクの状態をまるっとバックアップ取りたいと思います。上記引用wikiページにも載っている"Clonezilla"を採用することにしました。

そもそもClonezillaってなんだろう

You're probably familiar with the popular proprietary commercial package Norton Ghost〓. The problem with these kind of software packages is that it takes a lot of time to massively clone systems to many computers. You've probably also heard of Symantec's solution to this problem, Symantec Ghost Corporate Edition〓 with multicasting. Well, now there is an OpenSource clone system (OCS) solution called Clonezilla with unicasting and multicasting!

Clonezilla - About

ユニキャストでもマルチキャストでもイケるオープンソースクローンシステムで、ノートン・ゴーストを志向しているようですね。複数のマシンを同じような環境にする必要はありませんが、とりあえずこいつの存在意義はわかりました。早速使ってみます。

Clonezillaのイメージをダウンロード

  1. Clonezilla - Downloadsで"Download stable releases (.iso/.zip)"をクリックして遷移
  2. "1.2.9-19"をクリック。
  3. 複数のダウンロード候補から所望のファイルをダウンロード。よくわからなかったが、"If you are not sure which one fits your machine, try i486 version first."と書いてあったのでとりあえずi486でいくことにする
  4. ダウンロードにとても時間がかかった。

ダウンロードしたファイルから起動ディスクを作成

当段落はMacでの作業です。

  1. ディスクユーティリティを開く。
  2. ツールバーの"ディスクを作成"をクリック
  3. さきほどダウンロードした.isoファイルを選択してディスク作成

Ubuntu搭載マシンを起動ディスクから立ち上げる

当段落はUbuntu搭載マシンであるMSI Wind U100に外付けDVDドライブをUSB接続して行った作業です。

  1. 作成した起動ディスクを挿入したDVDドライブをMSI Windに接続
  2. 起動。この際にF11を押して起動ディスクの順番選択画面を表示
  3. USB接続しているDVDドライブを選択
  4. Clonezillaが立ち上がる

Clonezilla でバックアップを取る

当段落は、MSI Wind U100のディスクをイメージとしてSambaで実装されたNAS(192.168.24.3というIPアドレスを持つ)にバックアップする作業を行います。ただしusernameおよび/path/to/destは適宜読み替えてみてください。また三点リーダ(...)は省略を、[Enter]はEnterキー押下を意味しています。

  1. Choose Language > 日本語
  2. Configuring console-data > 完全なキーリストからキーマップを選択 > pc/qwerty/Japanese/Standard/Standard
  3. Clonezilla を開始します > Start_Clonezilla Clonezilla を開始します。
  4. Clonezilla > device-image ディスク/パーティション ⇔ イメージ
  5. Clonezilla イメージディレクトリのマウント > samba_server Samba サーバ(Network Neighborhood サーバ)をマウント
  6. 設定したいネットワークデバイスの選択? > eth0
  7. ネットワーク設定 > ネットワークのセットアップモードを選択してください: eth0 > dhcp DHCP ブロードキャストを使用
  8. Mount Samba Server > サーバのIPアドレスFQDNを入力して下さい。 > 192.168.24.3
  9. Mount Samba Server > Sambaサーバのドメインを入力して下さい。> 空白のまま
  10. Mount Samba Server > サーバのアカウント名を入力して下さい。 > username
  11. Mount Samba Server > Clonezillaイメージが保存または読み出されるディレクトリを入力して下さい。 > /path/to/dest
  12. Mount Samba Server > 次のパスワードを入力する必要があります "username"@192.168.24.3:/path/to/dest > [Enter]
  13. プロンプトが表示されパスワードを要求されるので、パスワードを入力して[Enter]
  14. :Enterを押し続けてください > [Enter]
  15. Clonezilla - オープンソース複製システム(OSC)> Beginner 初心者モード: デフォルトオプションを了解
  16. Clonezilla: モードを選択してください > savedisk ローカルディスクをイメージに保存
  17. Clonezilla - オープンソース複製システム(OSC)| モード: savedisk > イメージの保存名を入力してください。 > 2011-08-16-02-img
  18. Clonezilla - オープンソース複製システム(OSC)| モード: savedisk > コピー元のローカルディスクを選択してください > sda 160GB...
  19. Clonezilla 拡張パラメータ | モード: savedisk > イメージ保存後、イメージが復元可能かどうかのみチェックしますか? > はい
  20. [Enter]
  21. 次のステップは、このマシンのハードディスク/パーティションをイメージとして保存することです: > 本当に続けてもよろしいですか? > y
  22. このパーティションイメージは partclone によって保存されたものではありません。本プログラムは partclone によって保存されたパーティションのみ機能します。チェックを省略します。 > [Enter]
  23. 本イメージ中のこのパーティションは復元可能です : sda1 本イメージ中で壊れたパーティションイメージが発見されたか、それらの一部がチェックできない状態です:2011-08-... > [Enter]
  24. 再度Clonezillaを使用したい場合 > [Enter]
  25. Now you can choose to: > 0 Poweroff

24.で「sda1のチェックはOK。sda5のチェックはそもそも出来ません」との旨の表示がでました。むむむ。

確認

復元することが確認に当たると思うのですが、ここでは復元を試すマシン(バーチャルも含めて)がないので行いません。
ちなみに、約150GBのディスクを

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 142G 2.4G 132G 2% /

わずか976MBでバックアップできました。

これはそもそも使用領域が少なかったためだと思うのですが、Clonezillaが圧縮してイメージを作成してくれた恩恵でしょう。ディスクまるっとバックアップ取るときにも安心ですね。

なおClonezillaは,バックアップ元のハードディスクの使用している領域だけを読み込み,さらに圧縮して保存するので,バックアップ先が同じ容量のドライブである必要はありません。

第121回 Clonezillaを使ってハードディスクを丸々バックアップ:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

ただし、公式サイトではバックアップ先のパーティションはバックアップ元と同じかそれ以上の容量が必要と書いてあるので油断は禁物です。

The destination partition must be equal or larger than the source one.

Clonezilla - About

ところで「sda1のチェックはOK。sda5のチェックはそもそも出来ません」との旨の表示が気になります。
このマシン自体に大事なデータはRedmineのデータしか入っていません。とりあえずUbuntuのアップグレードに失敗してもRedmineさえ復活できれば泣くことはないでしょう。
ディスク全体のバックアップにトライしておいてなんですが、万全を期すためにRedmineのバックアップも取ることにします。次回以降。