MacOS – Importing macOS Caching server data from an external Mac caching server

catalinadata transferinternet-sharingmacosterminal

Apple Cache Manager Utility question. We have just bought a second newer Mac mini to act as my school's Primary Apple Caching Server for our ever growing fleet of student iPads (over 500 and counting). I wanted to transfer/import/absorb the Cache from our old (Secondary) server into our new server on the same network…

Wondering if anyone has ever successfully imported a Caching Server's cache from another using the commands provided by Apple in macOS Help?

https://support.apple.com/en-au/guide/mac-help/mchla6d4541e/mac

I have used variations of this command but have had no success, even when the Volume is mounted remotely using AFP, using the command mount_afp (ref: How can I mount an SMB share from the command line?)

sudo AssetCacheManagerUtil absorbCacheFrom /Volumes/ServerHD-1/Library/Application\ Support/Apple/AssetCache/Data read-only

Would anyone know under what conditions the command from Apple can be used successfully? Thanks in advance…

Best Answer

I would just set up the second Mac and let them peer for a while. In the past it was likely to invalidate the entire cache by trying to move it or even restore it from a backup. The new commands you listed are intended to do precisely what you seek.

I’ll update if I test this, but I would assume several things:

  • It likely won’t matter if afp or smb shares are used if you try to move content via file sharing. SMB slightly preferred as it’s the new standard.
  • I would disable caching services before attempting any utility move.
  • I would move the cache to an external drive and then eject / move / absorb it to the new machine. (I almost always store cache on an external drive anyhow)
  • We put one cache server on every network segment, three or more on big network segments. With 100 or so, we do as little configuration as possible - no peering or parents have been needed yet.

With two or three caches - they rebalance each other without even needing to set up parent or peering configurations, but if you have massive clients to serve, you can make very sophisticated hierarchies with parent specific hash settings to maximize cache space or minimize lossage and internet when one node should fail.