And because you array is full of ssd you can also make some modificationat the kernel level to enable the caching of ssd ... if you ssd are protected against power lost. I did that for my own lab (intel dc s3500 and intel dc s3700):
vi /kernel/drv/sd.conf ->
« ATA INTEL SSDSC2BB24″, »physical-block-size:4096,throttle-max:32, disksort:false, cache-nonvolatile:true »,
« ATA INTEL SSDSC2BA10″, »physical-block-size:4096,throttle-max:32, disksort:false, cache-nonvolatile:true »;
So here i force the physical block size to 4k, i put the throttle-max to 32 because the ssd are sata and the max queue of sata is 32, i said that they are ssd and not disk and finally i enable the cache of my ssd drive.
this command will enable the new parameter:
update_drv -vf sd
To find the id of your ssd you have to run this command first:
echo « ::walk sd_state | ::grep ‘.!=0′ | ::print struct sd_lun un_sd | \
::print struct scsi_device sd_inq | ::print struct scsi_inquiry \
inq_vid inq_pid » | mdb -k
Don't forget you have to do that before creating your pool.
The only thing i can say is play with zfs because it's just an awesome file system. The best out there