Saturday, November 22, 2014

Microsoft Storage Spaces for Desktop Benchmarked

After NAS mirror upgrade I ended up with two spare Barracuda 7200.14 hard drives.  Given that I am running out of space on my video editing workstation, the choice was clear.  Would be nice though if I could use those in a mirror - to make sure things are fast and tolerate hard drive failure.  I just learned about Microsoft Storage Spaces and throught I would give it and ReFS a try.

I compared I/O performance of three drives:
  • Kingston SSDNow V300 Series SV300S37A/120G 2.5" 120GB SATA III SSD - just because it was already there.
  • Single hard drive - 2861589GB Seagate Barracuda 7200.14 (AF) ST3000DM001-1E6166 
  • A Microsoft Windows 8.1 Storage Space with two of the above hard drives configured as mirror.
Here is what I measured using CrystalDiskMark 3.0.3 x64:



MB/sIOPSMB/sIOPSMB/sIOPSDelta
Sequential Read:446.836
140.259
181.808
22.85%
Sequential Write:144.154
137.572
125.443
-8.82%
Random Read 512KB:404.102
50.204
39.758
-20.81%
Random Write 512KB:144.021
82.208
66.927
-18.59%
Random Read 4KB (QD=1):22.6665533.80.38694.30.449109.614.03%
Random Write 4KB (QD=1):108.64426524.56.9316920.38293.2-94.49%
Random Read 4KB (QD=32):116.62128471.90.468114.30.456111.2-2.56%
Random Write 4KB (QD=32):141.82434624.90.983239.90.38493.7-60.94%

SSD1x Barracuda 7200.142x Barracuda 7200.14

Transition to storage spaces mirror moderately improves sequential read speed.  Random write performance however is dramatically deteriorated.  For a workstation use scenario this makes storage spaces unacceptable for me.  They may still be relevant for servers.

So I will be sticking with two single hard drives.  Maybe will use synchtoy to backup one drive to another.

Mirror Upgrade - Step by Step, the Right Way

The last time I tried to upgrade the mirror I messed up.  I ended up with the following:

Disk Size (MB)Description Device model Virtual devicePool
da01907730Seagate Barracuda Green (AF) ST2000DL003-9VT166
tank_mirror_0
tank
da11907730Seagate Barracuda Green (AF) ST2000DL003-9VT166
da22861589Seagate Barracuda 7200.14 (AF) ST3000DM001-1E6166
vault_mirror_1

vault
da32861589Seagate Barracuda 7200.14 (AF) ST3000DM001-1E6166
da43815448Seagate NAS HDST4000VN000-1H4168 vault_disk_2
da53815448WD RedWDC WD40EFRX-68WT0N0 VeryTempVeryTemp

da4 ended up being added in serial not in parallel fashion.  I then added da5 and copied the content of the pool vault to it.  I am about to add another drive in parallel with da5 (thus making VeryTemp a mirror) and remove da2, da3 and da4.

Monday, July 7, 2014

Mirror Upgrade

My NAS is configured with two mirrors for file sharing (over SMB) with other Windows computers:

Disk Size (MB)Description Device model Virtual devicePoolDatasetPathSMB Share
da01907730Seagate Barracuda Green (AF)ST2000DL003-9VT166tank_mirror_0tankalex/mnt/tank/alex/alex
da11907730Seagate Barracuda Green (AF)ST2000DL003-9VT166music/mnt/tank/music/music
da22861589Seagate Barracuda 7200.14 (AF)ST3000DM001-1E6166vault_mirror_1vaultalex

da32861589Seagate Barracuda 7200.14 (AF)ST3000DM001-1E6166movies/mnt/vault/moviesmovies

I plan to purchase two 4TB drives to upgrade mirror vault.  Then after 30 or so days I will use these hard drives to upgrade mirror tank.
I did this successfully in the past.  This time I will document the procedure and will try to stay away from command line.

I powered down the system, installed new hard drive - there are plenty of empty positions available in the drive cages, powered the system up.
New drive da4 immediately appeared in Diagnostics\Information\Disks.
I go to Disk\Management,
da4 is not there.
I click Rescan Disks.
da4 appears.  I edit it to: set APM to 127,  activate SMART.
Apply changes.
I click Disk\Format, select da4 and specify ZFS.
Diagnostics\Information\Disks for da4 looks like this:
DeviceDevice modelDescription Size Serial number Rotation rate Transfer rate S.M.A.R.T. Controller Controller model Temperature Status
da4ST4000VN000-1H4168n/a3815448MBZ30150F65900 rpm6.0 Gb/sAvailable , Enabledmps0LSI SAS200835 °CONLINE

Time to add da4 to mirror vault.
This post outlines the steps involved in maintaining the mirror.  In a nutshell it recommends to take one disk offline and to add another thus replacing the first one.  I am a proponent of a different approach.  You add a 3rd disk to a mirror.  You leave it there for a while.  In the meantime not only old files are copied to the new disk.  Also all I/O operations are duplicated to 3rd disk and early failure might be detected.  If disk still works after 30 days, you can remove one of the older disks.  Add anew larger capacity disk.  Repeat.
The above approach relies on command

zpool add <existing pool> <device>

Unfortunately I found no way to issue it through GUI, thus the need to use command line:

Edit: nest post will be about a proper way to upgrade the mirror.