More information about replica's files

supermicro_server

Well-Known Member
Sep 13, 2017
107
7
58
45
Good morning,

We're writing this post due to understand what represent the replica's files listed with the command: zfl list -t snapshot
Follow our command's output:

NAME USED AVAIL REFER MOUNTPOINT
rpool/data/vm-103-disk-1@__replicate_103-0_1526026507__ 15.2G - 35.9G -
rpool/data/vm-103-disk-1@__replicate_103-1_1539273603__ 0B - 54.4G -
rpool/data/vm-1150-disk-1@__replicate_1150-0_1526026627__ 1.47G - 14.2G -
rpool/data/vm-1150-disk-1@__replicate_1150-1_1539273662__ 1.22M - 14.2G -
rpool/data/vm-200-disk-1@__replicate_200-1_1526026501__ 373M - 29.8G -
rpool/data/vm-200-disk-1@__replicate_200-2_1526037569__ 372M - 29.8G -
rpool/data/vm-200-disk-1@__replicate_200-3_1539273601__ 0B - 33.2G -

The questions are:
- Can you explane us what represent the column USED/AVAIL/REFER/MOUNTPOINT and (more important) why all our replica's jobs has 0B under the USED column?
- What are the other replicate_xxx_Y_ files and why their USED column has a value > 0B?

Waiting for your kind reply.

Regards.
 
The USED column tells you how much space the snapshot is taking up.
The AVAIL column tells you how much space the snapshot has available to it. I think a - is displayed here because snapshots are immutable.
The REFER column tells you how much space was used on the referenced dataset or zvol when the snapshot was taken. I don't fully understand this column, myself. I would imagine that you should be able to take REFER + USED of your previous snapshot, and that would equal your current snapshot's REFER amount. But it doesn't always work out that way, so I must be mistaken somewhere.
The MOUNTPOINT column gives you the path where the dataset/zvol/snapshot is mounted. Zvols and Snapshots are often not mounted, so they get a -.

Your latest replicated snapshots have 0B used because they represent the dataset/zvol as it exists right now, so they don't take up any additional space. If you take a snapshot and change absolutely no data, that snapshot will take up 0B of space. If you take a snapshot, and then delete a 1GB file, your snapshot will take up 1GB of space.

In regards to a replica system, since no work is being done on the replica system, your latest snapshot will always be 0B until a new snapshot comes in. Then what was the latest snapshot will become the previous snapshot, and the space used will represent the data that changed between it and the latest snapshot.