TSF – Giải pháp IT toàn diện cho doanh nghiệp SMB | HCM

P16 - Passthrough Physical Disks TrueNAS on Proxmox

🚀 TrueNAS – P16: How to Passthrough Physical Disks to TrueNAS on Proxmox (Step-by-Step)

Disk passthrough is essential if you want TrueNAS to fully control physical disks and unlock the full power of ZFS.

If you use virtual disks instead of raw disks, you may lose:

  • ❌ SMART monitoring

  • ❌ Accurate disk serial numbers

  • ❌ Temperature reporting

  • ❌ Proper ZFS error handling

In this step-by-step guide, you’ll learn how to Passthrough Physical Disks TrueNAS from Proxmox correctly using the by-id method — the production-safe way.

This tutorial works for:

  • ✅ Proxmox VE

  • ✅ TrueNAS SCALE

  • ✅ TrueNAS CORE

By the end, you’ll have a stable, production-ready storage setup.


🔎 Why Raw Disk Passthrough Matters

There are two common methods:

1️⃣ Virtual Disk (Not Recommended for ZFS)

  • Disk is abstracted by Proxmox

  • Limited SMART visibility

  • Higher risk for ZFS integrity issues

2️⃣ Raw Disk Passthrough (Recommended)

  • TrueNAS sees the real hardware

  • Full SMART data

  • Accurate serial number

  • Real disk temperature

  • Stable ZFS pools

For serious storage environments → always use raw disk passthrough.


🧩 STEP 1: Identify the Disk on the Proxmox Host

🔹 Get the disk name

SSH to Proxmox:

 
 
lsblk
 

You will see something like:

 
 
sda 240G (system disk)
sdb 240G (newly mounted disk)
 

👉 Remember the disk name (example: sdb)


🔹 Get the disk ID (IMPORTANT)

 
 
ls -l /dev/disk/by-id/
 

Example output:

 
 
ata-KINGSTON_SA400S37240G_50026B76841096E3
 

✅ Copy this line exactly.

❗ DO NOT use /dev/sdb (device names can change after reboot)

Always use /dev/disk/by-id/ for stable mapping.


⚠️ If the Disk Contains Data (Formatting Required)

Be careful — formatting will erase all data.


🔹 Method 1: Erase Partition + Signature (RECOMMENDED)

 
 
wipefs -a /dev/disk/by-id/ata-XXXX
 

Or more aggressive cleanup:

 
 
sgdisk –zap-all /dev/disk/by-id/ata-KINGSTON_SA400S37240G_50026B76841096E3
 

✅ TrueNAS prefers this type of clean disk.


🔹 Method 2: Using dd (Only When Disk Is Corrupted)

 
 
dd if=/dev/zero of=/dev/disk/by-id/ata-XXXX bs=1M count=100
 

This writes zeroes to the first 100MB — enough to erase old metadata.

⚠️ Only use this if the disk has corrupted partition tables.


🖥️ STEP 2: Assign Disk to TrueNAS VM

Assuming:

  • TrueNAS VM ID = 108

  • Disk ID = ata-KINGSTON_SA400S37240G_50026B76841096E3

Run:

 
 
qm set 108 -scsi3 /dev/disk/by-id/ata-KINGSTON_SA400S37240G_50026B76841096E3
 

Explanation:

  • scsi3 = 4th disk slot

  • Disk is now attached as a raw physical device


⚙️ STEP 3: Configure the Correct Controller

Open:

VM → Hardware

Set:

  • ✅ SCSI Controller: VirtIO SCSI single

  • ✅ Cache: None

  • ✅ IO Thread: off

These settings ensure stability and compatibility with ZFS.


▶️ STEP 4: Start TrueNAS VM

 
 
qm start 108
 

Then open:

TrueNAS Web UI → Storage


🗄️ STEP 5: Create a Pool in TrueNAS

  1. Go to Storage → Pools → Add

  2. Select the 240GB disk

  3. Click Create Pool

You’ll notice:

✅ The disk appears as a real physical disk
✅ SMART data is visible
✅ Serial number matches hardware
✅ Temperature reporting works

Not a virtual disk.


🔍 How to Verify SMART Data

Inside TrueNAS:

  • Storage → Disks

  • Check:

    • Serial Number

    • Temperature

    • SMART status

If SMART is missing → you likely used a virtual disk instead of raw passthrough.


❌ Common Mistakes That Cause Problems

1️⃣ Using /dev/sdb Instead of by-id

→ Disk mapping changes after reboot
→ Pool may break

2️⃣ Using Virtual Disk Instead of Raw Disk

→ No SMART
→ ZFS instability

3️⃣ Not Cleaning Old Signatures

→ Disk not selectable in TrueNAS
→ Pool creation fails

4️⃣ Using Cache Mode Incorrectly

→ Possible corruption risk


🏁 Final Result

After completing this Passthrough Physical Disks TrueNAS setup:

  • ✔️ TrueNAS fully controls the disk

  • ✔️ ZFS works as intended

  • ✔️ SMART monitoring is functional

  • ✔️ Stable production-ready storage

  • ✔️ Works with TrueNAS SCALE and CORE

This is the correct and professional way to deploy TrueNAS on Proxmox.

See also related articles

P21 – Effortless WordPress TrueNAS Setup Guide

P21 – Effortless WordPress TrueNAS Setup Guide 🚀 TrueNAS P21 – WordPress TrueNAS Apps Demo Deploy WordPress Easily (No Docker Skills Needed) Deploying WordPress on a NAS no longer requires deep Docker knowledge or complex manual configurations. With WordPress TrueNAS Apps, you can launch a fully functional WordPress instance directly...

Read More

P20 – Essential ZFS Disk Scrubbing Best Practices Guide

P20 – Essential ZFS Disk Scrubbing Best Practices Guide 🚀 TrueNAS – P20: ZFS Disk Scrubbing – Step-by-Step Configuration & Best Practices Maintaining data integrity is one of the most important responsibilities of any storage administrator. Even enterprise-grade disks can develop silent data corruption over time. This is where ZFS...

Read More

P18 – Ultimate MFA TrueNAS Security Setup Guide

P18 – Ultimate MFA TrueNAS Security Setup Guide 🚀 TrueNAS – P18: Secure TrueNAS with MFA (Google Authenticator) – Full Configuration Tutorial Security is critical for any production storage system. A strong password alone is no longer enough. If credentials are leaked, brute-forced, or reused elsewhere, your entire NAS infrastructure...

Read More