[SOLVED] 2.0.0-rc5: possible networked Time Machine breakage

All your general support questions for OpenZFS on OS X.

[SOLVED] 2.0.0-rc5: possible networked Time Machine breakage

Postby guillaume » Mon Apr 26, 2021 9:02 am

Hello everyone!

I just attempted an upgrade to Big Sur + ZFS 2.0.0-rc5. Unfortunately, it has revived the infamous 'The network backup disk does not support the required capabilities.' error message for me while attempting to use Time Machine with it.

My Time Machine setup is a ZFS dataset shared over the local network (therefore causing any client macOS machine to create a sparsebundle in it to store its backup data). I saw that the ZFS property com.apple.mimic_hfs had been moved to setting com.apple.mimic to 'hfs', so I set it accordingly and rebooted, to no effect. I'm posting a complete list of the dataset properties below for reference.

The filesystem path to the dataset is shared from macOS's Sharing preference pane, and the "advanced" setting 'Share as a Time Machine backup destination" flag is set on the share.

One possible peculiarity is that I have not yet completed a zpool upgrade under 2.0.0-rc5 (original was a fully upgraded pool under ZFS 1.9.4). I'm also posting an output of the pool's properties below for reference.

At the moment, I'm not sure if it's a problem with my setup, or a problem with the 2.0.0 release branch itself, so I shared this problem with you in case it might be the latter. I'll be happy to dig further if I can.

'zfs get all' output for the dataset:
Code: Select all
NAME                            PROPERTY               VALUE                                    SOURCE
tanker/backups/laptops/gbackup  type                   filesystem                               -
tanker/backups/laptops/gbackup  creation               Wed Jan 15 17:20 2020                    -
tanker/backups/laptops/gbackup  used                   3.66T                                    -
tanker/backups/laptops/gbackup  available              4.92T                                    -
tanker/backups/laptops/gbackup  referenced             3.66T                                    -
tanker/backups/laptops/gbackup  compressratio          1.02x                                    -
tanker/backups/laptops/gbackup  mounted                no                                       -
tanker/backups/laptops/gbackup  quota                  none                                     default
tanker/backups/laptops/gbackup  reservation            none                                     default
tanker/backups/laptops/gbackup  recordsize             128K                                     default
tanker/backups/laptops/gbackup  mountpoint             /Volumes/tanker/backups/laptops/gbackup  default
tanker/backups/laptops/gbackup  sharenfs               off                                      default
tanker/backups/laptops/gbackup  checksum               on                                       default
tanker/backups/laptops/gbackup  compression            on                                       inherited from tanker
tanker/backups/laptops/gbackup  atime                  on                                       default
tanker/backups/laptops/gbackup  devices                on                                       default
tanker/backups/laptops/gbackup  exec                   on                                       default
tanker/backups/laptops/gbackup  setuid                 on                                       default
tanker/backups/laptops/gbackup  readonly               off                                      default
tanker/backups/laptops/gbackup  zoned                  off                                      default
tanker/backups/laptops/gbackup  snapdir                hidden                                   default
tanker/backups/laptops/gbackup  aclmode                discard                                  default
tanker/backups/laptops/gbackup  aclinherit             restricted                               default
tanker/backups/laptops/gbackup  createtxg              1438                                     -
tanker/backups/laptops/gbackup  canmount               on                                       default
tanker/backups/laptops/gbackup  xattr                  on                                       default
tanker/backups/laptops/gbackup  copies                 1                                        default
tanker/backups/laptops/gbackup  version                5                                        -
tanker/backups/laptops/gbackup  utf8only               on                                       -
tanker/backups/laptops/gbackup  normalization          formKC                                   -
tanker/backups/laptops/gbackup  casesensitivity        sensitive                                -
tanker/backups/laptops/gbackup  vscan                  off                                      default
tanker/backups/laptops/gbackup  nbmand                 off                                      default
tanker/backups/laptops/gbackup  sharesmb               off                                      default
tanker/backups/laptops/gbackup  refquota               none                                     default
tanker/backups/laptops/gbackup  refreservation         none                                     default
tanker/backups/laptops/gbackup  guid                   4248677606214551798                      -
tanker/backups/laptops/gbackup  primarycache           all                                      default
tanker/backups/laptops/gbackup  secondarycache         all                                      default
tanker/backups/laptops/gbackup  usedbysnapshots        0B                                       -
tanker/backups/laptops/gbackup  usedbydataset          3.66T                                    -
tanker/backups/laptops/gbackup  usedbychildren         0B                                       -
tanker/backups/laptops/gbackup  usedbyrefreservation   0B                                       -
tanker/backups/laptops/gbackup  logbias                latency                                  default
tanker/backups/laptops/gbackup  objsetid               72                                       -
tanker/backups/laptops/gbackup  dedup                  off                                      default
tanker/backups/laptops/gbackup  mlslabel               none                                     default
tanker/backups/laptops/gbackup  sync                   standard                                 default
tanker/backups/laptops/gbackup  dnodesize              legacy                                   default
tanker/backups/laptops/gbackup  refcompressratio       1.02x                                    -
tanker/backups/laptops/gbackup  written                3.66T                                    -
tanker/backups/laptops/gbackup  logicalused            3.74T                                    -
tanker/backups/laptops/gbackup  logicalreferenced      3.74T                                    -
tanker/backups/laptops/gbackup  volmode                default                                  default
tanker/backups/laptops/gbackup  filesystem_limit       none                                     default
tanker/backups/laptops/gbackup  snapshot_limit         none                                     default
tanker/backups/laptops/gbackup  filesystem_count       none                                     default
tanker/backups/laptops/gbackup  snapshot_count         none                                     default
tanker/backups/laptops/gbackup  snapdev                hidden                                   default
tanker/backups/laptops/gbackup  acltype                nfsv4                                    default
tanker/backups/laptops/gbackup  context                none                                     default
tanker/backups/laptops/gbackup  fscontext              none                                     default
tanker/backups/laptops/gbackup  defcontext             none                                     default
tanker/backups/laptops/gbackup  rootcontext            none                                     default
tanker/backups/laptops/gbackup  relatime               off                                      default
tanker/backups/laptops/gbackup  redundant_metadata     all                                      default
tanker/backups/laptops/gbackup  overlay                on                                       default
tanker/backups/laptops/gbackup  encryption             off                                      default
tanker/backups/laptops/gbackup  keylocation            none                                     default
tanker/backups/laptops/gbackup  keyformat              none                                     default
tanker/backups/laptops/gbackup  pbkdf2iters            0                                        default
tanker/backups/laptops/gbackup  special_small_blocks   0                                        default
tanker/backups/laptops/gbackup  com.apple.browse       on                                       default
tanker/backups/laptops/gbackup  com.apple.ignoreowner  off                                      default
tanker/backups/laptops/gbackup  com.apple.mimic        hfs                                      local
tanker/backups/laptops/gbackup  com.apple.devdisk      on                                       local


