ZFS expansion by 1 disk - it's here!

Some time ago I did a piece on how to expand pools in TrueNAS. In it I mentioned that ZFS itself, which is the base of TrueNAS, can extend individual vDevs by one single disk. I also said that at the time this was not possible in the graphical interface.

Often in consultations you ask me precisely about the possibility of expanding a vDev by one disk. Unfortunately, this was not possible until September 2024, when TrueNAS Scale version 2410 came out. At the moment it is a test version, but in it we have the possibility to expand a single vDev by one disk.

Adding a single disk to vDev is a great feature, but keep in mind that at the moment the version of TrueNAS in which this is implemented is a beta version. Don't do it on production data, except for testing. It is likely that something will change, perhaps in the graphical interface. However, the principle and functionality itself must remain the same, as it is implemented in ZFS itself and works fine. The important thing now is that a stable version of TrueNAS itself is released with the functionality implemented.

And as in large solutions in the case of corporations or medium-sized enterprises or places where we have a lot of data, this functionality is somehow not particularly expected, because in any case these disks will be there so much and it will not matter so much whether we add a single disk or use whole vDevs adding two, three, four New vDevs each. On the other hand, in most cases, if we keep our small servers somewhere at home for our private purposes, study, or at least in some small business, there is a huge difference between whether we buy one disk or have to buy four more, because either there is nowhere to put them, or it's expensive.     

This is understandable and the pressure to implement it in TrueNAS is not surprising. However, there are a few rules that we need to keep in mind. The basic one is that the raid does not change If once we set up a widow in raid Z1, that is, with one parity disk, it will remain so. We will be able to add 1, 2, 3, 4, 5 disks, but all the time it will remain raid Z1, with one parity disk. The second issue is the all time IOPS limit. That is, a given vDev has as many IOPS as a single disk. This means that adding more disks will increase throughput, but will not change or increase the number of IOPS on a given vDev.

However, as far as most home solutions are concerned, this will be as good a way as possible. In practice, for technical reasons, such an expansion will "eat" us some RAM. This is due to the actions of transfers, expansions, spreading this data over more disks.

Another rule is that we can't have a smaller drive. This is logical. It can be bigger, but it will not give us anything. In practice, if we insert a larger disk then the difference will remain unused. The basic rule of ZFS still applies here: if all disks are increased, the vDev will also expand.