Basically, I was creating my second NAS4Free build. The first was just proof of concept with old hardware and using ZFS RAID-Z with 3 PATA disks of 80GB size, which went very smoothly. The new build was going to use a mixture of 6 different sized SATA drives. The plan was to go RAID-Z2 and gradually swap out the smallest disks for larger disks, as I moved data off existing systems onto the NAS4Free system and freed their larger internal disks. This would also give me a lot of experience with resilvering, drive replacement, etc. My boss also liked the minimal investment up-front by using existing unused drives to start out.
No matter what I tried, I was unable to get the ZFS pool created. It returned "Error: The changes could not be applied (error code 1)" every time. The vDev (RAID-Z2) always created without issue. The secret to solving the problem was going to Diagnostics -> Log in the WebGUI. There I saw a message stating that the issue was the disks were different sizes and indicating I could bypass this check by including the -f parameter in the command. I no longer have the original logs (this happened last week and they've been overwritten, at least in the WebGUI) but here is the specific command on my system which was failing:
Code: Select all
zpool create -m /mnt/zPool1 zPool1 raidz2 /dev/ada0.nop /dev/ada1.nop /dev/ada2.nop /dev/ada3.nop /dev/ada4.nop /dev/ada5.nopCode: Select all
zpool create -f -m /mnt/zPool1 zPool1 raidz2 /dev/ada0.nop /dev/ada1.nop /dev/ada2.nop /dev/ada3.nop /dev/ada4.nop /dev/ada5.nop
