03 September 2014

(Linux) ext4パーティションのバックアップをClonezillaで行う

Knoppixのpartimageで、ext4フォーマットのパーティションはイメージバックアップを取ることができない。partimageの公式ページにも、『 ext4 unsupported 』と書かれている。

コマンドラインではなく、ミスの起こりにくい擬似GUIのバックアップソフトを探したところ、Clonezillaの利用例が多いということで、試してみた。

partimageでext4をバックアップした場合

バックアップが開始されずに、Can't read bitmap block 0 from image と表示される。

20140903-partimage-ext4-error.jpg

Clonezilla 起動メディアの作成

Clonezilla公式サイトのDownloadsから、

・ stable releases - 2.2.4-12 (Debian-based) … 145.8 MBytes
・ alternative stable releases - 20140915-trusty (Ubuntu-based) … 160.4 MBytes

のどちらかをダウンロードし、CD-ROMに書き込むか、あるいはunetbootinを用いてブータブルUSBメモリーを作成する。

今回は、Debian-basedの方をUSBメモリーに書き込んだものを用いた。

パーティションをバックアップする流れ

※ 画面キャプチャの都合上 VMWare上で仮想的に実行した画面。

20140903-clonezilla-lang.jpg

まず、言語の選択画面が表示されるが、「日本語訳が変で余計に戸惑う」ため、英語を選択するのが無難。


20140903-clonezilla-selectcmd.jpg

Clonezillaを起動するか、コマンドラインを起動するかの選択肢が与えられる。 どのパーティションをバックアップするのか、どのパーティションにファイルを保存するのか、パーティション一覧を念の為に確認するには、「コマンドラインの起動(Enter command line prompt)」を選択する。

コマンドラインで「exit」を入力することで、いつでもこの画面に戻ってくることができる


20140903-clonezilla-commandline.jpg

fdisk -lblkid コマンドでパーティション名やラベルを確認することができる。なお、ルート権限で実行する必要があるため、sudo fdisk -l のようにsudoを付けて実行する。

コマンドラインは exit コマンドで抜けることができる。


20140903-clonezilla-deviceimage.jpg

バックアップ先をファイルにするか、別パーティションにするかの選択。 ファイルにバックアップする場合は、device - image を選択する。


20140903-clonezilla-localdisk.jpg

イメージ保存先ドライブの選択。ネットワーク・ストレージも選択できるが、今回はローカル・ドライブ(local_dev)を選択。


20140903-clonezilla-localdiskdetect.jpg

保存先ドライブにローカル・ドライブを選択(Enterキーを押す)した場合、画面の支持に従い外付けディスクを使うときはここで接続を行う。 外付けディスクを接続すると、認識時のdmesgが画面に吐出されるので、その後にEnterキーを押す。

内蔵ディスクを含め、ここで全てのパーティションが検出され、保存先選択画面に遷移する。


20140903-clonezilla-saveselect.jpg

保存先パーティションを選択する。 パックアップするパーティションではないので注意する。


20140903-clonezilla-savedirselect.jpg

保存先のディレクトリを選択。 ここで選択したディレクトリ内に、次の画面で指定するサブディレクトリが自動作成される。

内部処理では、『 保存先パーティション + 保存先ディレクトリ 』 が /home/partimag にマウントされる


20140903-clonezilla-beginner.jpg

初心者・玄人モードの選択。 NTFSやext3/4 など、一般的なパーティションを単純にバックアップする場合は、初心者モードで構わない。


20140903-clonezilla-savemenu.jpg

パーティションの保存(saveparts)を選択する。

20140903-clonezilla-savesubdirselect.jpg

『 Input a name for the saved image to use 』 と書かれているが、実際は/home/partimag内に作られるサブディレクトリ名の指定だ。


20140903-clonezilla-targettosave.jpg

ここでやっと、保存元パーティションの指定。 SPACE キーで複数のパーティションを選択可能。


20140903-clonezilla-verify.jpg

バックアップ後にチェックするかの指定。 処理時間が2倍に増えるが、安全のため有効にしたほうが無難。


20140903-clonezilla-backupconfirm.jpg

バックアップ処理が最終確認されるので、画面に表示された内容で良ければ ENTER, Yes を入力する。


20140903-clonezilla-backup.jpg

バックアップが開始されるので、棒グラフが100%まで到達するのを待つ。


20140903-clonezilla-backupstatus.jpg

バックアップ完了画面。 『 Checked successfully 』 等と表示されていればOK。

次画面で、かならず 『 Power off 』 を選択し、ディスクキャッシュをフラッシュ(書き出す)してから外付けディスクを抜く。

実際のイメージ保存ディレクトリの状況

