Optimal setup of a Mac with relatively small amounts of drive space

I am getting a new computer that will have 1Tb of SSD on board. I am used to having more (3 T on my current fusion drive). Some people have suggested putting the OS on the 1 TB and the rest on an external drive. I am not sure how to do that. Also, would my time machine back up the external drive where all my important data is?

I thought about combing the drives, but not sure that would be a safe thing to do.

Have the people dealt with this and come up with good solutions?

I moved from a 2009 Power Mac to a new iMac with a 512GB SSD.

I keep the OS and all my applications on the SSD.

I keep my music, photos and video files on an external drive.

So far, I havenā€™t had any space problems on the SSD. Iā€™ve had to switch the external drive to a bigger one :slight_smile:

Cheers,

Allen

About all I have on my internal drive are System, Library and Application folders and almost everything is stored on pCloud. Of course, this method requires a (relatively) fast Internet speed. And youā€™re screwed if your Internet is down, On the other hand, you donā€™t have to invest in external drives.

One current personal desktop Mini boots from Appleā€™s 500GB APFS SSD. All Applications and Virtual Machine files are on the boot volume. User home folders are on the boot volume with the special exception of my Movies, Music, and Pictures folders which are on a Media volume on a 4TB HFS+ external drive. There is also a Document Archive volume on an external 2TB HFS+ drive. Even with several VMs, the boot volume has about 100GB free.

Time Machine has no problem backing up all three volumes. Also, Carbon Copy Cloner uses three linked tasks to clone all three volumes to multi-partition external drives for off-site backup.

This storage scheme has been used through several macOS versions and survived the boot drive transition to APFS. The Mojave version of APFS seems to be quite stable ā€“ only the confusion about actual APFS disk usage is sometimes bothersome.

This sounds like a setup I would do. Do the offline folders have Aliases in the home folder, or are other ways you redirected them to the external drive?

Aliases are not robust for multiple drive instances. Soft links persist through media unavailable events.

Here is the shell command file I used (sanitized and commented). The preparatory comments are highly important.

#!/bin/sh
# CreateMediaSoftLinks.command  jrc 2018-11-01
#
# CreateMediaSoftLinks for ThisUser on ThisMaC
#   "ThisMacMedia" is a placeholder for the external volume to hold the media files.
#   "ThisUser" is a placeholder for the short username of the file owner affected.
#	Replace these placeholders with the desired values.
#
#   Knowledge of disk management is assumed, including erasing, partitioning, and setting ownership and access.
#==================================================================
# PREPARATION STEPS:
#
#   Make your backups -- failure to do so is on your head!
#
# In Finder, using account ThisUser:
#
#   Create /Volumes/ThisMacMedia/ThisUser/Movies
#   Create /Volumes/ThisMacMedia/ThisUser/Music
#   Create /Volumes/ThisMacMedia/ThisUser/Pictures
#
#   Copy contents of /Users/ThisUser/Movies to /Volumes/ThisMacMedia/ThisUser/Movies
#   Copy contents of /Users/ThisUser/Music to /Volumes/ThisMacMedia/ThisUser/Music
#   Copy contents of /Users/ThisUser/Pictures to /Volumes/ThisMacMedia/ThisUser/Pictures
#
#   Make at least a cursory check of the copied files.
# 
#==================================================================
#
# The following steps should be done from administrative account other than ThisUser
# and may require booting from another volume if Mojave security rules interfere with rm commands.
#
# Remove existing directories on boot drive user account
sudo rm -rf /Users/ThisUser/Movies;
sudo rm -rf /Users/ThisUser/Music;
sudo rm -rf /Users/ThisUser/Pictures;
#
# Create Soft Links
sudo ln -s  /Volumes/ThisMacMedia/ThisUser/Movies   /Users/ThisUser/Movies;
sudo ln -s  /Volumes/ThisMacMedia/ThisUser/Music    /Users/ThisUser/Music;
sudo ln -s  /Volumes/ThisMacMedia/ThisUser/Pictures /Users/ThisUser/Pictures;
#   
exit;

