Date: Tue, 16 Jan 2007 10:13:57 -0800 (PST) From: Doug Ambrisko <ambrisko@ambrisko.com> To: Scott Oertel <freebsd@scottevil.com> Cc: Willem Jan Withagen <wjw@digiware.nl>, freebsd-stable@freebsd.org, Kris Kennaway <kris@obsecurity.org> Subject: Re: running mksnap_ffs Message-ID: <200701161813.l0GIDv78052359@ambrisko.com> In-Reply-To: <45A68F2E.6040205@scottevil.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Scott Oertel writes: | Kris Kennaway wrote: | > On Tue, Jan 02, 2007 at 09:06:24PM +0100, Willem Jan Withagen wrote: | > | >> Hi, | >> | >> I got the following Filesystem: | >> Filesystem Size Used Avail Capacity iused ifree %iused | >> /dev/da0a 1.3T 422G 823G 34% 565952 182833470 0% | >> | >> Running of a 3ware 9550, on a dual core Opteron 242 with 1Gb. | >> The system is used as SMB/NFS server for my other systems here. | >> | >> I would like to make weekly snapshots, but manually running mksnap_ffs | >> freezes access to the disk (I sort of expected that) but the process | >> never terminates. So I let is sit overnight, but looking a gstat did not | >> reveil any activity what so ever... | >> The disk was not released, mksnap_ffs could not be terminated. | >> And things resulted in me rebooting the system. | >> | >> So: | >> - How long should I expect making a snapshot to take: | >> 5, 15, 30min, 1, 2 hour or even more??? | > | > Yes :) Snapshots were not designed for use in this way (they were | > designed to support background fsck and allow faster system recovery | > after power failure), so they don't scale as well as you might like on | > large filesystems. | | If snapshots were designed to support background fsck, then why did they | not make it more scalable? If you can't create a snapshot without the | system locking up, that means fsck won't be able to either, making | background fsck worthless for systems with large storage. FWIW, with this patch I find making snap-shots a lot more reliable: --- sys/ufs/ffs/ffs_snapshot.c.orig Wed Mar 22 09:42:31 2006 +++ sys/ufs/ffs/ffs_snapshot.c Mon Nov 20 14:59:13 2006 @@ -282,6 +282,8 @@ restart: if (error) goto out; bawrite(nbp); + if (cg % 10 == 0) + ffs_syncvnode(vp, MNT_WAIT); } /* * Copy all the cylinder group maps. Although the @@ -303,6 +305,8 @@ restart: goto out; error = cgaccount(cg, vp, nbp, 1); bawrite(nbp); + if (cg % 10 == 0) + ffs_syncvnode(vp, MNT_WAIT); if (error) goto out; } or things can get wedged. We have some other patches as well that might be required. As a hack on a local server we have been using snap shots to do a "hot" back-up of a data base each morning. This is based on 6.x. Doug A.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701161813.l0GIDv78052359>