jimsalterjrs / sanoid

These are policy-driven snapshot management and replication tools which use OpenZFS for underlying next-gen storage. (Btrfs support plans are shelved unless and until btrfs becomes reliable.)
http://www.openoid.net/products/
GNU General Public License v3.0
3.08k stars 301 forks source link

Discrepancy between USED/REFER on source and target machiens #541

Closed socrates-johnson closed 4 years ago

socrates-johnson commented 4 years ago

Disclaimer: I'm new to ZFS and Sanoid/Syncoid so I'm assuming this is not unexpected behavior, but I would just like to understand what's going on for my own edification.

I'm taking snapshots on my Desktop computer and replicating to another machine in the house over ssh. I notice a difference in the USED/REFER columns when comparing the zfs list -t snapshot output between the two machines [output included below]. Is this normal?

Thank you for any insights!

DESKTOP (production machine)

NAME                                              USED  AVAIL     REFER  MOUNTPOINT
zhome/home@autosnap_2020-05-12_23:20:57_monthly     0B      -      685M  -
zhome/home@autosnap_2020-05-12_23:20:57_daily       0B      -      685M  -
zhome/home@autosnap_2020-05-12_23:20:57_hourly      0B      -      685M  -
zhome/home@autosnap_2020-05-13_04:00:06_hourly   22.5M      -      732M  -
zhome/home@autosnap_2020-05-13_05:00:29_hourly    144K      -      741M  -
zhome/home@autosnap_2020-05-13_06:00:29_hourly    144K      -      741M  -
zhome/home@autosnap_2020-05-13_07:00:29_hourly    144K      -      741M  -
zhome/home@autosnap_2020-05-13_08:00:29_hourly    144K      -      741M  -
zhome/home@autosnap_2020-05-13_09:00:24_hourly    144K      -      741M  -
zhome/home@autosnap_2020-05-13_10:00:15_hourly    160K      -      741M  -
zhome/home@autosnap_2020-05-13_11:00:07_hourly    360K      -      741M  -
zhome/home@autosnap_2020-05-13_12:00:29_hourly   9.20M      -      745M  -
zhome/home@autosnap_2020-05-13_13:00:29_hourly   9.08M      -      745M  -
zhome/home@autosnap_2020-05-13_14:00:29_hourly   9.05M      -      749M  -
zhome/home@autosnap_2020-05-13_15:00:29_hourly   8.98M      -      749M  -
zhome/home@autosnap_2020-05-13_16:00:24_hourly   8.80M      -      749M  -
zhome/home@autosnap_2020-05-13_17:00:16_hourly   8.86M      -      749M  -
zhome/home@autosnap_2020-05-13_18:00:06_hourly   2.05M      -     1.08G  -
zhome/home@syncoid_jazzyj_2020-05-13:14:10:02    2.06M      -     1.08G  -

BACKUP MACHINE

NAME                                                                USED  AVAIL     REFER  MOUNTPOINT
zdata/backups/backup-desktop@autosnap_2020-05-12_23:20:57_monthly     0B      -      671M  -
zdata/backups/backup-desktop@autosnap_2020-05-12_23:20:57_daily       0B      -      671M  -
zdata/backups/backup-desktop@autosnap_2020-05-12_23:20:57_hourly      0B      -      671M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_04:00:06_hourly   21.1M      -      713M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_05:00:29_hourly     88K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_06:00:29_hourly     88K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_07:00:29_hourly     88K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_08:00:29_hourly     88K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_09:00:24_hourly     88K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_10:00:15_hourly     96K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_11:00:07_hourly    212K      -      721M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_12:00:29_hourly   8.73M      -      724M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_13:00:29_hourly   8.62M      -      724M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_14:00:29_hourly   8.60M      -      727M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_15:00:29_hourly   8.57M      -      727M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_16:00:24_hourly   8.42M      -      727M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_17:00:16_hourly   8.45M      -      727M  -
zdata/backups/backup-desktop@autosnap_2020-05-13_18:00:06_hourly   1.87M      -     1.04G  -
zdata/backups/backup-desktop@syncoid_jazzyj_2020-05-13:14:10:02    1.12M      -     1.04G  -
phreaker0 commented 4 years ago