I think some of the ā€œMusicā€, ā€œMoviesā€, and ā€œPicturesā€ directories didnā€™t get pasted right in the comments and source code?

Thank you ā€“ I really need an Editor (always have).

The directory names should be correct now.

1 Like

The previous advice is all very good and effective; please also be aware you can easily map an entire user directory to another volume/drive, and while logged in as a different Admin user, use the UUID target feature found in System Prefs->Users & Groups-> [Username]; Right-Click for ā€˜Advanced Optionsā€™; select the new target destination of the (already copied) target user folder.

This can be very helpful if you have an infrequent user, but whose directory ā€“ especially massive temp and cache files, massive Mail, Photos, etc ā€“ takes up precious space on your fastest drive; that user suffers from slower disk speeds, but is presumably already not a high priority user.

@james.cutler is also correct that Symbolic Links are the only proper way to push individual directories onto another volume/disk, but I do want to caution that if you edit audio/music/movies/video, be sure you create the current project directories on your local fast media, else you will be screaming at rendering times. Instead of mapping your entire Music/Movies/Photos directories (which are frequently also the default locations for AV apps projects), consider instead linking only the largest and least-speed-dependent of these subdirectories.

As for directory structure on the second drive/volume, consider, e.g., [otherdiskname]/Users/[same short username]/Movies, so in case you ever add another user, keeping these directories separate is easier; plus you can more easily set user permissions on these external directories to better respect privacy; also, if you ever have to do a migration, Migration Assistant will then better manage the affair, as will Time Machine, creating a unified User backup, as opposed to backups of separate volumes. I wish we had better, easier control of Hard Links, as this would then become invisible even to us as the user (as is the case with your Fusion drive).

Further, if you have a HUGE Applications or Utilities folder, or infrequently used but very space-consuming individual apps, these can also be placed in subdirectories, which are then also linked to separate volumes/drives; the same is true for /Library/Application Support/[app name], but itā€™s getting more complicated as macOS tightens up security.

The days when you could easily edit FSTAB and map Applications, VM, et al, to other volumes, is sadly long past. Even with my vintage Mac Pro, stuffed internally with 14 individual drives (4 HDD, 10 SSD), I still use, and since the earliest days of System 7, and especially with OS X, always kept my System, Applications & Utilities, and User directories as individual volumes. If my system gets whacked, I need only restore my system (or boot from emergency clone), and do not ever suffer the tremendously long times required to restore a unified volume containing all data and applications. But for an app license here and there that needs revalidating, itā€™s a flawless strategy, and isnā€™t as complex as it seems.

If Apple ever does release a new Mac Pro, based on current pricing, there is no way in heck Iā€™m going to be able to afford (let alone be willing to pay) their outrageous (if justified) non-upgradeable permanent SSD prices in the sizes I would require for comfortable all-internal storage; unless they shock me by allowing for a few M.2 or gawdforbid SATA connections, or enough PCIe slots (HA!) to host additional internal storage, I donā€™t relish the games Iā€™m going to face with ever-tightening security and the pushback from the T2 controller.

My RR840 RAID-0, striped with a pile of relatively inexpensive SSDs can easily top 1600MBps; while itā€™s not the 2600MBps of all the new Samsung Polaris-controlled, RAID-0 internal storage Apple is mandating for everyone, itā€™s still wicked fast (compared to HDD, single SSD and esp. Fusion) and allows me to keep loving a ten year old 8 core Xeon Mac Pro, and I have pure freedom to manage my over 40TB of INTERNAL storage, before we even discuss my externals.

Cheers

F

I have yet to settle into the new iMac. I had tried to use the Migration Assistant when I first set up, but it was going to run out of space and I had to abort. It did not seem to see that the drive was not as large as the files it was moving. My main problem now is all my program preferences and registrations. I was trying to avoid registering everything again by moving my ~/Library Folder over, but had to start from an external disk (which required starting from the recovery disk and giving the drive permission to start up on an external disk due to Mojave). Even then when I tried to move the Application Support folder (after I made the folder visible with TinkerTool) it was too big. I am thinking about just moving the Preferences files over or maybe Iā€™ll give up and start everything over and register the programs again. I have to put in my App store password when I start up a program from there, but I am most concerned that I will run into a legacy program in the future that I cannot find a serial number for.

