[squid-users] Cache pfSense fix

Jonathan Lee jonathanlee571 at gmail.com
Fri Jan 9 20:07:59 UTC 2026


Great find 

pfSense Squid Cache on NVMe (Persistent Across Reboots)
======================================================

Goal:
-----
Use an existing directory on an already-mounted NVMe drive
as Squid’s cache, while satisfying pfSense’s requirement
that the cache live under /var/squid.

This method:
- Works across reboots
- Survives pfSense & Squid upgrades
- Does NOT use symlinks (which do not work)
- Does NOT destroy existing data on the drive

--------------------------------------------------------

Prerequisites:
--------------
- NVMe drive already mounted (example: /nvme)
- Existing cache directory on the drive:
  /nvme/LOGS_Optane/Squid_Cache
- Squid package installed

--------------------------------------------------------

Step 1: Create the mount point under /var/squid
------------------------------------------------
(Only creates an empty directory if it doesn’t exist)

mkdir -p /var/squid/cache

--------------------------------------------------------

Step 2: Bind-mount (nullfs) the existing directory
--------------------------------------------------
(This makes the NVMe directory appear inside /var/squid)

mount_nullfs /nvme/LOGS_Optane/Squid_Cache /var/squid/cache

NOTE:
- No data is moved or copied
- Existing cache contents are used directly

--------------------------------------------------------

Step 3: Make the mount persistent (IMPORTANT)
------------------------------------------------
pfSense GUI:

1. Go to:
   System → Advanced → fstab

2. Click "Add"

3. Set the following:
   - Type:        nullfs
   - Device:      /nvme/LOGS_Optane/Squid_Cache
   - Mount point: /var/squid/cache
   - Options:     rw

4. Save
5. Apply Changes

--------------------------------------------------------

Step 4: Configure Squid to use the new path
-------------------------------------------
pfSense GUI:

Services → Squid Proxy Server → Local Cache

Set:
Cache directory:
  /var/squid/cache

Save and restart Squid.

--------------------------------------------------------

Step 5: Verify
--------------
Check that the mount is active:

df -h | grep squid
mount | grep nullfs

You should see the NVMe filesystem mounted at:
  /var/squid/cache

--------------------------------------------------------

Behavior After Reboot:
----------------------
- Mount persists across reboots
- pfSense package manager no longer complains
- Squid cache cleanup works normally
- No manual remounting required

--------------------------------------------------------

Important Notes:
----------------
- Symlinks do NOT work (pfSense resolves real paths)
- nullfs is the correct and supported workaround
- MSDOS/FAT filesystems work but are not ideal long-term
- UFS or ZFS is recommended if you ever reformat

--------------------------------------------------------

End of file

Sent from my iPhone


More information about the squid-users mailing list