Views
Partimage - ハードディスクイメージバックアップツール
-
特にUbuntu固有の話ではないです。
-
ハードディスクのパーティションイメージを丸ごとバックアップ・リストアするツールです。
-
ホームページ http://www.partimage.org/
お手軽な使い方
-
サーバはダウンロードのページ( http://www.partimage.org/download.en.html )の"Static i386 binary tarball"を使います。
-
このバイナリだと http://www.partimage.org/doc/index-3.html#ss3.5 に書いてあるような実行用のユーザアカウントを作るなどの手間が要らないので楽です。その代わりセキュリティは甘いのでLAN環境で利用してバックアップとリストアの時だけサーバを起動するようにしたほうがいいです。 tarballをとってきて解凍して ./partimaged と実行します。
-
この方法で起動した場合、バックアップイメージファイルは起動ディレクトリに配置されます。
-
-
クライアントは SystemRescueCd?( http://www.sysresccd.org/ )のISOイメージを焼いたCD-ROMから起動して ./partimage と実行します。
-
http://www.partimage.org/doc/index-3.html#ss3.1 にあるようなCUIが起動するのでサーバのバックアップ対象パーティションやサーバのIPアドレスやサーバ上に保存するファイル名などを入力して実行します。
-
代わりにコマンドライン引数でこれらの値を指定することもできますので、シェルスクリプトを作っておけば自動化もできそうです。引数の説明は ./partimage --helpで表示されます。
-
MBRはddでパーティションテーブルはsfdiskで別途バックアップ
-
パーティションイメージ自体はpartimageでバックアップするのですが、MBRとパーティションテーブルの情報は別途バックアップする必要があります。 http://orgs.man.ac.uk/documentation/partimage/index-3.html#ss3.7 を参照。
-
バックアップ
-
USBメモリ上に作業ディレクトリを作成します。
# cd /dev/sda1_XXX_XXX # mkdir work # cd work
-
MBRのバックアップ
# dd if=/dev/hda of=mbr.img count=63 bs=512
-
MBRだけならcount=1なんですが、Cドライブのブートセクタも併せて保存しておくためcount=63としています。詳しくはhttp://lets-go.hp.infoseek.co.jp/dd.htmlを参照。
-
パーティションテーブルのバックアップ
# sfdisk -d /dev/hda > sfdisk.out
-
リストア
-
USBメモリ上に作業ディレクトリに移動します。
# cd /dev/sda1_XXX_XXX/work
-
MBRのリストア
# dd if=mbr.img of=/dev/hda
-
パーティションテーブルのリストア
# sfdisk --force /dev/hda < sfdisk.out
SystemRescueCd? - システムレスキュー用CD
-
ホームページ http://www.sysresccd.org/
-
http://www.partimage.org/ によるとSystemRescueCdはPartimageプロジェクトのメンバーによってメンテナンスされているそうです。
-
FAQ( http://www.sysresccd.org/faq.en.php )によるとQtPartedなどが2.6カーネルで動かないのでSystemRescueCdは2.4ベースとのことです。2.6カーネルをベースにするならSLAXが簡単でよかったです。
SLAX
-
ホームページ http://slax.linux-live.org/
-
カスタムのブートCDやUSBメモリを作るのに最適なLinux。Slackware Linuxベース。
-
http://slax.linux-live.org/download.php の SLAX Frodo Edition v 5.0.6なら47MBとコンパクトです。
-
USBメモリをセットアップするには以下のページが参考になりました。
-
記事では slax-killbill-5.0.5.iso を使用していますが slax-frodo-5.0.6.iso でもいけました。
-
USBメモリがLiveCDと違うのは vmlinuz や initrd.gz を /boot ではなく / (ルート)に置く必要があることです。でないと見えないようです。また USBメモリから起動するために syslinux -s /dev/sda の実行が必要です(Ubuntuの場合、実行にはsyslinuxとmtoolsパッケージが必要でした)。
-
Partimageを組み込むには、SLAXのモジュールとして提供されているもの( http://slax.linux-live.org/modules.php?category=other&id=122&name=Partimage )も試してみましたが、結局 Partimageのホームページで配布しているスタティックバイナリ partimage-0.6.4-static.tar.bz2 をUSBメモリに入れることにしました。モジュールとして提供されているほうはログインが必要な設定でコンパイルされていますが、スタティックバイナリ版のほうはログイン不要な設定でコンパイルされているので使うとき楽だったからです。
-
USBメモリにファイルを追加する手順は http://slax.linux-live.org/doc_customize.php#addfiles に説明がありますが、/rootcopy/というフォルダにディレクトリ付きでファイルを配備しておくのが楽だと思いました。
-
syslinuxに-sオプションを付けると起動が遅くなるので、起動してみて問題がある場合にのみつけるようにします。
-
まとめるとこんな感じです。
mkdir slax mount -o loop slax-frodo-5.0.6.iso slax cp -ra slax/* /mnt/sda/ umount slax cd /mnt/sda/boot/ mv vmlinuz initrd.gz splash.cfg splash.txt memtest .. cd /mnt/sda/ mv isolinux.cfg syslinux.cfg vi syslinux.cfg # ↑boot/を全て削除して保存 mkdir -p /mnt/sda/rootcopy/usr/bin tar jxf ~/partimage-0.6.4-static.tar.bz2 -C /mnt/sda/rootcopy/usr/bin syslinux /dev/sda
NTFSパーティションのバックアップについて
-
http://www.partimage.org/ の説明によると、Partimageは実験的なレベルですがNTFSのバックアップ・リストアも可能です。ただし、バーティションが暗号化されていないこととフラグメンテーションがひどくない状態であることが前提だそうです。
-
WindowsXP?をクリーンインストールしてSP2を適用しアップデートを行った状態でバックアップ・リストアを試してみたところではうまくリストアできました。日常的に使用しているパーティションではフラグメンテーションがひどくなっているかもしれないので無理かもしれません(試してません)。
-
g4u ( http://www.feyrer.de/g4u/ )というNetBSDベースのツールではファイルシステムを解釈せず単にパーティションイメージを丸ごとバックアップするのでどんなファイルシステムでも対応可能だそうです。ただしイメージファイルは大きくなってしまうそうです。
他のバックアップツール
-
http://www.thefreecountry.com/utilities/backupandimage.shtml にバックアップ関連ツールの一覧があります。