'zpool get all' output for the pool:
Code: Select all
NAME    PROPERTY                       VALUE                          SOURCE
tanker  size                           12.6T                          -
tanker  capacity                       57%                            -
tanker  altroot                        -                              default
tanker  health                         ONLINE                         -
tanker  guid                           14806831675958986757           -
tanker  version                        -                              default
tanker  bootfs                         -                              default
tanker  delegation                     on                             default
tanker  autoreplace                    off                            default
tanker  cachefile                      -                              default
tanker  failmode                       wait                           default
tanker  listsnapshots                  off                            default
tanker  autoexpand                     on                             local
tanker  dedupratio                     1.00x                          -
tanker  free                           5.31T                          -
tanker  allocated                      7.31T                          -
tanker  readonly                       off                            -
tanker  ashift                         12                             local
tanker  comment                        -                              default
tanker  expandsize                     -                              -
tanker  freeing                        0                              -
tanker  fragmentation                  4%                             -
tanker  leaked                         0                              -
tanker  multihost                      off                            default
tanker  checkpoint                     -                              -
tanker  load_guid                      6364253781748769919            -
tanker  autotrim                       off                            default
tanker  compatibility                  off                            default
tanker  feature@async_destroy          enabled                        local
tanker  feature@empty_bpobj            active                         local
tanker  feature@lz4_compress           active                         local
tanker  feature@multi_vdev_crash_dump  enabled                        local
tanker  feature@spacemap_histogram     active                         local
tanker  feature@enabled_txg            active                         local
tanker  feature@hole_birth             active                         local
tanker  feature@extensible_dataset     active                         local
tanker  feature@embedded_data          active                         local
tanker  feature@bookmarks              enabled                        local
tanker  feature@filesystem_limits      enabled                        local
tanker  feature@large_blocks           enabled                        local
tanker  feature@large_dnode            enabled                        local
tanker  feature@sha512                 enabled                        local
tanker  feature@skein                  enabled                        local
tanker  feature@edonr                  enabled                        local
tanker  feature@userobj_accounting     disabled                       local
tanker  feature@encryption             active                         local
tanker  feature@project_quota          disabled                       local
tanker  feature@device_removal         enabled                        local
tanker  feature@obsolete_counts        enabled                        local
tanker  feature@zpool_checkpoint       enabled                        local
tanker  feature@spacemap_v2            active                         local
tanker  feature@allocation_classes     enabled                        local
tanker  feature@resilver_defer         enabled                        local
tanker  feature@bookmark_v2            enabled                        local
tanker  feature@redaction_bookmarks    disabled                       local
tanker  feature@redacted_datasets      disabled                       local
tanker  feature@bookmark_written       disabled                       local
tanker  feature@log_spacemap           disabled                       local
tanker  feature@livelist               disabled                       local
tanker  feature@device_rebuild         disabled                       local
tanker  feature@zstd_compress          disabled                       local
tanker  feature@draid                  disabled                       local
Last edited by guillaume on Wed Apr 28, 2021 6:33 am, edited 1 time in total.
guillaume
 