I was unable to use Symbolic Links as a substitute for the User folders, but that may have been due to being logged into the account at the time and may be able to to it now that I am on an external drive. I am not always comfortable with *nix level manipulation, but will look at @james.cutler recommendations and try some of them again from the external drive.

Be aware that Symbolic Links to ~/Library are not followed properly by many applications. This causes undefined behavior which is, to say the least, difficult to diagnose. That drove my choice to move only the massive media folders to another drive. Should I need more free space, I would move VM files to another drive.

Putting a userā€™s home folder on another drive brings a different kind of risk. If the other drive is not mounted before user login, macOS will ā€˜helpfullyā€™ create a new home folder on the boot volume. I cannot recommend this for most users.

A final recommendation is to collect all the software and hardware licensing as well as subscriptions and warranty information in the same secure location as your list of authentication information (logins, passwords). Secure location is defined as encrypted with multiple backups. My current recommendation is to use a combination of 1Password, Time Machine, and Carbon Copy Cloner backups to local plus rotating off-site backups.

1 Like

I have always dealt with this by creating/ leaving behind a ā€œdummyā€, stripped-down user folder of the same short name and UID on the boot (could be internal or external) driveā€™s /Users/ directory, and install a desktop background that is blood red and has the text ā€œTHE DEDICATED USER VOLUME OR DRIVE FOR THIS USER NOT FOUND. THIS IS A PLACEHOLDER ACCOUNT ONLY. PLEASE LOG OUT OF THIS USER ACCOUNT, CONNECT [drivename], AND LOGIN AGAIN. (contact your sysadmin if you encounter this again after attaching the missing drive)ā€

If you are using the UUID redirect tool as I outlined above, the worst that happens is you waste a login cycle while you reconnect the drive. No actual harm occurs, unless the user insists on using the dummy account, and creates data there that has to be merged.

@raykloss, you may wish to start again, and create an entire new system on the external drive, then use Migration Assistant to assemble everything from the old machine on the external. It will be slow and sucky for a bit, but once you assure that you have all your software and user prefs properly situated on the external drive, then you can apply the above advice in a reverse manner; i.e., instead of pushing off files from the internal to the external, that are too large for the internal drive, you simply leave them in place on the external drive, and instead now clone only the System, Library and Apps (etc.), and you would also SELECTIVELY cloneto the internal drive the core of your own user(s) directories, excluding the large subdirectories as I suggested above.

You would have to create a temporary extra Admin account to make this all work smoothly (and preferably, you would just enable root access at least long enough to go through this process).

Once you have the speed-critical items in place on the internal drive, you then go about making the symbolic links (again, preferably as root to save a crapton of permissions and password prompts) leading back to the external drive (which will by default have the perfect path structure and UID and permissions already set); then, once assembled, while booted from the internal drive, you confirm your paths all work, then you can delete all the now-needless system and user ā€œduplicatesā€ on the external drive , leaving behind only the low-priority/too-large directories.

If the external then has lots of extra space (after accounting for data growth), you could further partition it and use it as a clone destination, which, guess what, due to the nature of *NIX, would be perfectly functional, because all file mapping occurs from root (/) in the first place, so any clone of the internal drive on any other drive/volume would automatically map to your ā€˜too-large-for-the-internal-driveā€™ directories.

Your other option might be to just say ā€˜oops!ā€™, and take advantage of Appleā€™s liberal 14 day return policy (they will even stretch that up to 45 days if you explain what you did wrong) and exchange it for an internal drive that is actually large enough, and just suck up the horrific pricing they will inflict on you.

I promise you, though, what I outlined here could be made to work; if you need it rewritten step by step, I could help.

1 Like