Can't expand raidz1 vdev pool

Hello everyone,

I am currently facing an issue with the expansion of the vdev in my pool called ‘truenas’.
It consists out of 4x8TB HDDs and I want to put another two of the same size in there.
When trying to expand it, I am met with the below error:

  • middlewared.service_exception.CallError: [EFAULT] Could not create a partition of 8001563172352 bytes on disk sdd because the disk is too small. If you are replacing a disk in a pool, please ensure that the new disk is not smaller than the disk being replaced.
    
    Could not create partition 1 from 2048 to 15628055117
    Could not change partition 1's type code to BF01!
    Error encountered; not saving changes.
    

    (Tried via:
    Storage > Unused Disk > Add to Pool
    Storage > Topology > Manage Devices > Expand
    Storage > Truenas (my pool) > Expand)

zpool status:

  • truenas_admin@truenas[~]$ sudo zpool status
    [sudo] password for truenas_admin: 
      pool: boot-pool
     state: ONLINE
      scan: scrub repaired 0B in 00:00:04 with 0 errors on Wed Oct 29 03:45:05 2025
    config:
    
            NAME         STATE     READ WRITE CKSUM
            boot-pool    ONLINE       0     0     0
              nvme0n1p3  ONLINE       0     0     0
    
    errors: No known data errors
    
      pool: truenas
     state: ONLINE
    config:
    
            NAME                                      STATE     READ WRITE CKSUM
            truenas                                   ONLINE       0     0     0
              raidz1-0                                ONLINE       0     0     0
                f9bf2b20-7233-4a52-83d7-0ba172f1a5e0  ONLINE       0     0     0
                86364bc7-6d0e-4efb-8940-211bbdb5e48a  ONLINE       0     0     0
                8005d765-eab5-497a-9ae8-01a796f1f6fa  ONLINE       0     0     0
                0cc56694-cd67-4ea8-9ba4-468e1d6c246b  ONLINE       0     0     0
    
    errors: No known data errors
    

lsblk (/sdd and /sde are the affected drives, same models are already in the pool)

  • truenas_admin@truenas[~]$ lsblk -bo NAME,MODEL,ROTA,PTTYPE,TYPE,START,SIZE,PARTTYPENAME,PARTUUID
    NAME        MODEL                ROTA PTTYPE TYPE   START          SIZE PARTTYPENAME             PARTUUID
    sda         WDC WD80EFZX-68UW8N0    1 gpt    disk         8001563222016                          
    └─sda1                              1 gpt    part      64 8001563172352 Linux filesystem         86364bc7-6d0e-4efb-8940-211bbdb5e48a
    sdb         ST8000DM004-2U9188      1 gpt    disk         8001563222016                          
    └─sdb1                              1 gpt    part      64 8001563172352 Linux filesystem         f9bf2b20-7233-4a52-83d7-0ba172f1a5e0
    sdc         WDC WD80EFZX-68UW8N0    1 gpt    disk         8001563222016                          
    └─sdc1                              1 gpt    part      64 8001563172352 Linux filesystem         8005d765-eab5-497a-9ae8-01a796f1f6fa
    sdd         WDC WD80EFZX-68UW8N0    1        disk         8001563222016                          
    sde         WDC WD80EMAZ-00WJTA0    1 gpt    disk         8001563222016                          
    sdf         WDC WD80EMAZ-00WJTA0    1 gpt    disk         8001563222016                          
    └─sdf1                              1 gpt    part      64 8001563172352 Linux filesystem         0cc56694-cd67-4ea8-9ba4-468e1d6c246b
    zd0                                 0 gpt    disk           42949672960                          
    nvme0n1     ORICO                   0 gpt    disk          128035676160                          
    ├─nvme0n1p1                         0 gpt    part    4096       1048576 BIOS boot                e917ae59-0257-4943-a909-0f8636d20b76
    ├─nvme0n1p2                         0 gpt    part    6144     536870912 EFI System               9fe5f40b-07d8-4038-9a5e-df3edaf65c5e
    └─nvme0n1p3                         0 gpt    part 1054720  127495642624 Solaris /usr & Apple ZFS a02564a5-f6a0-45a1-9224-45b91b36e3ae
    

