TimeMachine - NetaTalk and High Sierra

    • OMV 3.x
    • TimeMachine - NetaTalk and High Sierra

      Hi!

      As you probably know, Apple will release High Sierra soon. High Sierra comes with a new filesystem that is mandatory for all SSD based machines.

      With this upgrade of filesystem comes a change to TimeMachine. TimeMachine used to use AFP/NetaTalk, but will from this release use SMB. This might be a major issue. Especially since Apple requires proprietary extensions to SMB for timeMachine to work.

      Has someone started looking into this? Will this be supported by OMV at time of release of High Sierra? Any info on this at this point?
    • It has been discussed although I can't find the thread right now. Even Debian 9/OMV 4.x only has samba 4.5 and the time machine extensions patch needs samba 4.6 as far as I know. I have tried compiling Debian 10's samba 4.6.7 (which may not have the extensions either) on Debian 9 and it fails. OMV generally uses the packages in the Debian repo. So, not sure how this one will be resolved. You may have to do something like this.
      omv 4.1.15 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!

      The post was edited 1 time, last by ryecoaaron ().

    • Too bad, but in this case someone else must backport Samba to Debian 9. Waiting for Debian 10 is too long. But this indicates that Netatalk is not really needed anymore soon, or I am wrong?
      Absolutely no support through PM!

      I must not fear.
      Fear is the mind-killer.
      Fear is the little-death that brings total obliteration.
      I will face my fear.
      I will permit it to pass over me and through me.
      And when it has gone past I will turn the inner eye to see its path.
      Where the fear has gone there will be nothing.
      Only I will remain.

      Litany against fear by Bene Gesserit
    • Please keep in mind that OMV is no distribution.
      Absolutely no support through PM!

      I must not fear.
      Fear is the mind-killer.
      Fear is the little-death that brings total obliteration.
      I will face my fear.
      I will permit it to pass over me and through me.
      And when it has gone past I will turn the inner eye to see its path.
      Where the fear has gone there will be nothing.
      Only I will remain.

      Litany against fear by Bene Gesserit
    • votdev wrote:

      But this indicates that Netatalk is not really needed anymore soon
      I disagree since older macOS clients still need performant access to OMV shares (also doing backups).

      I tested a few months ago at several clients serving macOS machines with a self compiled Samba but the journey wasn't that smooth (and before Ralph, remaining Netatalk developer and the SerNet guy coding all the Apple relevant Samba stuff in the meantime, sent me his smb.conf performance sucked a lot and we ran into a lot of concurrent access issues).
    • blog.macsales.com/42316-update…ra-and-apfs-compatibility


      APFS and Time Machine
      • You don’t need to change any Time Machine settings to back up APFS-formatted disks.
      • Any Time Machine share points must be shared over SMB instead of AFP.
      Translation: You should be able to connect your Time Machine backup drive to your APFS-formatted Mac and things should run as expected. The Backup Drive can be formatted as APFS or HFS+. If you share your Time Machine drive over a network, it will need to be shared over SMB rather than AFP (Apple Filing Protocol). Apple has been moving away from AFP for the past few iterations of macOS.
      OMV 4.x on intel
    • Hi!

      Just wanted to let people know that it's possible to get it working through SMB with a few hacks.
      The patches to samba has been included in samba 4.8.0 - so i basically hand compiled that on a new OMV installation.

      The rough guide to that is
      • Follow this guide (Install OMV4 on Debian 9 (Stretch)) to get OMV 4 running on Debian 9 - P.s. note i did this on raspberry pi with raspbian and there a "apt-get install resolvconf" was required before running omv-initsystem (otherwise i got some errors)
      • Edit /etc/apt/sources.list to ensure you have a source code store configured (usually just need to remove a comment)
      • Follow below commands to compile samba. This will first install all tools and libraries required from the debian package stores, and then download a "vanilla" version of samba 4.8.0. The configure command is based on that used by debian samba maintainers so it look as much as the samba package as usual
      • The use of screen is optional - but the configure and compile process is quite slow. if you are running this over ssh the screen command will make sure the process runs on even if you looses the connection (when reconnecting type screen -r to see the result). Furthermore it's probably possible to do the compile as non-root but this way is a bit more hasslefree
      • When you are done, go into the webgui and for the share you want to use for timemachine type "fruit:time machine = yes" under extra options


      Also note that OS X has some bug regarding handling signing of samba authentication requests. This causes transfer speeds to drop to abysmal levels, so if you want to use this for backup you need to edit /etc/nsmb.conf (on your mac, not on your OMV) so it looks like the last source code piece

      Source Code

      1. sudo su -
      2. apt-get update
      3. apt-get build-deps samba
      4. apt-get install screen
      5. screen
      6. cd /root
      7. wget https://download.samba.org/pub/samba/samba-4.8.0.tar.gz
      8. tar zxvf samba-4.8.0.tar.gz
      9. cd samba-4.8.0
      10. ./configure --prefix=/usr \
      11. --enable-fhs \
      12. --sysconfdir=/etc \
      13. --localstatedir=/var \
      14. --libexecdir=/usr/lib/arm-linux-gnueabihf \
      15. --with-privatedir=/var/lib/samba/private \
      16. --with-smbpasswd-file=/etc/samba/smbpasswd \
      17. --with-piddir=/var/run/samba \
      18. --with-pammodulesdir=/lib/arm-linux-gnueabihf/security \
      19. --with-pam \
      20. --with-syslog \
      21. --with-utmp \
      22. --with-winbind \
      23. --with-shared-modules=idmap_rid,idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_tdb2,vfs_dfs_samba4,auth_samba4 \
      24. --with-automount \
      25. --with-ldap \
      26. --with-ads \
      27. --with-dnsupdate \
      28. --with-gpgme \
      29. --libdir=/usr/lib/arm-linux-gnueabihf \
      30. --with-modulesdir=/usr/lib/arm-linux-gnueabihf/samba \
      31. --datadir=/usr/share \
      32. --with-lockdir=/var/run/samba \
      33. --with-statedir=/var/lib/samba \
      34. --with-cachedir=/var/cache/samba \
      35. --enable-avahi \
      36. --disable-rpath \
      37. --disable-rpath-install \
      38. --bundled-libraries=pytevent,iniparser,roken,replace,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,com_err,compile_et,asn1_compile \
      39. --builtin-libraries=ccan,samba-cluster-support \
      40. --with-cluster-support \
      41. --with-socketpath=/var/run/ctdb/ctdbd.socket \
      42. --with-logdir=/var/log/ctdb \
      43. --with-systemd \
      44. --systemd-install-services \
      45. --with-systemddir=/lib/systemd/system
      46. make
      47. make install
      48. echo 'OMV_SAMBA_SHARE_VFSOBJECTS="catia fruit streams_xattr"' >> /etc/default/openmediavault
      Display All

      /etc/nsmb.conf

      Source Code

      1. [default]
      2. signing_required=no
    • askholme wrote:

      The patches to samba has been included in samba 4.8.0 - so i basically hand compiled that on a new OMV installation.
      4.8 is right now in experimental branch. I know a user here @thctlo that supplied some time ago samba backports for server-side spotlight

      How to spotlight-index an AFP share - best methods?

      Maybe if he has time he can give it a try with experimental branch to bpo for stretch. ATM he has 4.7

      downloads.van-belle.nl/samba4/…-stretch-unstable-apt.txt
      New wiki
      chat support at #openmediavault@freenode IRC | Spanish & English | GMT+10
      telegram.me/openmediavault broadcast channel
      openmediavault discord server
    • askholme wrote:

      Source Code

      1. sudo su -
      2. apt-get update
      3. apt-get build-deps samba
      4. apt-get install screen
      5. screen
      6. cd /root
      7. wget https://download.samba.org/pub/samba/samba-4.8.0.tar.gz
      8. tar zxvf samba-4.8.0.tar.gz
      9. cd samba-4.8.0
      10. ./configure --prefix=/usr \
      11. --enable-fhs \
      12. --sysconfdir=/etc \
      13. --localstatedir=/var \
      14. --libexecdir=/usr/lib/arm-linux-gnueabihf \
      15. --with-privatedir=/var/lib/samba/private \
      16. --with-smbpasswd-file=/etc/samba/smbpasswd \
      17. --with-piddir=/var/run/samba \
      18. --with-pammodulesdir=/lib/arm-linux-gnueabihf/security \
      19. --with-pam \
      20. --with-syslog \
      21. --with-utmp \
      22. --with-winbind \
      23. --with-shared-modules=idmap_rid,idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_tdb2,vfs_dfs_samba4,auth_samba4 \
      24. --with-automount \
      25. --with-ldap \
      26. --with-ads \
      27. --with-dnsupdate \
      28. --with-gpgme \
      29. --libdir=/usr/lib/arm-linux-gnueabihf \
      30. --with-modulesdir=/usr/lib/arm-linux-gnueabihf/samba \
      31. --datadir=/usr/share \
      32. --with-lockdir=/var/run/samba \
      33. --with-statedir=/var/lib/samba \
      34. --with-cachedir=/var/cache/samba \
      35. --enable-avahi \
      36. --disable-rpath \
      37. --disable-rpath-install \
      38. --bundled-libraries=pytevent,iniparser,roken,replace,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,com_err,compile_et,asn1_compile \
      39. --builtin-libraries=ccan,samba-cluster-support \
      40. --with-cluster-support \
      41. --with-socketpath=/var/run/ctdb/ctdbd.socket \
      42. --with-logdir=/var/log/ctdb \
      43. --with-systemd \
      44. --systemd-install-services \
      45. --with-systemddir=/lib/systemd/system
      46. make
      47. make install
      48. echo 'OMV_SAMBA_SHARE_VFSOBJECTS="catia fruit streams_xattr"' >> /etc/default/openmediavault
      Display All

      Thank you very much for this step-by-step guide, my box is currently compiling. :)
      However it's not a good idea to configure and compile as the root user.
      In fact other projects even disallow doing so (linux kernel does so I think).
      Only the last 2 steps need root permissions afaik.

      So this should not take place in /root anyway, better would be /tmp (also for better speed) or just $HOME.
      Maybe you can adapt the steps a little.

      Edit: actually that doesn't work for me:

      Source Code

      1. Apr 12 11:01:38 homeserver smbd[1273]: /usr/sbin/smbd: error while loading shared libraries: libsmbldap.so.2: cannot open shared object file: No such file or directory
      Edi2: Ok didn't realize it was built for raspberry pi, aka ARM.

      My adjusted steps for x86 are here:

      Source Code

      1. sudo apt-get update
      2. sudo apt-get build-deps samba
      3. cd /tmp
      4. wget https://download.samba.org/pub/samba/samba-4.8.0.tar.gz
      5. tar zxvf samba-4.8.0.tar.gz
      6. cd samba-4.8.0
      7. ./configure --prefix=/usr \
      8. --enable-fhs \
      9. --sysconfdir=/etc \
      10. --localstatedir=/var \
      11. --libexecdir=/usr/lib/x86_64-linux-gnu \
      12. --with-privatedir=/var/lib/samba/private \
      13. --with-smbpasswd-file=/etc/samba/smbpasswd \
      14. --with-piddir=/var/run/samba \
      15. --with-pammodulesdir=/lib/x86_64-linux-gnu/security \
      16. --with-pam \
      17. --with-syslog \
      18. --with-utmp \
      19. --with-winbind \
      20. --with-shared-modules=idmap_rid,idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_tdb2,vfs_dfs_samba4,auth_samba4 \
      21. --with-automount \
      22. --with-ldap \
      23. --with-ads \
      24. --with-dnsupdate \
      25. --with-gpgme \
      26. --libdir=/usr/lib/x86_64-linux-gnu \
      27. --with-modulesdir=/usr/lib/x86_64-linux-gnu/samba \
      28. --datadir=/usr/share \
      29. --with-lockdir=/var/run/samba \
      30. --with-statedir=/var/lib/samba \
      31. --with-cachedir=/var/cache/samba \
      32. --enable-avahi \
      33. --disable-rpath \
      34. --disable-rpath-install \
      35. --bundled-libraries=pytevent,iniparser,roken,replace,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,com_err,compile_et,asn1_compile \
      36. --builtin-libraries=ccan,samba-cluster-support \
      37. --with-cluster-support \
      38. --with-socketpath=/var/run/ctdb/ctdbd.socket \
      39. --with-logdir=/var/log/ctdb \
      40. --with-systemd \
      41. --systemd-install-services \
      42. --with-systemddir=/lib/systemd/system
      43. make -j$(nproc+1)
      44. sudo su
      45. make install
      46. echo 'OMV_SAMBA_SHARE_VFSOBJECTS="catia fruit streams_xattr"' >> /etc/default/openmediavault
      47. exit
      Display All

      The post was edited 2 times, last by EruIluvatar ().

    • Hi,

      Just tried to get timemachine things working on my OMV3 Installation:

      - Got Samba 4.8.1 successfully compiled and installed
      - Samba is now 4.8.1 and my existing shares continue to work :)
      - tried to add a timemachine share via the Webinterface with the some of the following suggested options:

      Source Code

      1. fruit:aapl = yes
      2. fruit:time machine = yes
      3. kernel oplocks = no
      4. kernel share modes = no
      5. posix locking = no
      6. vfs objects = catia fruit streams_xattr


      Tried this by adding the above options via extended options, but this doesn't seam to work.
      Also I can't find the Share in the "TimeMachine" Options.

      After that I added the Share manually in the smb.conf, just to check if it's working, but again no success.

      Then I tried to add a avahi/bonjour setting to get Timemachine advertised, but the suggest Settings seams to conflict with the standard/default avahi smbd.service settings:


      XML Source Code: timemachine.service

      1. <?xml version="1.0" standalone='no'?>
      2. <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
      3. <service-group>
      4. <name replace-wildcards="yes">%h</name>
      5. <service>
      6. <type>_smb._tcp</type>
      7. <port>445</port>
      8. </service>
      9. <service>
      10. <type>_device-info._tcp</type>
      11. <port>0</port>
      12. <txt-record>model=RackMac</txt-record>
      13. </service>
      14. <service>
      15. <type>_adisk._tcp</type>
      16. <txt-record>sys=waMa=0,adVF=0x100</txt-record>
      17. <txt-record>dk0=adVN=TimeMachine,adVF=0x82</txt-record>
      18. </service>
      19. </service-group>
      Display All

      Finally after disabling the smbd.service avahi announcement, the manually added timemachine.service avahi setting gets honored and now I can find my TimeMachine Share in the "Timemachine options" on my mac. Also the initial backup seams to work.

      The questions are now:

      - Do I really need to add all the settings manually in the config files ( and do they get overwritten by any actions in the web interface) ?
      - Any chance in simplify the whole process, maybe it's possible to pass some of the used options for the timemachine share ?
      - How about that avahi stuff, is it possible to add the timemachine options to the normal smbd.service settings , it seams to be similar in the basic settings, but my example of the timemachine.service has some more settings included ?

      Or do I over-complicate the whole thing and it's far simpler to get this up and runnning ?


      Regards,

      Markus