Hi Everyone,
I've started to use ZFS instead of the venerable UFS and would like to clarify some points about vdevs and zpools. My understanding is that the primary purpose of vdevs is to allow the combination of several disks to be used as a single virtual disk, and the primary purpose of zpools is to allow a filesystem to be extended with new vdevs. A zpool is a collection of vdevs, and a vdev is a collection of disks.
Disks can comprise a vdev according to the following vdev types:
I think, and I'm looking for confirmation here, that a vdev must comprise of disks of identical size, and a zpool must comprise of identical vdevs. Is that right?
For example, I may create a vdev out of four 1TB disks using raidz2, resulting in a total of 3TB storage. I then create a zpool on top of this vdev. If later I want to add new disks to this zpool, I can't extend the vdev, since those stay fixed after they are created. Instead, I have to create another vdev, but that also must hold four 1TB disks using raidz2. Once this new vdev is added to the zpool, the total storage space will be 6TB.
Is this correct? Or is there a way to add disks of different models/sizes to zpools or even vdevs?
I've started to use ZFS instead of the venerable UFS and would like to clarify some points about vdevs and zpools. My understanding is that the primary purpose of vdevs is to allow the combination of several disks to be used as a single virtual disk, and the primary purpose of zpools is to allow a filesystem to be extended with new vdevs. A zpool is a collection of vdevs, and a vdev is a collection of disks.
Disks can comprise a vdev according to the following vdev types:
- striped: blocks of a file may be distributed across all disks with no redundancy
- mirrored: each block of a file is present on each disk
- raidz: like striped, but one disk is reserved for parity
- raidz2: like striped, but two disks are reserved for parity
I think, and I'm looking for confirmation here, that a vdev must comprise of disks of identical size, and a zpool must comprise of identical vdevs. Is that right?
For example, I may create a vdev out of four 1TB disks using raidz2, resulting in a total of 3TB storage. I then create a zpool on top of this vdev. If later I want to add new disks to this zpool, I can't extend the vdev, since those stay fixed after they are created. Instead, I have to create another vdev, but that also must hold four 1TB disks using raidz2. Once this new vdev is added to the zpool, the total storage space will be 6TB.
Is this correct? Or is there a way to add disks of different models/sizes to zpools or even vdevs?