Output of parted -l from one working drive in the pool, and the two that can’t be added:

  • Model: ATA WDC WD80EFZX-68U (scsi)
    Disk /dev/sdc: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start   End     Size    File system  Name  Flags
     1      32.8kB  8002GB  8002GB  zfs
    
    
    Error: /dev/sdd: unrecognised disk label
    Model: ATA WDC WD80EFZX-68U (scsi)                                        
    Disk /dev/sdd: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: unknown
    Disk Flags: 
    
    Model: ATA WDC WD80EMAZ-00W (scsi)
    Disk /dev/sde: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start  End  Size  File system  Name  Flags
    
    

lspci

  • truenas_admin@truenas[~]$ lspci
    00:00.0 Host bridge: Intel Corporation Device 461c
    00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
    00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01)
    00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
    00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
    00:15.0 Serial bus controller: Intel Corporation Device 54e8
    00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
    00:17.0 SATA controller: Intel Corporation Alder Lake-N SATA AHCI Controller
    00:1c.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
    00:1c.3 PCI bridge: Intel Corporation Device 54bb
    00:1c.6 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
    00:1d.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
    00:1f.0 ISA bridge: Intel Corporation Alder Lake-N PCH eSPI Controller
    00:1f.3 Audio device: Intel Corporation Alder Lake-N PCH High Definition Audio Controller
    00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
    00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
    02:00.0 SATA controller: ASMedia Technology Inc. ASM1166 Serial ATA Controller (rev 02)
    03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
    04:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (rev 01)
    

storcli

  • truenas_admin@truenas[~]$ sudo storcli show all
    CLI Version = 007.2807.0000.0000 Dec 22, 2023
    Operating system = Linux 6.12.15-production+truenas
    Status Code = 0
    Status = Success
    Description = None
    
    Number of Controllers = 0
    Host Name = truenas
    Operating System  = Linux 6.12.15-production+truenas
    

OS Version: 25.04.2.5

What have I done so far?:

  • I have tried adding a partition table, a partition, setting start, end etc but they just get removed / blank formatted again when trying to add them to the pool (latest attempt was to add /sdd, that’s why its’s not showing anything.
  • I’ve tried to replace a drive from the pool but it gives the same error.
  • I’ve tried to export / import the pool
  • I’ve did a complete power cycle of the NAS

What do I need help with?

Is there any way to further troubleshoot this?
Happy with any suggestions but if possible I would like to avoid copying the data to another drive, deleting the pool and re-creating it with all 6 drives, only to re-copy it into the new pool!

I think what you are running into is a change in how TrueNAS manages partitions.

From your existing pool drive:

From the error message:

Current TrueNAS starts at block 2048, leaving (I assume) 1 MB unused at the start of the drive. Your existing drives start 32KB into the drive.
You say you manually created the partition, were you able to create a partition that started at block 2048 and went to block 15628055117 ? Or did you create a partition that matched the existing drives (32.8KB to 8002GB) ?

If I am correct, I do not know how to solve the problem. Perhaps some manual intervention…

  1. Export pool via UI
  2. Import pool via Linux command
  3. Partition new drives to match old
  4. Grow pool via command line
  5. Wait for expansion with the 1st drive to complete
  6. Export pool via Linux command
  7. Import pool via UI

Repeat to add second additional drive.

Note that the above is NOT recommended practice, make sure you have a known good backup of your data before starting. The above should be a last resort if your only other option is to destroy and recreate the pool.

2 Likes

Many thanks, kinda obvious when laid out this clear. The pool was originally created in unRAID.
So it looks like unRAID starts on a different block than TrueNAS and TrueNAS doesn’t like this.

With that in mind I will probably take the route of moving all contents to another spare drive, deleting this pool and creating it newly in TrueNAS, then move all stuff back onto it.

Thanks again, I will mark this as solved with that. :head_shaking_vertically:

2 Likes