Hey all,
I've been working on my storage server and am getting very close to actually considering it 'ready for use'. The last thing I want to test is that resilience actually works and see how long a rebuild actually takes.
A quick overview of the setup.
ESXI 5.1 server
- Xeon
- 16GB ECC RAM
- boots from SSD attached to the motherboard
FreeBSD guest
- passed-through Dell Perc H310, cross-flashed to LSI IT mode
- 2x four port SATA breakout cables w/ sideband to enclosure
- 8x 3TB Seagate SATA drives
- 12 GB RAM
zpool created as the equivalent of a RAID60
- 2x four disk raidz2, striped together
- designed so that a single port failure on the HBA is survivable
Now, I'm not going to test the port failure, but I'm definitely keen on testing a single disk failure and the rebuild time.
The eight disks are in hot-swappable trays.
The sensible bits of my brain tell me that just yanking a drive to test the resiliency is a bit of a bad idea. If for no other reason than I'd like the disk to still work afterwards, and unplugging a hot disk without any prep (the least of which is to spin it down) seems like a bad idea.
I figure I need to do this in steps.
Step 1, 'fail' the disk in the zpool
Step 2, tell FreeBSD to stop talking to the disk
Step 3, actually unplug the disk!
Step 4, zero out said disk on a different machine
Step 5, plug the disk back in
Step 6, re-add it to the zpool
Step 7, monitor the rebuild
Are these steps valid? Am I missing obvious ones? Am I making steps up where none are needed?
What specific commands do steps 1, 2, 5, and 6?
Another big question - does used space impact rebuild times? Do I need to fill the zpool with data to get a realistic rebuild time?
I do know which disk is which in the machine, in terms of da# and which physical drive that da# corresponds to. I have used the LSI provided SAS2IRCU program to examine the disks in the enclosure.
Thank you in advance for any assistance or advice offered.
I've been working on my storage server and am getting very close to actually considering it 'ready for use'. The last thing I want to test is that resilience actually works and see how long a rebuild actually takes.
A quick overview of the setup.
ESXI 5.1 server
- Xeon
- 16GB ECC RAM
- boots from SSD attached to the motherboard
FreeBSD guest
- passed-through Dell Perc H310, cross-flashed to LSI IT mode
- 2x four port SATA breakout cables w/ sideband to enclosure
- 8x 3TB Seagate SATA drives
- 12 GB RAM
zpool created as the equivalent of a RAID60
- 2x four disk raidz2, striped together
- designed so that a single port failure on the HBA is survivable
Now, I'm not going to test the port failure, but I'm definitely keen on testing a single disk failure and the rebuild time.
The eight disks are in hot-swappable trays.
The sensible bits of my brain tell me that just yanking a drive to test the resiliency is a bit of a bad idea. If for no other reason than I'd like the disk to still work afterwards, and unplugging a hot disk without any prep (the least of which is to spin it down) seems like a bad idea.
I figure I need to do this in steps.
Step 1, 'fail' the disk in the zpool
Step 2, tell FreeBSD to stop talking to the disk
Step 3, actually unplug the disk!
Step 4, zero out said disk on a different machine
Step 5, plug the disk back in
Step 6, re-add it to the zpool
Step 7, monitor the rebuild
Are these steps valid? Am I missing obvious ones? Am I making steps up where none are needed?
What specific commands do steps 1, 2, 5, and 6?
Another big question - does used space impact rebuild times? Do I need to fill the zpool with data to get a realistic rebuild time?
I do know which disk is which in the machine, in terms of da# and which physical drive that da# corresponds to. I have used the LSI provided SAS2IRCU program to examine the disks in the enclosure.
Thank you in advance for any assistance or advice offered.