This guide will walk you through a detailed TrueNAS CORE installation and configuration, covering storage pools, networking, and services like SMB, NFS, and iSCSI.
🔹 Step 1: Install TrueNAS CORE
If you haven’t installed it yet, follow these steps:
- Download the ISO → TrueNAS CORE Official Site
- Create a Bootable USB → Use balenaEtcher or
dd
- Boot from USB and follow the installation wizard
- Set root password and reboot
Once installed, TrueNAS will display an IP Address on the console screen.
🔹 Step 2: Access the Web Interface
- Open a browser and enter:
- cpp
http://<TrueNAS-IP>
- Log in using:
- Username:
root
- Password: (Set during installation)
- Username:
🔹 Step 3: Configure Storage (ZFS Pool)
1️⃣ Create a Storage Pool
- Go to Storage > Pools
- Click Add → Choose Create New Pool
- Select available disks
- RAID Options:
- RAIDZ-1 (1 disk redundancy)
- RAIDZ-2 (2 disk redundancy)
- RAIDZ-3 (3 disk redundancy)
- Mirror (like RAID 1)
- Stripe (RAID 0, no redundancy)
- RAID Options:
- Set the Pool Name
- Click Create (this will erase all data on selected drives)
2️⃣ Configure Datasets (Folders with Permissions)
- Go to Storage > Pools
- Click the 3-dot menu next to the pool and select Add Dataset
- Set a Dataset Name
- Choose:
- Compression (LZ4 recommended)
- Case Sensitivity (Insensitive for Windows)
- Click Save
3️⃣ Configure User Permissions
- Go to Accounts > Users
- Create a new user (e.g.,
nasuser
) - Assign Home Directory inside the dataset (e.g.,
/mnt/storage
) - Go to Storage > Datasets
- Click Edit Permissions and set:
- Owner:
nasuser
- Group:
wheel
orusers
- Permissions: Full Access (770)
- Owner:
🔹 Step 4: Configure Network
- Go to Network > Interfaces
- Click Add and select your network interface
- Set:
- DHCP (default) or Static IP
- Netmask (e.g.,
255.255.255.0
) - Gateway (your router’s IP, e.g.,
192.168.1.1
)
- Click Apply
If using multiple NICs:
- LACP/Link Aggregation → Combines multiple NICs for speed
- VLANs → Isolate storage traffic
🔹 Step 5: Configure File Sharing
1️⃣ Enable SMB (Windows File Sharing)
- Go to Services > SMB and enable it
- Go to Sharing > Windows (SMB)
- Click Add:
- Path:
/mnt/storage
- Name:
SharedFolder
- Guest Access: (Enable if needed)
- Permissions: Ensure the dataset is owned by
nasuser
- Path:
- Click Save & Restart SMB
- Access from Windows:
- Open Run (Win + R) and enter: php-templateCopyEdit
\\<TrueNAS-IP>
- Login using
nasuser
- Open Run (Win + R) and enter: php-templateCopyEdit
2️⃣ Enable NFS (Linux & Unix File Sharing)
- Go to Services > NFS and enable it
- Go to Sharing > Unix (NFS)
- Click Add:
- Path:
/mnt/storage
- Maproot User:
root
- Authorized Networks: (e.g.,
192.168.1.0/24
)
- Path:
- Click Save & Restart NFS
- Mount on Linux: bashCopyEdit
sudo mount -t nfs <TrueNAS-IP>:/mnt/storage /mnt/nas
3️⃣ Enable iSCSI (For VMs & ESXi)
- Go to Services > iSCSI and enable it
- Go to Sharing > Block (iSCSI)
- Click Add Target:
- Target Name:
iscsi_target
- Auth Method: None or CHAP
- Target Name:
- Go to Extents > Add Extent:
- Extent Name:
iscsi_extent
- Device Type: File or Zvol
- Path:
/mnt/storage/iscsi.img
- Extent Name:
- Go to Targets > Associate Target & Extent
- On ESXi → Add as iSCSI Datastore
🔹 Step 6: Enable Security & Backups
1️⃣ Enable Automatic Snapshots
- Go to Tasks > Periodic Snapshot Tasks
- Click Add:
- Dataset:
/mnt/storage
- Schedule: Hourly, Daily, Weekly
- Retention: 30 Days
- Dataset:
- Click Save
2️⃣ Setup Replication to Another NAS
- Go to Tasks > Replication Tasks
- Click Add:
- Source Dataset:
/mnt/storage
- Destination: Remote TrueNAS
- SSH Key Exchange
- Source Dataset:
- Click Start Replication
3️⃣ Setup Cloud Backup
- Go to System > Cloud Credentials
- Choose Google Drive, AWS, Backblaze B2, etc.
- Go to Tasks > Cloud Sync Tasks
- Click Add:
- Direction: PUSH
- Remote Storage: Select Cloud Provider
- Schedule: Daily/Weekly
🔹 Step 7: Monitoring & Maintenance
1️⃣ Enable Email Alerts
- Go to System > Alerts
- Setup Email:
- SMTP Server: (e.g.,
smtp.gmail.com
) - Username/Password
- Send Test Email
- SMTP Server: (e.g.,
2️⃣ Enable SMART Monitoring
- Go to Storage > Disks > Edit Disk
- Enable SMART Monitoring
- Go to Tasks > SMART Tests
- Schedule Weekly Tests
3️⃣ Monitor Performance
- Go to Reporting for CPU, RAM, Disk, Network usage
- Use CLI: bashCopyEdit
top zpool status zfs list