From owner-FreeBSD-users-jp@jp.FreeBSD.org Thu Nov 28 22:06:39 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id gASD6dn81375;
	Thu, 28 Nov 2002 22:06:39 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from is1.mh.itc.u-tokyo.ac.jp (is1.mh.itc.u-tokyo.ac.jp [133.11.205.11])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id gASD6c281370
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 28 Nov 2002 22:06:38 +0900 (JST)
	(envelope-from simokawa@sat.t.u-tokyo.ac.jp)
Received: from is1.mh.itc.u-tokyo.ac.jp (is1.mh.itc.u-tokyo.ac.jp [127.0.0.1])
	by is1.mh.itc.u-tokyo.ac.jp (Postfix) with ESMTP id 48723218117
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 28 Nov 2002 22:06:33 +0900 (JST)
Received: from mailhosting.itc.u-tokyo.ac.jp (IDENT:mirapoint@mailhosting.itc.u-tokyo.ac.jp [133.11.205.3])
	by is1.mh.itc.u-tokyo.ac.jp (8.11.3/8.11.3) with ESMTP id gASD6XJ20408
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 28 Nov 2002 22:06:33 +0900
Received: from ett.sat.t.u-tokyo.ac.jp (ett.sat.t.u-tokyo.ac.jp [133.11.135.3])
	by mailhosting.itc.u-tokyo.ac.jp (Mirapoint Messaging Server MOS 2.9.3.2)
	with ESMTP id AHL11541;
	Thu, 28 Nov 2002 22:06:32 +0900 (JST)
Message-ID: <ybs4ra1973b.wl@ett.sat.t.u-tokyo.ac.jp>
From: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <20021109.202357.60848359.okuyamak@dd.iij4u.or.jp>
References: <002901c287a0$c846de80$0300a8c0@yoron.kom.yoron.kom>
	<00d901c2872f$fc483b00$0300a8c0@yoron.kom.yoron.kom>
	<20021109.042007.91278840.okuyamak@dd.iij4u.or.jp>
	<20021109.202357.60848359.okuyamak@dd.iij4u.or.jp>
User-Agent: Wanderlust/2.11.0 (Wonderwall) REMI/1.14.3 (Matsudai)
 FLIM/1.14.3 (=?ISO-8859-1?Q?Unebigory=F2mae?=) APEL/10.3 MULE XEmacs/21.4
 (patch 8) (Honest Recruiter) (i386--freebsd)
