Jump to content
4 minutes ago, dross_199 said:

so with is my config would be 3x500gb ssd and 2x3tb wd reds ? so usable storage would be 500gb -os and 3.5tb with 2x ssd in mirror and 2x 3tb in mirror ? This might be quite tight with my 1u case.

Correct, but you don't have to use such large SSDs for the tiering, it's very good at it and even recommends how much you need and shows what you are using when you run the powershell storage optimization task. You'll get away with 120GB SSDs easily.

 

Keep in mind Storage Spaces is one of the few technologies out there where the SSD cache (why it's called tiering) actually gives usable storage, most of the other ones it's cache only.

Link to post
Share on other sites

9 minutes ago, leadeater said:

Correct, but you don't have to use such large SSDs for the tiering, it's very good at it and even recommends how much you need and shows what you are using when you run the powershell storage optimization task. You'll get away with 120GB SDDs easily.

 

Keep in mind Storage Spaces is one of the few technologies out there where the SSD cache (why it's called tiering) actually gives usable storage, most of the other ones it's cache only.

Ah alright, think this might be a massive task :P cause i got the 3tb wd reds for storage of my tv & films as it has grown by 800gb within the last 3 months. But with this i am only going to have 3tb usable space for all shared family data, VMs and TV & Films library.Which is already over that storage limit. This might be a much more expensive project than i though. :( 

Link to post
Share on other sites

3 minutes ago, dross_199 said:

Ah alright, think this might be a massive task :P cause i got the 3tb wd reds for storage of my tv & films as it has grown by 800gb within the last 3 months. But with this i am only going to have 3tb usable space for all shared family data, VMs and TV & Films library.Which is already over that storage limit. This might be a much more expensive project than i though. :( 

Just adding more WD Reds should work rather well, for HDDs more means better. To change to storage spaces you'd have to back everything up then wipe all the data on the existing HDDs, it's a big pain in the ass to make a change like this. Much easier to start out using a storage configuration type than it is to change to one, so much moving data around and the risk involved in doing it.

Link to post
Share on other sites

21 minutes ago, leadeater said:

Just adding more WD Reds should work rather well, for HDDs more means better. To change to storage spaces you'd have to back everything up then wipe all the data on the existing HDDs, it's a big pain in the ass to make a change like this. Much easier to start out using a storage configuration type than it is to change to one, so much moving data around and the risk involved in doing it.

My best plan is to get 1 more 3tb WD red and use storage pools to mirror my Vol1 Data drive, which is where my VMs will be stored and leave my TV & Films drive standalone ( No Mirror). The cost of getting 2 more wd red drives and another raid card is way out of what i can afford. Would mirroring 2x WD red drive be fast enough to run up to 15 SVR 12r2 VMs and still be able to use as network storage for my family ? 

 

Link to post
Share on other sites

17 minutes ago, dross_199 said:

My best plan is to get 1 more 3tb WD red and use storage pools to mirror my Vol1 Data drive, which is where my VMs will be stored and leave my TV & Films drive standalone ( No Mirror). The cost of getting 2 more wd red drives and another raid card is way out of what i can afford. Would mirroring 2x WD red drive be fast enough to run up to 15 SVR 12r2 VMs and still be able to use as network storage for my family ? 

 

15 VMs on 2 disks is unlikely to work that well. The best cheap setups I've seen is using an SSD to host the VM files and the OS VHDX files then any data VHDX files you place on HDDs. You can mirror/parity them or if the data isn't that important you can dedicate single HDDs to a sub set of VM data disks and spread load that way.

 

More disks in an array is better though so avoid splitting the disks up if possible, however if you are using motherboard raid avoid RAID5/6 it will suck big time.

Link to post
Share on other sites

4 minutes ago, leadeater said:

15 VMs on 2 disks is unlikely to work that well. The best cheap setups I've seen is using an SSD to host the VM files and the OS VHDX files then any data VHDX files you place on HDDs. You can mirror/parity them or if the data isn't that important you can dedicate single HDDs to a sub set of VM data disks and spread load that way.

 

More disks in an array is better though so avoid splitting the disks up if possible, however if you are using motherboard raid avoid RAID5/6 it will suck big time.

So probably the best option for myself is to swap my 250gb OS SSD with one of my desktop 500gb SSDs and get another 3 TB Drive to mirror my servers main data drive. Apologies for my clueless, this side of Server config is fairly new to me, Mainly work with small to medium ADDS deployments and PC repair, not virtualization and Raid :D. Thanks for all your help. 

Link to post
Share on other sites

9 minutes ago, dross_199 said:

So probably the best option for myself is to swap my 250gb OS SSD with one of my desktop 500gb SSDs and get another 3 TB Drive to mirror my servers main data drive. Apologies for my clueless, this side of Server config is fairly new to me, Mainly work with small to medium ADDS deployments and PC repair, not virtualization and Raid :D. Thanks for all your help. 

It's highly likely you just need to change the SSD and move the OS VHDX files to the SSD and the performance problem will be fixed and therefore no need to buy another WD Red at all.

Link to post
Share on other sites

1 minute ago, leadeater said:

It's highly likely you just need to change the SSD and move the OS VHDX files to the SSD and the performance problem will be fixed and therefore no need to buy another WD Red at all.

Alright, i will give that a try sometime this week. Get all that data moved again :D. One more off topic question as you are a fount of knowledge, what is your opinion of the below drive: "Toshiba P300 High Performance 3TB Internal Hard Drive" Link "https://www.amazon.co.uk/d/Internal-Hard-Drives/Toshiba-P300-7200RPM-SATA-Hard-Drive-bulk/B0151KM6F0/ref=pd_lpo_147_bs_lp_t_2?_encoding=UTF8&psc=1&refRID=HYJQX0WYP9N68KCJR2V3" that's the last one i promise. :P 

Link to post
Share on other sites

2 minutes ago, dross_199 said:

Alright, i will give that a try sometime this week. Get all that data moved again :D. One more off topic question as you are a fount of knowledge, what is your opinion of the below drive: "Toshiba P300 High Performance 3TB Internal Hard Drive" Link "https://www.amazon.co.uk/d/Internal-Hard-Drives/Toshiba-P300-7200RPM-SATA-Hard-Drive-bulk/B0151KM6F0/ref=pd_lpo_147_bs_lp_t_2?_encoding=UTF8&psc=1&refRID=HYJQX0WYP9N68KCJR2V3" that's the last one i promise. :P 

Not sure never used one. I know a lot of Toshiba disks that have Time Limited Error Recovery (TLER) have it off by default and you need to turn it on which is important for RAID. Personally I don't think it matters a heck of a lot, if the drive has good reliability then it's not really going to matter who makes it for home usage. I use a mixture of WD Reds and Seagate NAS series disks but I'm thinking of switching to basic WD Blues for things like my Plex library.

Link to post
Share on other sites

15 minutes ago, leadeater said:

Not sure never used one. I know a lot of Toshiba disks that have Time Limited Error Recovery (TLER) have it off by default and you need to turn it on which is important for RAID. Personally I don't think it matters a heck of a lot, if the drive has good reliability then it's not really going to matter who makes it for home usage. I use a mixture of WD Reds and Seagate NAS series disks but I'm thinking of switching to basic WD Blues for things like my Plex library.

That's something i'll bare in mind with them drives and hopefully when i become more familiar with this side of things i'll build a storage server with more than just the 4 bays i currently have. Thanks for all your help, learnt alot from your responses.

Link to post
Share on other sites

If you don't want to buy new hardware, I would suggest going down the software route and using something such as PrimoCache.  I have been using this in tandem with HyperV for about 2 years now with very positive results and touch wood haven't had a data loss scenario yet.

 

https://www.romexsoftware.com/en-us/primo-cache/

Doesn't currently support 2016, so no HyperV from 2016 :(


60 Day trial is available for you to test and verify the functionality of the software, licenses aren't really expensive either for the benefit.  Be aware this is NOT a RAMDisk which some people get infinitely confused with, this is a layer 1 memory cache which can also be used with a layer 2 SSD caching layer (if you have a spare SSD) which intercepts Windows driver IO requests.  I personally just utilise this for a Layer1 cache only, I do have one HyperV environment using a Layer2 SSD cache and that has a NVMe Intel 3700 SSD in it and that's because the end user specifically requested it, that is also a rocket ship.

 

What it essentially does is become a hot memory buffer for read & write IO to and from the mechanical hard disks.  So writes are written in to memory and the operating system is given a confirmation of write, the software takes care of getting that information down to the mechanical disks depending on the write-defer method you use.

 

PrimoCache-principle-1.png

PrimoCache-principle-2.png

I use this in some HyperV dev and staging implementations and it is an absolute rocket ship for getting more performance out of poor hardware.  Please be aware I don't generally recommend such software packages in live/production.

 

I have had really good success in implementation on HyperV with this, if configured correctly can give you exactly what you want from really poor hardware.  Bare in mind that memory generally transfers between 5-12GB/s and will catch all the writes and cache any reads if the memory pool is made sufficiently large enough.

 

To give you an example of one of my storage configs, In this environment I care absolutely zero if the whole hosts storage is lost the VM's can be rebuilt very easily via automation and have HA pairs on other hosts in the dev/staging top keep services up and running in the event of a N+1 host loss.

 

Dev/Staging HyperV 2012 R2 host (I have 4 in total)

1x 128GB SSD (AHCI to support TRIM)

6x 1TB 7200 SATA in RAID10 (Raid Caching Enabled but the HBA doesn't have a BBU because its shit)

Average around 30-40 Dev and Staging VMs per host


PrimoCache with 10GB memory assigned to RAID10 array

  • Read & Write Cache Type (Memory)
  • Size 10240Mb (10GB)
  • Defer write - 3 seconds (the longer you set this value the longer content will sit in write defer)
  • Block Size 4KB
  • Defer type - Averaging (Added screenshot of explanation of methods)
  • I don't flush cache on written, that is because it is a staging environment, I would recommend enabling that if you are using this for anything live/production related.

cache1.png

cache2.png

 

These are synthetic benchmarks below, but here's a before and after from inside a VM running on the HyperVisor..  The VM is completely transparent to the process and isn't even aware that a caching layer exists on the HyperV node.  Believe me this makes an enormous difference in the VM's responsiveness and in turn reduces disk IO and wait time across the whole host.  Averaging out the IO to disk over time is much more suitable than allowing for massive burst.  If the cache is large enough you will see enormous benefits while using VHD and VHDX implementations.

 

I ran the below benchmarks while the VMs were active, so while I disabled the cache temporarily the IO started to stack so values might be a little skewed downwards for the before test.  You get the idea on the difference, the software used for testing is AS SSD which you can get from MajorGeeks here - http://www.majorgeeks.com/files/details/as_ssd_benchmark.html

 

Before PrimoCache 

cache4.png

After PrimoCache

cache3.png

 

Maybe this will provide you with an alternative or just an informative post for people to digest? I do warn about using this in production but I utilise this software to give the dev and staging machines the kind of performance they will expect to see when they push the systems to the live flash array SANs.  Save money where saving money is sensible, Flash SAN storage has come down in price some what but you wouldn't want to pay for it twice if you didn't have to ;)

Please quote or tag me if you need a reply

Link to post
Share on other sites

On 12/20/2016 at 0:46 PM, Falconevo said:

If you don't want to buy new hardware, I would suggest going down the software route and using something such as PrimoCache.  I have been using this in tandem with HyperV for about 2 years now with very positive results and touch wood haven't had a data loss scenario yet.

 

https://www.romexsoftware.com/en-us/primo-cache/

Doesn't currently support 2016, so no HyperV from 2016 :(


60 Day trial is available for you to test and verify the functionality of the software, licenses aren't really expensive either for the benefit.  Be aware this is NOT a RAMDisk which some people get infinitely confused with, this is a layer 1 memory cache which can also be used with a layer 2 SSD caching layer (if you have a spare SSD) which intercepts Windows driver IO requests.  I personally just utilise this for a Layer1 cache only, I do have one HyperV environment using a Layer2 SSD cache and that has a NVMe Intel 3700 SSD in it and that's because the end user specifically requested it, that is also a rocket ship.

 

What it essentially does is become a hot memory buffer for read & write IO to and from the mechanical hard disks.  So writes are written in to memory and the operating system is given a confirmation of write, the software takes care of getting that information down to the mechanical disks depending on the write-defer method you use.

 

PrimoCache-principle-1.png

PrimoCache-principle-2.png

I use this in some HyperV dev and staging implementations and it is an absolute rocket ship for getting more performance out of poor hardware.  Please be aware I don't generally recommend such software packages in live/production.

 

I have had really good success in implementation on HyperV with this, if configured correctly can give you exactly what you want from really poor hardware.  Bare in mind that memory generally transfers between 5-12GB/s and will catch all the writes and cache any reads if the memory pool is made sufficiently large enough.

 

To give you an example of one of my storage configs, In this environment I care absolutely zero if the whole hosts storage is lost the VM's can be rebuilt very easily via automation and have HA pairs on other hosts in the dev/staging top keep services up and running in the event of a N+1 host loss.

 

Dev/Staging HyperV 2012 R2 host (I have 4 in total)

1x 128GB SSD (AHCI to support TRIM)

6x 1TB 7200 SATA in RAID10 (Raid Caching Enabled but the HBA doesn't have a BBU because its shit)

Average around 30-40 Dev and Staging VMs per host


PrimoCache with 10GB memory assigned to RAID10 array

  • Read & Write Cache Type (Memory)
  • Size 10240Mb (10GB)
  • Defer write - 3 seconds (the longer you set this value the longer content will sit in write defer)
  • Block Size 4KB
  • Defer type - Averaging (Added screenshot of explanation of methods)
  • I don't flush cache on written, that is because it is a staging environment, I would recommend enabling that if you are using this for anything live/production related.

cache1.png

cache2.png

 

These are synthetic benchmarks below, but here's a before and after from inside a VM running on the HyperVisor..  The VM is completely transparent to the process and isn't even aware that a caching layer exists on the HyperV node.  Believe me this makes an enormous difference in the VM's responsiveness and in turn reduces disk IO and wait time across the whole host.  Averaging out the IO to disk over time is much more suitable than allowing for massive burst.  If the cache is large enough you will see enormous benefits while using VHD and VHDX implementations.

 

I ran the below benchmarks while the VMs were active, so while I disabled the cache temporarily the IO started to stack so values might be a little skewed downwards for the before test.  You get the idea on the difference, the software used for testing is AS SSD which you can get from MajorGeeks here - http://www.majorgeeks.com/files/details/as_ssd_benchmark.html

 

Before PrimoCache 

cache4.png

After PrimoCache

cache3.png

 

Maybe this will provide you with an alternative or just an informative post for people to digest? I do warn about using this in production but I utilise this software to give the dev and staging machines the kind of performance they will expect to see when they push the systems to the live flash array SANs.  Save money where saving money is sensible, Flash SAN storage has come down in price some what but you wouldn't want to pay for it twice if you didn't have to ;)

Thanks for the very detailed response, this looks like a very powerful program that would suit my circumstances. Just one quick question i assume i would require the server license, was just wondering if i could get away with using the desktop version as it would be cheaper.

Link to post
Share on other sites

43 minutes ago, dross_199 said:

Thanks for the very detailed response, this looks like a very powerful program that would suit my circumstances. Just one quick question i assume i would require the server license, was just wondering if i could get away with using the desktop version as it would be cheaper.

I would put it under testing using the 60 day trial before any purchase, unfortunately it would require a server license as the operating system version is detected on install.  Unless you decide to use Hyper-V on a desktop OS such as Windows 7/8.1/10, then it would be fine with a desktop license.

For me its worth it as it saves the cost of a £50,000+ flash array in staging and dev ;) 

Please quote or tag me if you need a reply

Link to post
Share on other sites

2 hours ago, Falconevo said:

I would put it under testing using the 60 day trial before any purchase, unfortunately it would require a server license as the operating system version is detected on install.  Unless you decide to use Hyper-V on a desktop OS such as Windows 7/8.1/10, then it would be fine with a desktop license.

For me its worth it as it saves the cost of a £50,000+ flash array in staging and dev ;) 

Dam :D was hoping i would get away with it and yeah i am going to have a proper look at this during the Christmas Holiday. I looks like it is going to do everything that i am after and alot more. Thats a very high saving :P Cheers again for the advice.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×