Snapshot corruption on 6.1/amd64
Eric Anderson
anderson at centtech.com
Thu Sep 21 13:42:58 PDT 2006
On 09/21/06 14:59, James Lauser wrote:
> Hello.
>
> I've been having some trouble with snapshots on my FreeBSD 6.1/amd64
> system. Basically, I have this system set up with a 3ware RAID card
> and several disks, and use it to collect backups from my other
> FreeBSD server (sparc64) and three Macs via rsync..
>
> Every night, I have a script generate a snapshot of the RAID's file
> system, and those snapshots are kept on the system for one week
> before being removed (i.e. there are always 7 snapshots present on
> the system), so I can recover files that were accidentally removed or
> changed.
>
> The problem is that when a large number of files are removed or
> changed on the file system, the corresponding files in the snapshot
> get corrupted. This, obviously, makes the snapshots quite useless.
>
> After some searching, I've found a bug report filed last year that
> describes this problem exactly, though the log of that report does
> not suggest that anything has been done with it. That report is at
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/90512
>
> Any help would be greatly appreciated. A test I ran showing the
> problem, plus the output of uname -a and dmesg.boot is attached.
>
> Thanks in advance.
> Sledge# cd /raid
> Sledge# touch foo
> Sledge# ls -l foo
> -rw-r--r-- 1 root wheel 0 Sep 18 14:07 foo
> Sledge# mksnap_ffs /raid /raid/.snap/snap
> Sledge# rm foo
> Sledge# mdconfig -a -t vnode -f /raid/.snap/snap -u 4
> WARNING: opening backing store: /raid/.snap/snap readonly
> Sledge# mount -r /dev/md4 /mnt
> Sledge# cd /mnt
> Sledge# ls -l foo
> ls: foo: Bad file descriptor
> Sledge#
> Sledge#
> Sledge#
> Sledge# uname -a
> FreeBSD Sledge.jlauser.net 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6 #4: Wed Sep 6 23:30:56 EDT 2006 root at Sledge.jlauser.net:/usr/obj/usr/src/sys/GENERIC amd64
Hmm.. Interesting, it seems to work fine for me:
[root at neutrino /tmp]# dd if=/dev/zero of=TESTDISK bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 3.390829 secs (30923882 bytes/sec)
[root at neutrino /tmp]# mdconfig -a -t vnode -f ./TESTDISK
md0
[root at neutrino /tmp]# newfs -U /dev/md0
/dev/md0: 100.0MB (204800 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 25.02MB, 1601 blks, 3264 inodes.
with soft updates
super-block backups (for fsck -b #) at:
160, 51392, 102624, 153856
[root at neutrino /tmp]# mount /dev/md0 /mnt
[root at neutrino /tmp]# touch /mnt/foo
[root at neutrino /tmp]# mksnap_ffs /mnt/ /mnt/.snap/snap
[root at neutrino /tmp]# mdconfig -a -t vnode -f /mnt/.snap/snap
WARNING: opening backing store: /mnt/.snap/snap readonly
md1
[root at neutrino /tmp]# mount -r /dev/md1 /mnt2
[root at neutrino /tmp]# cd /mnt2
[root at neutrino /mnt2]# ls -l foo
-rw-r--r-- 1 root wheel 0 Sep 21 15:37 foo
[root at neutrino /mnt2]#
Can you unmount /raid, and do an fsck -y /raid and make sure it's clean?
Also - are you using quotas? How big is the filesystem?
Eric
--
------------------------------------------------------------------------
Eric Anderson Sr. Systems Administrator Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------
More information about the freebsd-fs
mailing list