[zfs-discuss] Understanding ZFS clone

Pavel Herrmann pavelherr at gmail.com
Fri Dec 11 17:23:27 EST 2015

This is something you would need to ask Microsoft.

I would assume a clone counts as a separate machine, whereas a snapshot
doesn't. A reasonable count (IANAL, so take it with a grain of salt) would
be that you need to have N licences if you run N virtual machines
simultaneously. The fact that most of their block storage is
deduplicated/shared has no effect on licensing.

On Fri, Dec 11, 2015 at 1:49 PM, Muhammad Yousuf Khan via zfs-discuss <
zfs-discuss at list.zfsonlinux.org> wrote:

> Thanks Fajar, it was really informative and i really appreciate your help.
> One more question comes in my mind. it is about Microsoft licensing. since
> we are using same data blocks even if we clone the VM. how microsoft count
> ZFS clone licensing? does MS count a clone as full license or one? the
> point is we are using one machine and clones are like branches are attached
> to the same trunk so how does it work?
> Thanks,
> Yousuf
> >>Second, it depends on how the VM's OS write the data, and whether you
> have created a new snapshot:
> >>
> >>- If the VM's fs ended up writing it to the SAME "logical" block (from
> VM's point of view) as the previously deleted file, AND you have NOT
> created a snapshot AFTER you write the OLD file (but BEFORE you delete it),
> then from >>zvol's point of view the "old" block can be "freed" (since
> nothing else is using it, like another snapshot). zfs allocates new blocks,
> and then free the old blocks, making usage relatively the same.
> >>
> >>- If the VM's OS decide to write to NEW "logical" blocks (again, from
> VM's point of view), then zvol needs to allocate new blocks and can't free
> the old one (since zvol doesn't know that the VM doesn't need the old
> blocks >>anymore), thus usage will increase. The only way zvol can know
> that the VM doesn't need a particular block anymore is if the VM's fs sends
> trim (which requires special setup that I wrote earlier).
> >>
> >>- If you snapshot the zvol AFTER you write the OLD file, then zvol can't
> free the old blocks, no matter where the VM's OS decide to write the NEW
> file. That's because the snapshot would still refer to "old" version of
> that block.
> >>
> >>Try snapshotting the zvol AFTER you write the test files, BEFORE you do
> deletes. You'll understand it better.
> >>--
> >>Fajar
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss at list.zfsonlinux.org
> http://list.zfsonlinux.org/cgi-bin/mailman/listinfo/zfs-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.zfsonlinux.org/pipermail/zfs-discuss/attachments/20151211/88ebba3c/attachment-0001.html>

More information about the zfs-discuss mailing list