You may have different ashift/recordsize/compression settings for both pools:

zpool get all zhome zfs get all zhome/home

zpool get all zdata zfs get all zdata/backups/backup-desktop

socrates-johnson commented 4 years ago

Thanks for responding so quickly. A difference in settings doesn't jump out at me (output included below), but it sounds like this isn't cause for concern?

DESKTOP (production machine)

user@desktop:~$ zpool get all zhome
NAME   PROPERTY                       VALUE                          SOURCE
zhome  size                           81.5G                          -
zhome  capacity                       1%                             -
zhome  altroot                        -                              default
zhome  health                         ONLINE                         -
zhome  guid                           6003131026589138052            -
zhome  version                        -                              default
zhome  bootfs                         -                              default
zhome  delegation                     on                             default
zhome  autoreplace                    off                            default
zhome  cachefile                      -                              default
zhome  failmode                       wait                           default
zhome  listsnapshots                  off                            default
zhome  autoexpand                     off                            default
zhome  dedupditto                     0                              default
zhome  dedupratio                     1.00x                          -
zhome  free                           80.2G                          -
zhome  allocated                      1.34G                          -
zhome  readonly                       off                            -
zhome  ashift                         0                              default
zhome  comment                        -                              default
zhome  expandsize                     -                              -
zhome  freeing                        0                              -
zhome  fragmentation                  0%                             -
zhome  leaked                         0                              -
zhome  multihost                      off                            default
zhome  checkpoint                     -                              -
zhome  load_guid                      16965705320013418738           -
zhome  autotrim                       off                            default
zhome  feature@async_destroy          enabled                        local
zhome  feature@empty_bpobj            active                         local
zhome  feature@lz4_compress           active                         local
zhome  feature@multi_vdev_crash_dump  enabled                        local
zhome  feature@spacemap_histogram     active                         local
zhome  feature@enabled_txg            active                         local
zhome  feature@hole_birth             active                         local
zhome  feature@extensible_dataset     active                         local
zhome  feature@embedded_data          active                         local
zhome  feature@bookmarks              enabled                        local
zhome  feature@filesystem_limits      enabled                        local
zhome  feature@large_blocks           enabled                        local
zhome  feature@large_dnode            enabled                        local
zhome  feature@sha512                 enabled                        local
zhome  feature@skein                  enabled                        local
zhome  feature@edonr                  enabled                        local
zhome  feature@userobj_accounting     active                         local
zhome  feature@encryption             enabled                        local
zhome  feature@project_quota          active                         local
zhome  feature@device_removal         enabled                        local
zhome  feature@obsolete_counts        enabled                        local
zhome  feature@zpool_checkpoint       enabled                        local
zhome  feature@spacemap_v2            active                         local
zhome  feature@allocation_classes     enabled                        local
zhome  feature@resilver_defer         enabled                        local
zhome  feature@bookmark_v2            enabled                        local
user@desktop:~$ zfs get all zhome/home
NAME        PROPERTY              VALUE                  SOURCE
zhome/home  type                  filesystem             -
zhome/home  creation              Sun May 10  0:08 2020  -
zhome/home  used                  1.33G                  -
zhome/home  available             77.6G                  -
zhome/home  referenced            1.07G                  -
zhome/home  compressratio         1.00x                  -
zhome/home  mounted               yes                    -
zhome/home  quota                 none                   default
zhome/home  reservation           none                   default
zhome/home  recordsize            128K                   default
zhome/home  mountpoint            /home                  local
zhome/home  sharenfs              off                    default
zhome/home  checksum              on                     default
zhome/home  compression           off                    default
zhome/home  atime                 on                     default
zhome/home  devices               on                     default
zhome/home  exec                  on                     default
zhome/home  setuid                on                     default
zhome/home  readonly              off                    default
zhome/home  zoned                 off                    default
zhome/home  snapdir               hidden                 default
zhome/home  aclinherit            restricted             default
zhome/home  createtxg             12                     -
zhome/home  canmount              on                     default
zhome/home  xattr                 on                     default
zhome/home  copies                1                      default
zhome/home  version               5                      -
zhome/home  utf8only              off                    -
zhome/home  normalization         none                   -
zhome/home  casesensitivity       sensitive              -
zhome/home  vscan                 off                    default
zhome/home  nbmand                off                    default
zhome/home  sharesmb              off                    default
zhome/home  refquota              none                   default
zhome/home  refreservation        none                   default
zhome/home  guid                  9329427778510533604    -
zhome/home  primarycache          all                    default
zhome/home  secondarycache        all                    default
zhome/home  usedbysnapshots       263M                   -
zhome/home  usedbydataset         1.07G                  -
zhome/home  usedbychildren        0B                     -
zhome/home  usedbyrefreservation  0B                     -
zhome/home  logbias               latency                default
zhome/home  objsetid              387                    -
zhome/home  dedup                 off                    default
zhome/home  mlslabel              none                   default
zhome/home  sync                  standard               default
zhome/home  dnodesize             legacy                 default
zhome/home  refcompressratio      1.00x                  -
zhome/home  written               26.6M                  -
zhome/home  logicalused           1.25G                  -
zhome/home  logicalreferenced     1.02G                  -
zhome/home  volmode               default                default
zhome/home  filesystem_limit      none                   default
zhome/home  snapshot_limit        none                   default
zhome/home  filesystem_count      none                   default
zhome/home  snapshot_count        none                   default
zhome/home  snapdev               hidden                 default
zhome/home  acltype               off                    default
zhome/home  context               none                   default
zhome/home  fscontext             none                   default
zhome/home  defcontext            none                   default
zhome/home  rootcontext           none                   default
zhome/home  relatime              off                    default
zhome/home  redundant_metadata    all                    default
zhome/home  overlay               off                    default
zhome/home  encryption            off                    default
zhome/home  keylocation           none                   default
zhome/home  keyformat             none                   default
zhome/home  pbkdf2iters           0                      default
zhome/home  special_small_blocks  0                      default

