システムをネットワーク経由でバックアップ/複製可能なLinux「Clonezilla」
Windows用の定番バックアップソフトとして有名な製品の1つに「Norton Ghost」がある。今回紹介する Clonezilla は、そのNorton Ghostと同等の機能をオープンソース・ソフトウェアで提供することを目指して台湾のNCHC(National Center for High-performance Computing)が開発しているLinuxディストリビューションだ。Clonezillaはローカルディスクのドライブあるいはパーティション単位でバックアップを作成できる。単にドライブ/パーティションのコピーを別ドライブに作成できるだけでなく、バックアップをイメージファイルとして保存することが可能だ。イメージファイルを別のマシンにリストアすれば、Clonezillaの名前の由来であるシステムの“クローン”を作成することが可能になるわけだ。
2種類のエディション
Clonezillaには、「Clonezilla Live」と「Clonezilla SE」の2つのエディションが用意されている。前者はライブ版Linuxとして提供され、主に個人マシンでの使用を想定している。後者のClonezilla SEは、ディスクレスPCを使ったシンクライアント環境を実現するDRBL(Diskless Remote Boot in Linux)の一部として提供されているもので、主に学校や企業での利用が想定されている。イメージの転送はマルチキャストで行われるので、マシンの数が多い場合でも驚くほど高速だ。Clonezillaのサイトの記述によれば、Clonezilla SEを使用してNCHCのセミナールームにある41台のシステムに5.6GBのシステムイメージを展開するという処理は、10分程度で終了するという。本稿では、個人向けのClonezilla Liveを紹介する。最近のバージョンでは日本語キーボード配列に対応し、メッセージも日本語で表示することが可能だ。
様々なファイルシステムに対応
今ではLinux用のバックアップ、およびディスクイメージ作成ツールは多数があるが、Clonezillaはそれらの中からPartimage、ntfsclone、partclone、ddといった数種類のソフトウエアを組み合わせることによって、さまざまなファイルシステムへの対応を可能にしている。現在サポートされているのは、Linuxのext2/ext3、ReiserFS、XFS、JFS、WindowsのFAT、NTFS、および、Intel MacでのHFS+である。正式版はまだ未対応だが、テスト版はLinuxのext4にも対応している。
さらに、物理パーティションのファイルシステムだけでなく、LVM2の仮想パーティション(論理ボリューム)上のファイルシステムもバックアップ/リストアすることが可能だ。
Clonezilla Liveの起動
それでは早速使い方を説明しよう。ここでは、ローカルディスクのイメージファイルをネットワーク経由でサーバにバックアップしてみることにする。
Clonezilla LiveのCDからPCを起動すると、図1のブートメニューが表示される。ここで起動方法と画面解像度を選択してEnterキーを押せばClonezillaが起動する。通常は上の3つの「Clonezilla live (Default settings, VGA ○○x○○)」から希望する解像度のものを選べばよいが、うまくデスクトップが表示されない場合は「Clonezilla live (Safe graphic settings, vga=normal)」を試してみるとよいだろう。また、「Clonezilla live (To RAM. Boot media can be removed later)」を選択するとClonezillaのシステムがすべて実メモリに読み込まれ、起動後にメディアをイジェクトして光学ドライブを別な用途で利用可能となる。
ブートの途中で言語および、キーマップの選択画面が表示され、そのあと「Start_Clonezilla」を選択すると、イメージを作成/リストアするか、あるいはディスク/パーティションを複製するのか選択する画面が表示される(図2)。
イメージの作成、もしくはリストアを行うには「device-image ディスク/パーティション←→イメージ」を選択すればよい。
バックアップ先の選択
次にイメージファイルの保存先を指定する(図3)。保存先は、ローカルのハードディスクなどの他に、SSHサーバやNFSサーバ、あるいはWindowsの共有ボリュームなどを設定することが可能だ。いずれを選択した場合もイメージ保存用のファイルシステムは、/home/partimagディレクトリ以下にマウントされる。
ネットワーク経由でイメージファイルを保存できるのは、ローカルディスクに十分な空き容量がなかったり、そもそも1ドライブ1パーティションのPCで保存先として利用できるローカルディスクがなかったりする場合に便利だ。また、別のPCにバックアップファイルを置くことは、データ保護の観点からも好ましい。
ここでは、イメージファイルをSSHサーバに保存することにする。そのためには「ssh_server SSHサーバをマウント」を選択すればよい。すると、順にネットワークの設定画面(図4)、SSHサーバのIPアドレス、ポート番号、SSHサーバへのログイン名の設定画面が表示されるので、それらの項目を順次入力する。
続いて、SSHサーバ側のディレクトの設定画面が表示される(図5)。ここで、イメージファイルを保存するディレクトリを絶対パスで指定する。存在しないディレクトリを指定すると、この後の実行段階でエラーとなるので注意されたい。
SSHサーバへの認証が完了すると、動作モードを選択する画面となる(図6)。ディスク全体をイメージ化するには「savedisk ローカルディスクをイメージに保存」を選択すればよい。
すると、イメージの保存先のディレクトリ名を設定する画面が表示される(図7)。デフォルトでは「日付-img」というディレクトリ名が設定されており、このディレクトリが図5で指定したディレクトリの下に作られる。
続く画面でイメージ化するディスクを選択する。その後で、イメージの作成に使用するプログラムの優先順位やパラメータを設定する画面が表示されるが通常デフォルト設定のままでOKだ(図8)。
最終的な確認メッセージの後に、「y」をタイプすればイメージの作成が開始される(図9)。
処理が完了すると、SSHサーバ側の指定したディレクトリの下に、イメージファイル、ディスクの情報が記述されたファイル、設定ファイルなどが保存される。
$ ls -l partimag/2009-03-29-21-img/ 合計 3322080 -rw-r--r-- 1 o2 o2 14530 2009-03-29 22:40 Info-dmi.txt -rw-r--r-- 1 o2 o2 25249 2009-03-29 22:40 Info-lshw.txt -rw-r--r-- 1 o2 o2 261 2009-03-29 22:40 Info-packages.txt -rw-r--r-- 1 o2 o2 4 2009-03-29 22:40 disk -rw-r--r-- 1 o2 o2 36 2009-03-29 21:59 hda-chs.sf -rw-r--r-- 1 o2 o2 31744 2009-03-29 21:59 hda-hidden-data-after-mbr -rw-r--r-- 1 o2 o2 512 2009-03-29 21:59 hda-mbr -rw-r--r-- 1 o2 o2 265 2009-03-29 21:59 hda-pt.parted -rw-r--r-- 1 o2 o2 259 2009-03-29 21:59 hda-pt.sf -rw------- 1 o2 o2 2097152000 2009-03-29 22:26 hda1.ntfs-img.aa -rw------- 1 o2 o2 1301221104 2009-03-29 22:40 hda1.ntfs-img.ab -rw-r--r-- 1 o2 o2 5 2009-03-29 22:40 parts
イメージのリストア
最後に、イメージファイルをローカルディスクにリストアする方法を紹介する。そのためには、バックアップ時と同様の手順で、SSHサーバをマウントし、モードの選択画面(図6)で「restoredisk イメージをローカルディスクにリストア」を選択する。すると、リストアするイメージを選択する画面が表示されるので、目的のイメージを選択すればよい(図10)。なお、リストア先のディスクに十分な領域がないと、実行時にエラーとなるので注意してほしい。
USB版も利用可能
Clonezilla LiveにはUSBメモリ用のイメージファイルも用意されている(ZIP形式のファイル)。これを使えば、ネットブックなど光学ドライブのないシステムでも利用可能だ。インストーラなどは特に付属していないが、外部ツールのlive-usb-helperを使えば、Windows環境でも簡単にインストールすることができる。サイズも100MB弱と手頃なので、余ったUSBメモリを使って1本作成しておくと便利だ。