Posts: 3
Joined: Mon Apr 26, 2021 8:34 am

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Mon Apr 26, 2021 9:21 pm

Pool upgrade should not matter in this case, since it is SMB that is offering the disk. I have done some small fixes to mimic today, and could set up time-machine share between two VMs, so please try again when the next build is released.
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Mon Apr 26, 2021 10:09 pm

OpenZFSonOsX-2.0.0-Big.Sur-11.0.pkg
(14.86 MiB) Downloaded 276 times


macos-2.0.0-rc5-8-ge29307bbfd
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby guillaume » Tue Apr 27, 2021 5:28 am

Thanks for looking into it Jörgen!

I just gave it a shot, but unfortunately, still no dice so far. I've tried mimicking both hfs and apfs for good measure, and made sure to unmount/remount the dataset + stop/restart file sharing with each change of the com.apple.mimic property. I haven't managed to get useful info out of the client's logs either. Just a BACKUP_FAILED_UNSUPPORTED_NETWORK_VOLUME error code, which is not particularly helpful.

My next move is to try creating a new dataset with a copy of the data present in the old one and try setting up Time Machine with that instead. There's no particular reason why I think that should work when using the older dataset didn't, excepted for the fact you were able to set up a networked Time Machine install between two VMs yourself, i.e. starting fresh seemed to work normally for you.
guillaume
 
Posts: 3
Joined: Mon Apr 26, 2021 8:34 am

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Tue Apr 27, 2021 1:30 pm

I used two Catalina, so I should check with BigSur.
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Tue Apr 27, 2021 4:09 pm

Quick test this morning:

Offering VM:
Code: Select all
# sw_vers
ProductName:   macOS
ProductVersion:   11.0.1
BuildVersion:   20B28
# zpool version
zfs-2.0.0-rc5
zfs-kmod-macos-2.0.0-rc5-8-ge29307bbfd

# mkfile -n 40g disk.img
# zpool create -O compression=zstd test disk3
# chown -R lundman /Volumes/test

Preferences, share "test", click Advanced, Share as Timemachine over SMB

Pool root, in this case "test" has devdisks=on, so any lower dataset may need to set it, and remount



Client:
Code: Select all
# sw_vers
ProductName:   macOS
ProductVersion:   11.2.3
BuildVersion:   20D91
(Hardware)


Preferences, Time-machine, Add disk "test" - exclude "Macintosh HD" (too big) and add USBdrive.
Run backup:

timemachine.png
timemachine.png (375.22 KiB) Viewed 4582 times
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Tue Apr 27, 2021 6:07 pm

Actually, it seems devdisks is broken for anything under a root/pool mount.

test com.apple.devdisk poolonly default
test/lower com.apple.devdisk on local

/dev/disk4s1 38Gi 61Mi 38Gi 1% 136 80155274 0% /Volumes/test
test/lower 38Gi 54Ki 38Gi 1% 95 80155274 0% /Volumes/test/lower

So "test" would be ok, but "lower" did not get a /dev/diskX - indicating a bug.
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Wed Apr 28, 2021 12:38 am

OK fixed that bug, but there is a kextunload panic at the moment, so I'd like to have that fixed first.
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby lundman » Wed Apr 28, 2021 1:42 am

OK please try this version:

macos-2.0.0-rc5-13-g9a9f0ebc02

Make sure you get a /dev/diskX entry for the volume you are sharing.

OpenZFSonOsX-2.0.0-Big.Sur-11.0.pkg
(14.87 MiB) Downloaded 277 times
User avatar
lundman
 
Posts: 1337
Joined: Thu Mar 06, 2014 2:05 pm
Location: Tokyo, Japan

Re: 2.0.0-rc5 : possible networked Time Machine breakage

Postby guillaume » Wed Apr 28, 2021 6:32 am

Seems it's working fine with this newest version. Thanks!

Looking into the device mapping, diskutil list reports a /dev/disk6 (internal, virtual) with one partition for the pool's root dataset (disk6s1, value of the com.apple.devdisk property set to 'poolonly'), as well as one partition disk6sX per leaf dataset having their com.apple.devdisk property set to 'on'.

I've had to issue a manual /sbin/kextload /Library/Extensions/zfs.kext to import the pool with this version upon restarting, but it could be my fault, since I restarted through fdesetup authrestart rather than a regular restart post installation, and I don't know if this might have skipped a few steps which would have otherwise occurred with a regular restart procedure.
guillaume
 
Posts: 3
Joined: Mon Apr 26, 2021 8:34 am


Return to General Help

Who is online

Users browsing this forum: No registered users and 27 guests