BACKUP MACHINE

user@backup:~$ zpool get all zdata
NAME   PROPERTY                       VALUE                          SOURCE
zdata  size                           696G                           -
zdata  capacity                       0%                             -
zdata  altroot                        -                              default
zdata  health                         ONLINE                         -
zdata  guid                           10336020270552500561           -
zdata  version                        -                              default
zdata  bootfs                         -                              default
zdata  delegation                     on                             default
zdata  autoreplace                    off                            default
zdata  cachefile                      -                              default
zdata  failmode                       wait                           default
zdata  listsnapshots                  off                            default
zdata  autoexpand                     off                            default
zdata  dedupditto                     0                              default
zdata  dedupratio                     1.00x                          -
zdata  free                           692G                           -
zdata  allocated                      4.08G                          -
zdata  readonly                       off                            -
zdata  ashift                         0                              default
zdata  comment                        -                              default
zdata  expandsize                     -                              -
zdata  freeing                        0                              -
zdata  fragmentation                  0%                             -
zdata  leaked                         0                              -
zdata  multihost                      off                            default
zdata  checkpoint                     -                              -
zdata  load_guid                      13916730348385236241           -
zdata  autotrim                       off                            default
zdata  feature@async_destroy          enabled                        local
zdata  feature@empty_bpobj            active                         local
zdata  feature@lz4_compress           active                         local
zdata  feature@multi_vdev_crash_dump  enabled                        local
zdata  feature@spacemap_histogram     active                         local
zdata  feature@enabled_txg            active                         local
zdata  feature@hole_birth             active                         local
zdata  feature@extensible_dataset     active                         local
zdata  feature@embedded_data          active                         local
zdata  feature@bookmarks              enabled                        local
zdata  feature@filesystem_limits      enabled                        local
zdata  feature@large_blocks           enabled                        local
zdata  feature@large_dnode            enabled                        local
zdata  feature@sha512                 enabled                        local
zdata  feature@skein                  enabled                        local
zdata  feature@edonr                  enabled                        local
zdata  feature@userobj_accounting     active                         local
zdata  feature@encryption             enabled                        local
zdata  feature@project_quota          active                         local
zdata  feature@device_removal         enabled                        local
zdata  feature@obsolete_counts        enabled                        local
zdata  feature@zpool_checkpoint       enabled                        local
zdata  feature@spacemap_v2            active                         local
zdata  feature@allocation_classes     enabled                        local
zdata  feature@resilver_defer         enabled                        local
zdata  feature@bookmark_v2            enabled                        local
user@backup:~$ zfs get all zdata/backups/backup-desktop 
NAME                          PROPERTY              VALUE                          SOURCE
zdata/backups/backup-desktop  type                  filesystem                     -
zdata/backups/backup-desktop  creation              Wed May 13  0:17 2020          -
zdata/backups/backup-desktop  used                  1.25G                          -
zdata/backups/backup-desktop  available             670G                           -
zdata/backups/backup-desktop  referenced            1.04G                          -
zdata/backups/backup-desktop  compressratio         1.00x                          -
zdata/backups/backup-desktop  mounted               yes                            -
zdata/backups/backup-desktop  quota                 none                           default
zdata/backups/backup-desktop  reservation           none                           default
zdata/backups/backup-desktop  recordsize            128K                           default
zdata/backups/backup-desktop  mountpoint            /zdata/backups/backup-desktop  default
zdata/backups/backup-desktop  sharenfs              off                            default
zdata/backups/backup-desktop  checksum              on                             default
zdata/backups/backup-desktop  compression           off                            default
zdata/backups/backup-desktop  atime                 on                             default
zdata/backups/backup-desktop  devices               on                             default
zdata/backups/backup-desktop  exec                  on                             default
zdata/backups/backup-desktop  setuid                on                             default
zdata/backups/backup-desktop  readonly              off                            default
zdata/backups/backup-desktop  zoned                 off                            default
zdata/backups/backup-desktop  snapdir               hidden                         default
zdata/backups/backup-desktop  aclinherit            restricted                     default
zdata/backups/backup-desktop  createtxg             31397                          -
zdata/backups/backup-desktop  canmount              on                             default
zdata/backups/backup-desktop  xattr                 on                             default
zdata/backups/backup-desktop  copies                1                              default
zdata/backups/backup-desktop  version               5                              -
zdata/backups/backup-desktop  utf8only              off                            -
zdata/backups/backup-desktop  normalization         none                           -
zdata/backups/backup-desktop  casesensitivity       sensitive                      -
zdata/backups/backup-desktop  vscan                 off                            default
zdata/backups/backup-desktop  nbmand                off                            default
zdata/backups/backup-desktop  sharesmb              off                            default
zdata/backups/backup-desktop  refquota              none                           default
zdata/backups/backup-desktop  refreservation        none                           default
zdata/backups/backup-desktop  guid                  7105488072260670741            -
zdata/backups/backup-desktop  primarycache          all                            default
zdata/backups/backup-desktop  secondarycache        all                            default
zdata/backups/backup-desktop  usedbysnapshots       220M                           -
zdata/backups/backup-desktop  usedbydataset         1.04G                          -
zdata/backups/backup-desktop  usedbychildren        0B                             -
zdata/backups/backup-desktop  usedbyrefreservation  0B                             -
zdata/backups/backup-desktop  logbias               latency                        default
zdata/backups/backup-desktop  objsetid              908                            -
zdata/backups/backup-desktop  dedup                 off                            default
zdata/backups/backup-desktop  mlslabel              none                           default
zdata/backups/backup-desktop  sync                  standard                       default
zdata/backups/backup-desktop  dnodesize             legacy                         default
zdata/backups/backup-desktop  refcompressratio      1.00x                          -
zdata/backups/backup-desktop  written               152K                           -
zdata/backups/backup-desktop  logicalused           1.22G                          -
zdata/backups/backup-desktop  logicalreferenced     1.02G                          -
zdata/backups/backup-desktop  volmode               default                        default
zdata/backups/backup-desktop  filesystem_limit      none                           default
zdata/backups/backup-desktop  snapshot_limit        none                           default
zdata/backups/backup-desktop  filesystem_count      none                           default
zdata/backups/backup-desktop  snapshot_count        none                           default
zdata/backups/backup-desktop  snapdev               hidden                         default
zdata/backups/backup-desktop  acltype               off                            default
zdata/backups/backup-desktop  context               none                           default
zdata/backups/backup-desktop  fscontext             none                           default
zdata/backups/backup-desktop  defcontext            none                           default
zdata/backups/backup-desktop  rootcontext           none                           default
zdata/backups/backup-desktop  relatime              off                            default
zdata/backups/backup-desktop  redundant_metadata    all                            default
zdata/backups/backup-desktop  overlay               off                            default
zdata/backups/backup-desktop  encryption            off                            default
zdata/backups/backup-desktop  keylocation           none                           default
zdata/backups/backup-desktop  keyformat             none                           default
zdata/backups/backup-desktop  pbkdf2iters           0                              default
zdata/backups/backup-desktop  special_small_blocks  0                              default
phreaker0 commented 4 years ago

