ProblematicLlama
Dabbler
- Joined
- Jan 25, 2015
- Messages
- 26
Hi,
I run a RAID5 array as RAID6 doesn't make much sense on a server with few disks, especially when the data isn't critical. That being said, I'd still *rather not* lose my data if it can be helped so if I ever need to replace a drive (if it fails, is about to fail, or I want to replace it with a higher capacity disk) resilvering makes me very nervous. Why? Because when you remove the drive, the array is in a degraded state so if anything goes wrong with another drive while resilvering (which is likely due to the intensity of the process) you could lose all of your data.
It would be really good if, rather than having to remove a drive to replace it, you could add the new drive in (either into an additional bay if you have one spare or to an esata port) and mirror the drive you want to replace, byte for byte, to the new drive (effectively creating a RAID-1 like mirror between the two devices), then once that's complete, you can remove the old drive and replace it with the new drive, preventing the need to a resilver (although a parity check against the new drive would probably be a good idea). This should also theoretically be possible while the array is online, with any new write operations to the disk to be replaced also applied to the new disk.
Obviously this wouldn't work for already failed drives, but it would be great if you want to replace a drive that's going to fail some time or if you want to replace it with a higher capacity disk.
The advantages of this are the following:
1) The array wouldn't go into a degraded state, meaning if a drive failed while mirroring you'd still have enough drives left to maintain the array
2) This would only stress the disk to be replaced and the disk it's going to be replaced with, isolating the risk of a failed drive
3) This could potentially allow you to replace more than one drive at once... maybe.. probably best not.
Does such a feature already exist in FreeNAS, and if not, is it likely to ever be implemented? I have heard of this being done on some enterprise storage solutions so figure it must be possible.
I run a RAID5 array as RAID6 doesn't make much sense on a server with few disks, especially when the data isn't critical. That being said, I'd still *rather not* lose my data if it can be helped so if I ever need to replace a drive (if it fails, is about to fail, or I want to replace it with a higher capacity disk) resilvering makes me very nervous. Why? Because when you remove the drive, the array is in a degraded state so if anything goes wrong with another drive while resilvering (which is likely due to the intensity of the process) you could lose all of your data.
It would be really good if, rather than having to remove a drive to replace it, you could add the new drive in (either into an additional bay if you have one spare or to an esata port) and mirror the drive you want to replace, byte for byte, to the new drive (effectively creating a RAID-1 like mirror between the two devices), then once that's complete, you can remove the old drive and replace it with the new drive, preventing the need to a resilver (although a parity check against the new drive would probably be a good idea). This should also theoretically be possible while the array is online, with any new write operations to the disk to be replaced also applied to the new disk.
Obviously this wouldn't work for already failed drives, but it would be great if you want to replace a drive that's going to fail some time or if you want to replace it with a higher capacity disk.
The advantages of this are the following:
1) The array wouldn't go into a degraded state, meaning if a drive failed while mirroring you'd still have enough drives left to maintain the array
2) This would only stress the disk to be replaced and the disk it's going to be replaced with, isolating the risk of a failed drive
3) This could potentially allow you to replace more than one drive at once... maybe.. probably best not.
Does such a feature already exist in FreeNAS, and if not, is it likely to ever be implemented? I have heard of this being done on some enterprise storage solutions so figure it must be possible.