NTFS の領域にLinux の権限付きでバックアップ
前のエントリでバックアップをとっていますが,そもそもリモートのLinux マシンのHDD に空きが足りなくなったのでWindows のNTFS 領域に,権限が落ちない様にtar で取得しました.しかし,1度だけならともかく毎日バックアップをとろうと思うと時間がかかりすぎます.
rsync で差分バックアップをLinux の権限を残したままで行えるようにしてみました.
方法は,Windows のNTFS 領域にdd でバックアップ容量以上のファイルを作成し,ext3 でフォーマット,ループバックマウントを行ない,その中にバックアップを行ないました.
先ずは,Windows 共有のmount
Nautilus でmount すると,gvfs でよく解らないのでコンソールから普通にmount します.
% sudo smbmount //cifsserver/sharepoint /media/cifs -o user=cifs username
dd します.バックアップ対象が150GB 程あるので,今回はとりあえず200GB
% sudo dd if=/dev/zero of=/media/cifs/acer-backup.dd bs=1M count=204800
遅いー.数時間経っても4G とかなかなか処理が進みません
- chrysocome.net - dd for windows
http://www.chrysocome.net/dd
をWindows に導入.
Virtual devices
/dev/zero
/dev/random
仮想デバイスとして,/dev/zero, /dev/random があるので,これを使われてもらいます.これなら数分で終わりました.このときは実はfat で4GB しか出来てなかった.実際は数時間?放置してるうちに終わったので詳細不明.
> dd if=/dev/zero of=d:\acer-backup.dd bs=1G count=200
ここからはLinux に戻ってext3 で初期化して,ループバックマウントします.mkfs には20分程かかりました.
% sudo mkfs.ext3 /media/cifs/acer-backup.dd
mke2fs 1.41.11 (14-Mar-2010)
/media/cifs/acer-backup.dd is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048572 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
% sudo mount -o loop /media/cifs/acer-backup.dd /media/dd
% sudo chmod 777 /media/dd後は普通にrsync
% rsync -av ~ /media/dd
次からは,--detele option を付ける感じでしょうか
% rsync -av --delete ~ /media/dd
とりあえずこれでext3 にバックアップは取れるようになったけど,NTFS じゃなくてLinux のFS にbackup とれるようにHDD 増設したいですね….
追記)
NTFS と思い込んでましたが,実はこの領域はFAT でした.なので,dd で4GB ちょいしかファイル作れていなくrsync でNo space left on device となっていましたorz
convert コマンドでNTFS に変換することも考えましたが,データが失われるのが怖いのでLinux マシンへのHDD 増設にHDD 買ったと時に先ずはこっちのデータ移行してNTFS に変換しようと思います….
追記2)
改めてNTFS 領域で確認.200GB 問題なく利用できます.
dd は放置してたので時間不明.mkfs は20分程かかりました.