Cです。
普段、USBメモリにカスタマイズしたLinuxを持ち歩いているのだが。
そう、この前デスクトップの画像見せたやつだ。
そのUSBメモリ Linuxをさらにカスタムしたいと思った。
だけど、バックアップを取っていないので起動できなくなったときとかショックだ。
だからUSBメモリのバックアップを取っていくことにする。
この方法は色々な環境でも応用できるので参考にしてくれ。
バックアップのとり方は色々あるけれども、今回は
・USBメモリのディスクを丸ごとバックアップを取っちゃう
・取得したバックアップを仮想マシンで起動できちゃう
こんな感じ。
最初ESXiでVMを作ってiSCSIターゲットにして
USBブートしたLinuxに認識させて、
そこへDDでディスクイメージを取っていこうかと思ったのだけど、
やってみると、DDコマンドを実行してしばらくしたらESXi全体がフリーズしてしまう!
まだ調査はしてないけど、IO関係のエラーかな。今度調査する。
色々と試した末にたどり着いた方法が、「VirtualBOX」だ!
こいつはホストOSに接続したUSBメモリをゲストOSがしっかり認識してくれる。
■おおざっぱな手順(バックアップ)
1、VirtualBoxインストール
2、VirtualBox上にVMを作成
ディスクはOSが入るだけを確保しておけばよし。
3、OSインストール
私はdebianを最小構成でインストールした。
DDのパッケージも入れておこう。他にも必要なものがあればインストール。
4、いったんVMの電源をシャットダウンして
USBメモリのサイズに合わせて仮想ディスクをVMに追加する。
VirtualBOXもいったん終了する。
5、ホストOSにUSBメモリを接続。
VirtualBoxを起動してストレージのところでUSBメモリの設定をする。
6、VMを起動する。
fdisk -l とかdmsgなどでUSBメモリを認識しているか確認。
7、USBメモリとバックアップ用ディスクのヘッダ、セクタサイズを同じにする。
8、バックアップ用ディスクにUSBメモリ上のパーティションと同じサイズの
パーティションを作成
9、MBRのコピー
dd if=/dev/sdb of=/dev/sdc bs=512 count=1
10、パーティションのコピー
dd if=/dev/sdb1 of=/dev/sdc1 bs=4096
■バックアップディスクの起動確認
1、VMの上のOSを起動するためのglubを起動時にちょこっと変えてやって
バックアップ用ディスクから起動するように設定してやろう。
■USBへのリストア
バックアップ用ディスクからUSBメモリへddでコピーする、ただ逆なだけ。
というかカスタマイズをVMでやったほうが効率がいいのかも。
以上、わかりにくいバックアップ手順。