Is there a way to get the total amount of data referenced by a snapshot that isn't referenced by a specified snapshot/filesystem? I think this is what is really desired in order to locate snapshots with offending space usage. The written and written@ attributes seem to only do the reverse. I think you can back calculate it from the snapshot and filesystem "referenced" sizes, and the "written@<snap>" property of the filesystem, but that isn't particularly convenient to do (looks like "zfs get -Hp ..." makes it possible to hack a script together for, though).
Tim On Thu, Aug 30, 2012 at 11:22 AM, Richard Elling <richard.ell...@gmail.com>wrote: > For illumos-based distributions, there is a "written" and "written@" > property that shows the > amount of data writtent to each snapshot. This helps to clear the > confusion over the way > the "used" property is accounted. > https://www.illumos.org/issues/1645 > > -- richard > > On Aug 29, 2012, at 11:12 AM, "Truhn, Chad" <chad.tr...@bowheadsupport.com> > wrote: > > All, > > I apologize in advance for what appears to be a question asked quite > often, but I am not sure I have ever seen an answer that explains it. This > may also be a bit long-winded so I apologize for that as well. > > I would like to know how much unique space each individual snapshot is > using. > > I have a ZFS filesystem that shows: > > $zfs list -o space rootpool/export/home > NAME AVAIL USED USEDSNAP USEDDS > USEDREFRESERV USEDCHILD > rootpool/export/home 5.81G 14.4G 8.81G 5.54G 0 > 0 > > So reading this I see that I have a total of 14.4G of space used by this > data set. Currently 5.54 is "active" data that is available on the normal > filesystem and 8.81G used in snapshots. 8.81G + 5.54G = 14.4G (roughly). > I 100% agree with these numbers and the world makes sense. > > This is also backed up by: > > $zfs get usedbysnapshots rootpool/export/home > NAME PROPERTY VALUE > SOURCE > rootpool/export/home usedbysnapshots 8.81G - > > > Now if I wanted to see how much space any individual snapshot is currently > using I would like to think that this would show me: > > $zfs list -ro space rootpool/export/home > > NAME AVAIL USED > USEDSNAP USEDDS USEDREFRESERV USEDCHILD > rootpool/export/home 5.81G 14.4G 8.81G > 5.54G 0 0 > rootpool/export/home@week3 - 202M - - > - - > rootpool/export/home@week2 - 104M - - > - - > rootpool/export/home@7daysago - 1.37M - - > - - > rootpool/export/home@6daysago - 1.20M - - > - - > rootpool/export/home@5daysago - 1020K - - > - - > rootpool/export/home@4daysago - 342K - - > - - > rootpool/export/home@3daysago - 1.28M - - > - - > rootpool/export/home@week1 - 0 - > - - - > rootpool/export/home@2daysago - 0 - - > - - > rootpool/export/home@yesterday - 360K - - > - - > rootpool/export/home@today - 1.26M - > - - - > > > So normal logic would tell me if USEDSNAP is 8.81G and is composed of 11 > snapshots, I would add up the size of each of those snapshots and that > would roughly equal 8.81G. So time to break out the calculator: > > 202M + 104M + 1.37M + 1.20M + 1020K + 342K + 1.28M +0 +0 + 360K + 1.26M > equals....... ~312M! > > That is nowhere near 8.81G. I would accept it even if it was within 15%, > but it's not even close. That definitely not metadata or ZFS overhead or > anything. > > I understand that snapshots are just the delta between the time when the > snapshot was taken and the current "active" filesystem and are truly just > references to a block on disk rather than a "copy". I also understand how > two (or more) snapshots can reference the same block on a disk but yet > there is still only that one block used. If I delete a recent snapshot I > may not save as much space as advertised because some may be inherited by a > "parent" snapshot. But that inheritance is not creating duplicate used > space on disk so it doesn't justify the huge difference in sizes. > > But even with this logic in place there is currently 8.81G of blocks > referred to by snapshots which are not currently on the "active" filesystem > and I don't believe anyone can argue with that. Can something show me how > much space a single snapshot has reserved? > > I searched through some of the archives and found this thread ( > http://mail.opensolaris.org/pipermail/zfs-discuss/2012-August/052163.html) > from early this month and I feel as if I have the same problem as the OP, > but hopefully attacking it with a little more background. I am not arguing > with discrepancies between df/du and zfs output and I have read the Oracle > documentation about it but haven't found what I feel like should be a > simple answer. I currently have a ticket open with Oracle, but I am > getting answers to all kinds of questions except for the question I am > asking so I am hoping someone out there might be able to help me. > > I am a little concerned I am going to find out that there is no real way > to show it and that makes for one sad SysAdmin. > > Thanks, > Chad > > > _______________________________________________ > zfs-discuss mailing list > firstname.lastname@example.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss > > > -- > ZFS Performance and Training > richard.ell...@richardelling.com > +1-760-896-4422 > > > > > > > > > _______________________________________________ > zfs-discuss mailing list > email@example.com > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss > >
_______________________________________________ zfs-discuss mailing list firstname.lastname@example.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss