Nice. Thank you.

Would you mind adding this to the Squid wiki?

IMO it should go as a new file in this part of the wiki repository:
 
<https://github.com/squid-cache/squid-cache.github.io/tree/main/docs/ConfigExamples/Caching>

(you can use the existing WindowsUpdates page there as an example/template layout to match the rest of the ConfigExamples section).



Cheers
Amos

On 10/01/2026 09:07, Jonathan Lee wrote:
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
_______________________________________________
squid-users mailing list
[email protected]
https://lists.squid-cache.org/listinfo/squid-users

_______________________________________________
squid-users mailing list
[email protected]
https://lists.squid-cache.org/listinfo/squid-users

Reply via email to