# Can I add a new HDD to an encrypted RAID 5 array?



## ghostcorps (May 1, 2009)

Hi Guys,

 This seems like a really basic question, I expect a simple 'no', but I havn't found anything definative yet.

 I currently have a hardware RAID5 array (onboard using Intel Matrix) encrypted with GELI, but I need to add 2 new discs to the array. If I add a disc to the array and have it rebuilt with the Intel Matrix Storage Manager, prior to booting FreeBSD will that destroy the encrypted data?

 If so, how can I decrypt the disk without copying the data to another partition?


Please let me know if you need any other info.

Thanks
=^_^= 



Using:
OS: FreeBSD 7.0
Mobo: Asus p5b-e http://www.asus.com.au/products.aspx?l1=3&l2=11&l3=307&l4=0&model=1347&modelmenu=1
HDDs: Seagate 500g SATA2


----------



## vermaden (May 1, 2009)

You can add disks to RAID5/RAID6 array on ZFS filesystem, but propably not in your case.


----------



## phoenix (May 1, 2009)

vermaden said:
			
		

> You can add disks to RAID5/RAID6 array on ZFS filesystem, but propably not in your case.



No you can't.  The number of disks in a raidz vdev is fixed at creation time, and cannot be changed.  You can swap disks in a raidz vdev to add more total storage space (swap 1 TB disks in for 500 GB disks), but you can't add disks (convert a 4-disk raidz to a 5-disk).

The only way to add disks with ZFS is to create another vdev and add that to the pool.  For example, you could create a pool with a single 4-drive raidz vdev:
`# zpool create storage raidz da0 da1 da2 da3`

Later, you can add a 6-drive raidz vdev to the pool:
`# zpool add storage raidz ad0 ad1 ad2 ad3 ad4 ad5`

ZFS will then stripe the data across the two raidz vdevs, in essence creating a RAID0+5 (aka RAID50).


----------



## phoenix (May 1, 2009)

> Can I add a new HDD to an encrypted RAID 5 array?



I see that your question was answered on the freebsd-stable mailing list.

For the archives, the answer appears to be:  no, at least not while the system is running.  Doing a backup old array -> add drives -> create new array -> restore data process is the safest bet.


----------



## ghostcorps (May 4, 2009)

Thanks Guys,

 I knew this was a long shot, but I had to ask... hope is a killer  lol

 I've decided to buy another 4 HDDs for a RAIDz array. After I've copied the data, I'll add the old HDDs to the new arry as advised by Phoenix. Its a bit of juggling, but in the end I'll have more than doubled my capacity (1.5=>3.5TB) and sidestepped a number of issues I have been dreading, and that are well known with a MatrixRAID implementation on FreeBSD.

Thanks again guys

=^_^=


----------

