10.1 + ZFS snapshot eating diskspace
Rick Romero
rick at havokmon.com
Wed May 13 16:40:20 UTC 2015
Ronald was on the right track.
https://lists.freebsd.org/pipermail/freebsd-fs/2015-April/021144.html
The drives on the new system, while identical to the old, use native 4k
sectors. In FreeBSD 10.1, ZFS automatically used ashift=12 - the old 9.2
system used an ashift of 9.
Since my data is small files (mostly < 16k), the space is used VERY
inefficiently with an ashift of 12.
Setting vfs.zfs.max_auto_ashift: 9 prior to creating the new pool
resulted in a properly sized volume after the zfs receive.
zpool status complains about performace degradation, of which I'm
definitely choosing space+cost over performance, but at least zpool status
-x shows all good.
<now gluing hair back>
Quoting Rick Romero <rick at havokmon.com>:
> Try number two. I built another new system, no encryption this time.
>
> I replacated ONE snapshot that is about 562GB of data.
> (I just found Ronalds reply in my Spam folder, sorry!)
> This new 10.1 system has the exact same 3 drives in RAIDZ1 as the
original
> source (9.2). What's confusing is the original RAIDZ1 is replicated
> correctly to a 10 drive RAIDZ2 (10.1), but the RAIDZ2 source cannot
> replicate data correctly to a new 3 drive RAIDZ1.
> So not only is this a problem with the new system, but it concerns me
that
> if there were a problem with the old system that a full restore from
> backup
> would eat all the disk space.
>
> Source:
> # zfs get all sysvol/primessd_home |grep -i used
> sysvol/primessd_home used
> 822G -
> sysvol/primessd_home usedbysnapshots
> 260G -
> sysvol/primessd_home usedbydataset
> 562G -
> sysvol/primessd_home usedbychildren
> 0 -
> sysvol/primessd_home usedbyrefreservation
> 0 -
> sysvol/primessd_home logicalused
> 811G -
>
> Right? 562 is the 'current' amount of space used?
>
> So I send it to a new box, and this is the result
>
> # zfs list -t all
> NAME USED AVAIL REFER
> MOUNTPOINT
> sysvol 919G 0
12.5G
> /sysvol
> sysvol/home 906G 0 898G
> /sysvol/home
> sysvol/home at remrep-Week16 8.53G - 898G -
>
> I can see a possible sector size diff or recordsize affecting a few
bytes,
> but 400G is a bit excessive. The fact that it more closely matches the
> full
> dataset+snapshots, IMHO, is much more telling.
>
> # zfs get all sysvol/home | grep used
> sysvol/home used
> 906G -
> sysvol/home usedbysnapshots
> 8.53G -
> sysvol/home usedbydataset
> 898G -
> sysvol/home usedbychildren
> 0 -
> sysvol/home usedbyrefreservation
> 0 -
> sysvol/home logicalused
> 574G -
>
> logical used is actual used, correct? Why is it the 'full' amount,
when
> only one snapshot was replicated?
>
> So I thought maybe it's not reporting correctly
>
> # zfs list
> NAME USED AVAIL REFER MOUNTPOINT
> sysvol 907G 12.3G 256M /sysvol
> sysvol/home 906G 12.3G 898G /sysvol/home
>
> # dd bs=1M count=12560 if=/dev/zero of=test2
> dd: test2: No space left on device
> 12558+0 records in
> 12557+1 records out
> 13167886336 bytes transferred in 33.499157 secs (393081126 bytes/sec)
> # zfs list
> NAME USED AVAIL REFER MOUNTPOINT
> sysvol 919G 0 12.5G /sysvol
> sysvol/home 906G 0 898G /sysvol/home
> # dd bs=1M count=12560 if=/dev/zero of=test3
> dd: test3: No space left on device
>
> So what's going on? Is this a known issue?
> I suppose I can take the new server down to the colo and replicate from
> the
> original, but that doesn't resolve the 'restore from backup' issue that I
> see happening...
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fsTo unsubscribe, send
> any mail to "freebsd-fs-unsubscribe at freebsd.org"
More information about the freebsd-fs
mailing list