30GBytes(利用率 約50%)のUbuntu 14.04 パーティションをバックアップした、保存先ディレクトリの内容は次のようになっていた。 (バックアップ所要時間は約4分、イメージチエックの時間も約4分)

$ ls -la
合計 7778231
drwx------ 1 ** **       4096  9月 17  2014 .
drwx------ 1 ** **          0  9月 17 19:54 ..
-rw------- 1 ** **       9342  9月 17  2014 Info-dmi.txt
-rw------- 1 ** **      22798  9月 17  2014 Info-lshw.txt
-rw------- 1 ** **       1718  9月 17  2014 Info-lspci.txt
-rw------- 1 ** **        171  9月 17  2014 Info-packages.txt
-rw------- 1 ** **        100  9月 17  2014 Info-saved-by-cmd.txt
-rw------- 1 ** **       1965  9月 17 20:57 blkdev.list
-rw------- 1 ** **       1259  9月 17 20:57 blkid.list
-rw------- 1 ** **       5770  9月 17  2014 clonezilla-img
-rw------- 1 ** **         10  9月 17  2014 parts
-rw------- 1 ** **         38  9月 17 20:57 sda-chs.sf
-rw------- 1 ** **    1048064  9月 17 20:57 sda-hidden-data-after-mbr
-rw------- 1 ** **        512  9月 17 20:57 sda-mbr
-rw------- 1 ** **       1159  9月 17 20:57 sda-pt.parted
-rw------- 1 ** **        914  9月 17 20:57 sda-pt.parted.compact
-rw------- 1 ** **        823  9月 17 20:57 sda-pt.sf
-rw------- 1 ** **   18102078  9月 17 20:57 sda1.ntfs-ptcl-img.gz.aa
-rw------- 1 ** ** 2097152000  9月 17  2014 sda9.ext4-ptcl-img.gz.aa
-rw------- 1 ** ** 2097152000  9月 17  2014 sda9.ext4-ptcl-img.gz.ab
-rw------- 1 ** ** 2097152000  9月 17  2014 sda9.ext4-ptcl-img.gz.ac
-rw------- 1 ** ** 1654219644  9月 17  2014 sda9.ext4-ptcl-img.gz.ad

パーティションをリストアする流れ

バックアップの流れの説明で、「保存先ディレクトリの次の初心者・玄人選択」 を行った後、バックアップ/リストアの選択肢が示されるので

20140903-clonezilla-restoremenu.jpg

パーティションのリストア(restoreparts)を選択する。


20140903-clonezilla-restoredir.jpg

リストア元のファイルが格納されたサブディレクトリを選択する。


20140903-clonezilla-restoretarget.jpg

リストア先のパーティションを選択


20140903-clonezilla-restoreconfirm.jpg

リストア条件の最終確認画面が表示される。yes - yes と、2回再確認が行われる。


20140903-clonezilla-restoresuccess.jpg

リストアの状況表示。 バックアップの時と同じく、棒グラフが表示される。


20140903-clonezilla-restorefail.jpg

リストア先のパーティションを間違えた場合、このように失敗した旨の画面表示が行われる。

なお、このエラー表示をよく観察すると、別パーティションへの復元方法もあるようだ。

玄人メニューは…

初心者/玄人メニューの選択があるが、玄人を選択すると何が表示されるのか…

20140903-clonezilla-advancesave1.jpg

バックアップに用いるプログラムの優先度が選択できる。

・partclone
・partimage
・dd
・ntfsclone

と、選択できるようだ。


20140903-clonezilla-advancesave2.jpg

バックアップ時にMD5などのハッシュを生成させたりすることができるようだ。


20140903-clonezilla-advancesave3.jpg

バックアップ ファイルの圧縮レベル設定


20140903-clonezilla-advancesave4.jpg

バックアップ ファイルが大きい場合の分割単位


20140903-clonezilla-advancerestore1.jpg

リストアの玄人メニューは、このような感じだ

違うパーティションにリストアする方法

Clonezilla 公式ページのFAQに、『 How can I restore an image of a partition to different partition, e.g. restore the image of /dev/sda5 to /dev/sda6? 』 という項目がある。

それによれば、たとえば /dev/sda5 を保存したイメージを /dev/sda6 にリストアしたい場合は、バックアップされたイメージファイルのファイル名を変更しなければならないようだ。

mv /home/partimag/dir/sda5.ext4-ptcl-img.gz.aa /home/partimag/dir/sda6.ext4-ptcl-img.gz.aa
mv /home/partimag/dir/sda5.ext4-ptcl-img.gz.ab /home/partimag/dir/sda6.ext4-ptcl-img.gz.ab
...