the ashift value of 0 means "auto detect" so we don't know the actual ashift value yet. Can you run

zdb

on both systems and post the output, this should include the actual ashift value users for your disks.

socrates-johnson commented 4 years ago

Ahh, thanks. It looks like zhome has ashift=13 while zdata has ashift=12. Should I just specify ashift=12 when create zpools?

Thanks again!

zhome:
    version: 5000
    name: 'zhome'
    state: 0
    txg: 59
    pool_guid: 6003131026589138052
    errata: 0
    hostid: 3792842173
    hostname: host
    com.delphix:has_per_vdev_zaps
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 6003131026589138052
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 18011688980068129109
            path: '/dev/disk/by-id/ata-INTEL_SSDSC2CW120A3_CVCV222202XH120BGN-part3'
            whole_disk: 0
            metaslab_array: 256
            metaslab_shift: 29
            ashift: 13
            asize: 88033984512
            is_log: 0
            create_txg: 4
            com.delphix:vdev_zap_leaf: 129
            com.delphix:vdev_zap_top: 130
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
zdata:
    version: 5000
    name: 'zdata'
    state: 0
    txg: 53016
    pool_guid: 10336020270552500561
    errata: 0
    hostid: 3792842173
    hostname: host
    com.delphix:has_per_vdev_zaps
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 10336020270552500561
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 8319708599980611967
            path: '/dev/disk/by-id/ata-ST750LM022_HN-M750MBB_S2UQJ9CC704186-part1'
            devid: 'ata-ST750LM022_HN-M750MBB_S2UQJ9CC704186-part1'
            phys_path: 'pci-0000:00:1f.2-ata-3'
            whole_disk: 1
            metaslab_array: 256
            metaslab_shift: 32
            ashift: 12
            asize: 750141308928
            is_log: 0
            create_txg: 4
            com.delphix:vdev_zap_leaf: 129
            com.delphix:vdev_zap_top: 130
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
phreaker0 commented 4 years ago

No, you should leave it at ashift=13, as it was automatically set. I guess you have an SSD in your desktop and some of them are known by ZFS and it tries to match the internal page size with the block size zfs uses as a minimum. ashift=12 -> 4k, ashift=13 -> 8k

This is the reason why the backup server needs a little bit less space to store the same data.