X-Face: OE([KxWyJI0r[R~S/>7ia}SJ)i%a,$-9%7{*yihQk|]gl}2p#"oXmX/fT}Bn7:
 #j7i14gu$jgR\S*&C3R/pJX<mI-4Z8'mqt1R'CjWdw-xqVoilv`\JgZcquM5oV
 uO^<vt/~051rCDM(`{rM~?{Okr,XC+}Ycm9IJO)odT*-0nyJjBJYzL{GsZ
MIME-Version: 1.0 (generated by REMI 1.14.3 - "Matsudai")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 28 Nov 2002 22:06:32 +0900
X-Sequence: FreeBSD-users-jp 72376
Subject: [FreeBSD-users-jp 72376] ufs_copy (Re: disk
 =?ISO-2022-JP?B?GyRCJE5AaEYsJCskaTI/JTslLyU/O0gkbyRsJEYbKEI=?=
 =?ISO-2022-JP?B?GyRCJCQkayQrISEkSSROJGgkJiRLRDQkWSRrJDMbKEI=?=
 =?ISO-2022-JP?B?GyRCJEgkLCRHJC0kXiQ5JCshIxsoQg==?=)
Errors-To: owner-FreeBSD-users-jp@jp.FreeBSD.org
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: simokawa@sat.t.u-tokyo.ac.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+021111

$B2<@n$G$9(B.

$B?oJ,A0$NOC$G$9$,(B, 
disk $B$N(B backup $B$r$$$+$K8zN($h$/$H$k$+$K$D$$$F$G$9(B.

At Sat, 09 Nov 2002 20:23:57 +0900,
Kenichi Okuyama wrote:
> http://www.partimage.org/
> $B$H$$$&$b$N$b$"$j$^$9!#(Bbeta support $B$G$9$,(B UFS$B$b%5%]!<%H$7$F$$$^$9$7!"(B
> FAT$B$G$"$l$P$[$\40A4$KBg>fIW$G$9!#(BHDD$BA4BN$rJL$N(BHDD$B$K%P%C%/%"%C%W$9$k(B
> $B>l9g$O!"$+$J$jJXMx$G$9!#(B

$B3N$+$K(B, $B;HMQ$7$F$J$$(B sector $B$r$9$C$H$P$;$P(B, speed / space $B6&$K2~A1$5$l(B
$B$=$&$G$9$M(B. partimage $B$N$3$H$O$"$^$jD4$Y$F$^$;$s$,(B,$B$I$s$J7A<0$G=q$-$@(B
$B$5$l$k$N$G$7$g$&$+(B?

$B:G6a$O(B, HDD $B$,0lHV<j7Z$J(B backup $B<jCJ$K$J$j$D$D$"$k$N$G(B, dd $B$H$+;H$C$F(B, 
$B$^$k$4$H(B disk image $B$r(B copy $B$9$k$N$,0lHV$h$$$+$b$H$+;W$C$F$$$^$9(B. $B%i%s(B
$B%@%`%"%/%;%9$,$G$-$k$N$G(B, mdconfig $B$H$+$G(B, device $B$K8+$;$+$1$l$P(B,
mount $B$b$G$-$^$9$7(B, $B$J$s$H$$$C$F$b(B backup/restore $B$,B.$$$G$9$+$i(B.

$B$H$$$&$o$1$G(B, free block $B$rHt$P$7$F(B copy $B$9$k(B ufs_copy $B$H$$$&$N$r=q$$(B
$B$F$_$^$7$?(B. copy $B@h$O(B, dd $B$HF1$8$h$&$K(B, disk image $B$=$N$b$N$K$J$j$^$9(B
$B$,(B, free block $B$O=q$+$J$$$N$G(B, (UFS $B>e$J$I$K:n$C$?$P$"$$(B)sparse file 
$B$K$J$j$^$9(B.  ($B$D$^$j(B, ls -l $B$G8+$k(B size $B$O(B $B85$N(Bdisk $B$N%5%$%:$HF1$8$@$,(B,
du $B$G8+$($k%5%$%:$O(B, $B$b$H$N(B filesystem $B$G;H$C$F$$$kDxEY(B)

async I/O $B$b;H$($k$h$&$K$7$?$N$G(B, $BFC$K(B raw device $B$+$i(B raw device$B$X$N(B 
copy $B$O$+$J$jB.$/$J$C$F$$$^$9(B.  ($B$[$\(B, disk $B$N(B raw speed $B$,=P$k$O$:$G(B
$B$9(B. $B>r7o$K$b$h$j$^$9$,(B, 1GB$B$"$?$j(B 40$BICDxEY$G(B copy $B$G$-$k$N$G$O$J$$$+$H(B
$B;W$$$^$9(B)

$B$^$@(B, bug $BEy$b$"$k$+$b$7$l$J$$$N$G(B, $B$/$l$0$l$bCm0U$7$F;HMQ$7$F$/$@$5$$(B.
bug report $B$d(B benchmark $B$r$7$F$$$?$@$1$k$H(B, $B$H$F$b4r$7$$$G$9(B.

libufs $B$r;H$&4X78>e(B current $B$G$7$+(B compile $B$G$-$^$;$s$,(B, static link$B$9(B
$B$k$N$G(B, binary $B$r(B -stable $B$K;}$C$F$$$1$P(B, -stable $B$G$bF0$/$O$:$G$9(B.

dd $B$HF1$8$/(B, R/W mount $B$7$F$$$k(B filesystem $B$N(B image $B$r(B copy $B$7$F$bDTjm(B
$B$,$"$C$F$$$k$H$O8B$j$^$;$s(B. $B4pK\E*$K(B unmount $B$7$F$$$k$+(Bread-only $B$G(B 
mount $B$7$F$$$k(B filesystem, $B$"$k$$$O(B snaphost file $B$rA[Dj$7$F$$$^$9(B.

http://people.freebsd.org/~simokawa/ufs/

$B$A$J$_$K(B, disk $B>e$N$I$N%;%/%?$,;H$o$l$F$$$k$+$H$$$&Ev=i$N<ALd$O$3$N(B 
source $B$rFI$s$GD:$1$l$P$o$+$j$^$9(B. $B4X78$7$F$$$k$N$O?t==9TDxEY$G$9(B.

---------------------------------------------------------------------------
NAME
	ufs_copy - fast copy utility for UFS filesystem

SYNOPSIS
	ufs_copy [-a] [-B] [-b block_factor] [-v] src dst

DESCRIPTION
	The ufs_copy copies a UFS filesystem image like dd(1).
	It doesn't copy free blocks for speed and it generates
	a sparse destination file for saving space.

	-a	Use asynchronous I/O for fast copy. This needs kernel support.
		Do "kldload aio" or insert "options VFS_AIO" in your
		kernel config file

	-B	Copy boot blocks too.

	-b	Specify the amount of the data which tranfered at once.
		The size is limited to block_factor * fs_fsize.
		The default size is set to MAXPHYS.
		Note: for asynchronous I/O, don't increase this value than
		default. the transfer size lager than MAXPHYS gives poor
		performance.

	-v	Verbose

	src	Source filesystem: a device file, a mount point,
		a snaphost file or regular file.

	dst	Destination filesystem: a device file or a refular file.

EXAMPLE
	- Make a copy
	# ufs_copy -a /dev/ad0a /somewhere/backup_file

	- Check size and disk usage
	# ls -l /some/where/backup_file
	# du /somewhere/backup_file

	- Mount/unmount backup image
	# mdconfig -a -t vfs -f /somewhere/backup_file
	# mount -r /dev/md0 /mnt
	# ls /mnt
	# umount /mnt
	# mdconfig -d -u 0

	- Restore hole image
	# ufs_copy -a /some/where/backup_file /dev/ad0a1

BUGS
	It doesn't support UFS2 yet.
	Don't use this for devices which have bad sectors.
	Copying R/W mounted filesystem would give unexpected results,
	use snapshot file instead of it.

AUTHOR
	Hidetoshi Shimokawa <simokawa@freebsd.org>

/\ Hidetoshi Shimokawa
\/  simokawa@sat.t.u-tokyo.ac.jp
PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html
