I’m relatively new to TrueNAS but I’ve been using Linux for twenty years, so this is more about the specifics of TrueNAS and whether I’m misunderstanding something fundamental.
Context:
I put together a test rig to see whether ProxMox would work for my family’s needs using an old laptop. It mostly seemed to work but then I irreparably damaged the ethernet port. Not a problem, pulled the SSD, bought an HP Prodesk 400, dropped the SSD in, reconnected the USB to SATA adapter for the two hard disks (said adapter is essentially a USB to NVME board).
The way I setup my pool (“main”) was to have two identical 2TB disks with the data mirrored between them - RAID 1. Seemed fairly sensible to me. I figured that losing a hard disk would be a nuisance but only a minor inconvenience.
Firing up the new server I noticed that the device names had changed. Ah well, no big deal, let’s just find out their names on the host system:
# lsblk -o +MODEL,SERIAL,WWN
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS MODEL SERIAL WWN
sda 8:0 0 119.2G 0 disk Lexar SSD NS100 128GB NLV514R0098990S301 0x53a5a275141c94af
├─sda1 8:1 0 1007K 0 part 0x53a5a275141c94af
├─sda2 8:2 0 1G 0 part /boot/efi 0x53a5a275141c94af
└─sda3 8:3 0 118.2G 0 part 0x53a5a275141c94af
├─pve-swap 252:0 0 7.6G 0 lvm [SWAP]
└─pve-root 252:1 0 110.6G 0 lvm /
sdb 8:16 0 115.5P 0 disk USB Mass Storage 0000000000F3
└─sdb1 8:17 0 1.8T 0 part
sdc 8:32 0 115.5P 0 disk USB Mass Storage 0000000000F3
└─sdc1 8:33 0 1.8T 0 part
Cool, okay, update the ProxMox configuration for my TrueNAS system. Comment out the old, whack in the new:
boot: order=scsi0;ide2;net0
cores: 2
cpu: x86-64-v2-AES
ide2: local:iso/TrueNAS-SCALE-25.04.1.iso,media=cdrom,size=1925208K
memory: 8192
meta: creation-qemu=9.0.2,ctime=1750803531
name: TrueNAS
net0: virtio=BC:24:11:88:86:1F,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local:102/vm-102-disk-0.qcow2,iothread=1,size=12G
#scsi1: /dev/disk/by-id/usb-ST2000DM_008-2FR102_0000000000F3-0:0,size=1953514584K
#scsi2: /dev/disk/by-id/usb-ST2000DM_008-2UB102_0000000000F3-0:1,size=1953514584K
scsi1: /dev/disk/by-id/usb-JMicron_USB_Mass_Storage_0000000000F3-0:1-part1,size=1953514584K
scsi2: /dev/disk/by-id/usb-JMicron_USB_Mass_Storage_0000000000F3-0:0-part1,size=1953514584K
scsihw: virtio-scsi-single
smbios1: uuid=2d013e50-8478-4726-ba2b-4efba6b9389c
sockets: 1
vmgenid: 06bc7ac5-2069-4a77-86c7-28f2ebf33895
System boots right up. Let’s see what the state of play is:
truenas_admin@truenas[~]$ sudo fdisk -l
Disk /dev/sda: 12 GiB, 12884901888 bytes, 25165824 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4F61102A-0CE4-4E4F-99E5-CCA35E2C3CED
Device Start End Sectors Size Type
/dev/sda1 4096 6143 2048 1M BIOS boot
/dev/sda2 6144 1054719 1048576 512M EFI System
/dev/sda3 1054720 25165790 24111071 11.5G Solaris /usr & Apple ZFS
Disk /dev/sdc: 1.82 TiB, 1998251360256 bytes, 3902834688 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 1.82 TiB, 1998251360256 bytes, 3902834688 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
In the dashboard we see a list of disks:
That looks promising!
Let’s add those, I guess?
…It can see that they’re for “main” and lists “main” as existing but won’t add them?!
truenas_admin@truenas[~]$ sudo zpool status
pool: boot-pool
state: ONLINE
scan: scrub repaired 0B in 00:00:20 with 0 errors on Mon Jul 14 03:45:22 2025
config:
NAME STATE READ WRITE CKSUM
boot-pool ONLINE 0 0 0
sda3 ONLINE 0 0 0
errors: No known data errors
Ooookay…
truenas_admin@truenas[~]$ sudo zpool import
pool: main
id: 12412500989446671739
state: FAULTED
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the '-f' flag.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-72
config:
main FAULTED corrupted data
mirror-0 ONLINE
sdb ONLINE
sdc ONLINE
truenas_admin@truenas[~]$ sudo zpool import -fF main
cannot import 'main': I/O error
Destroy and re-create the pool from
a backup source.
So I disconnected the hard disks after shutting down the system and somehow ALL my data is toast?
How is that even possible?
What was the point of the mirroring if TrueNAS can do nothing about it?
What am I missing here? Can my data be recovered at all?
It isn’t the end of the world if it can’t but it does make me wonder what on Earth I’m doing wrong here. All it needs to do is mirror the data and try to keep it available. I’m not striping data, I’m not doing any wacky configurations, what the hell am I doing wrong?
My plan had been to move these disks to an NVME riser on the new machine but given that TrueNAS seems to struggle with anything I ask of it I’m wondering whether it’s worth the trouble. I feel like I’d have more reliable backups with an Alpine Linux VM and an rsync cron job - and that sounds nuts!
Please help me, folks, I’m clearly missing something obvious here.


