Tag Archives: NAS

Synology DS415+ Adaptive Load Balancing

UPDATE: I had a discussion with Ulrik D. Hansen, developer of NAS performance tester and thanks to some input from his side realized that test results described in this blog post are not correct, but I will leave this post as is and write another one with new tests and some explanations soon.

It is something like on year since I’m using Synology DS415+ NAS. This particular model has 2 Gigabit Ethernet ports with support for network load balancing and fault tolerance options, i.e. allow you to do link aggregation. This feature was one of the important things when I selected this particular model. Unfortunately when I tried this I realized that I cannot do load balancing as it required support for 802.3ad LACP from network switch. After quick research I found out that SOHO WiFi access-points doesn’t have advanced switching capabilities and normally limited to 4 Ethernet ports, unless you are ready to try to do some unsupported tweaks with alternative firmware. Unfortunately this is the case even for newest models of premium segment, including even one I’m aiming to buy soon (ASUS RT-AC5300). The thing is that they normally try to max out/beef up device wireless capabilities and feature keeping built in switching capabilities simple – and I can understand it, as wired connection is always way faster than fastest possible WiFi and by no means is primary feature of WiFi access points. But buying more advanced switch makes sense anyway, but I will cover this later.

So because of need for buying new switch I abandoned idea of using link aggregation with my Synology DS415+ as something I can’t do with equipment I have… And to be honest I somewhat missed the fact that in DSM 5.2 update Synology added support for two new modes when creating a bond interface: Adaptive Load Balancing and Balance XOR (see Synology DSM release notes). Only recently I tested this and indeed it works: you just create network bond and enable Adaptive Load Balancing option – nothing is required on your switch side:

NAS Enable Adaptive Load Balancing

Once enabled your network bond properties will drastically improve your mood if you are person who cares about performance ratings & large figures… 🙂 It’s a shame that we no longer have performance index in recent Windows releases (starting from Windows 8) and 3DMark tests fall out of fashion – you may argue about relevance of indexes/numbers and synthetic tests but we can’t argue that it was fun/enjoyable to have these things 🙂 Sad to see that we sort of moving away from universal bench-marking software, but it seems that the state of hardware ecosystem makes many of these tests irrelevant.

NAS ALB Bond properties

I looked around the net for feedback whether enabling this thing gives you real advantage or not & found a lot of pessimistic stuff like you never ever going to leverage this because of XYZ or because of the fact that XYZ will be a narrow place etc. So people really confused if there is some real gains from using this. Common sense answer to that – it all depends (on specific workload/scenario you are interested in). But whenever performance subject is raised for discussion, baseline is everything – luckily enough I did some basic performance tests without Adaptive Load Balancing (NAS connected over single Gigabit Ethernet port) some time ago. So now I can do at least some comparison. Of course this is not super clean comparison: I have newer DSM version on NAS (which may contain some improvements) and my target volume if formatted as ReFS – so those are differences. But still improvement way beyond any test inaccuracy as you will see below.

Test 1. NAS performance tester using 400 MB file with both header and data digests disabled.

Single gigabit Ethernet link:

Two gigabit Ethernet links with Adaptive Load Balancing enabled:

NAS Test 400MB

Test 2. NAS performance tester using 8000 MB file with both header and data digests disabled.

Single gigabit Ethernet link:

Two gigabit Ethernet links with Adaptive Load Balancing enabled:

NAS Test 8000MB

So to sum this up, we see real performance increase here:

NAS ALB tests result

So despite the fact that laptop from which I run this test connected only over single Gigabit LAN port we see substantial performance gains. But what if instead of plain simple switch I have built-in into my WiFi access point we add big managed switch? So I’m expecting to get one on next week with switching capacity 36 GB/s (26.79 GB/s max forwarding rate) and do some more tests – the same Adaptive Load Balancing config while connected through this dedicated switch and later another test of 802.3ad link aggregation mode (switch I’m going to get is D-Link DGS-1100-18 from DGS-1100 Series of Gigabit Smart Switches). Stay tuned if you interested to see tests results.

Measuring NAS performance

Just a quick note on possibilities available to do some bench-marking of NAS performance. Quite often Blackmagic Disk Speed Test or Intel NAS Performance Toolkit are being used for this. But there are some problems with those: first one is nice and cool but for Mac only, second is good but no longer supported by Intel as it reached its EoL.

So if you look for the other options you may use the following:

ToTu Soft LAN Speed Test – they have commercial and free versions, and promise to deliver Mac OS release soon.

NAS performance tester by Ulrik D. Hansen, absolutely free and with source code available (though it only measures read/write speed values).

I really liked this last option as it is portable and allowed me to do some quick tests against iSCSI target hosted on my Synology DS415+ (gigabit Ethernet connection; 1 drive only, no RAID, both data and header digests enabled). You may see test results below.

Using 400 Mb file:

NAS Performance Tester

The same test run a bit later with both header and data digests disabled:

NAS Performance Tester 400MB no digests

Using 8000 Mb file:

NAS Performance Tester 8GB

And here is the same test with digests disabled:

NAS Performance Tester 8GB no digests

Of course this is quick and dirty measurement, but at least now I have some baseline and tool to measure how changes in my infrastructure or its configuration influence performance. For example I saw interesting reports that NFS share on Synology outperform iSCSI target (at least in terms of IOps), and in other source there were graphs showing negligible performance cost of iSCSI digests (alongside these graphs that material emphasized importance of data integrity you gain with digests), but it will be nice to verify all these claims.

UPDATE (20.03.2015): I did the same tests with disabled digests (see additional screenshots above), so performance cost is not entirely negligible, especially for read and for large chunks of date.

Running VMware Workstation VMs from NAS

As I moved most of my VMs to NAS, I should admit that whereas it is best solution in terms of providing adequate space for bulky VMs and snapshots and access convenience, you pay for it with decreased performance (at least if you compare it with running VMs off internal SATA 3 SSDs). Latter can be mitigated if you use NAS with good performance and configure it with array of disks, even if it won’t be on pair with SSD but it can be good enough (you also can leverage SSD drives for caching in certain NAS models, but this seems to be an extra possible point of failure in your setup). But what can not be mitigated with NAS it is high price tag for it, as not only you have to pay for NAS device and number of NAS optimized drives, you have to think about extra switch ports and UPS, both for NAS and your network equipment (provided that you use laptop as your VMs host you don’t need UPS for it at least :))

Maybe you can get away with clicking Retry button in response to I/O error you receive from your VM due to intermittent loss of network connectivity, but not always. For example today I was in process ob building K2 4.6.9 VM, going through update procedure of 4.6.7 and my switch went down for 30 seconds, but I was able to continue running my VM by clicking on Retry in response to I/O error message from my VM running from NAS. But the thing is that when I finished the process and decided to take a snapshot to save my work I got this:


Next, as at times Suspend/Resume procedure is able to “solve” minor issues (sort of), I tried this also, but VM just vent into hard restart. After that I won’t be able to power it on again with the following error:


Solution to this in cases when you are sure that your VM is not running is to delete any *.lck files in VM directory and try again.

So power loss on your switch and consequent connectivity loss even for 30 seconds or so may lead to quite harsh / unpleasant situation (think of situation when you continue to do your work to discover that your VM fails only when you decide to take a snapshot). So when you plan for running VMs from NAS budget for UPS to protect your setup for connectivity and/or data loss.

Synolgogy DS415+

It has been a while since I decided to splash out and get a NAS for myself. As I need to run loads of VMs both for work related purposes and for fun (it’s cool when we can combine work and fun, right?) it was a bit easier for me to justify significant costs. As my initial intent was to run VMs from NAS my choice criteria were 2x1Gb Ethernet interfaces and 4 bays for building array both for performance and redundancy. I was not able to did full and deep research due to time constraints (we all have to do this all too often these days) and stopped my choice on Synology DS415+ which meets previously mentioned criteria and as well has following strengths: complies with some industry standards/certifications for virtualization, has mature and feature reach software.

So finally I bought this thing:


Buying it in Russia was more expensive then buy it from Amazon and pay for delivery from US, but thanks to good friend of mine I was able to order it from German Amazon site and got it fast saving on delivery also 🙂 I also bought 6TB WD RED drive to use with it (and will add some more of those later, as they are pricey).

Quite useful video on choosing HDD drives for your NAS which helped me was “WD Red VS Seagate NAS Drives – with SPANTV”

After unpacking, installing and starting off using this thing I starting to realize what’s good and bad about having and using this thing. I will be adding details to this post by and by to share with other potential users of this.

Noise. You may always find reviews where they do measurements of noise level and give you some numbers for noise levels in decibels, but it is not telling you anything (or at least me). You may ever find YouTube videos sometimes where somebody switching on and off the device to give you idea about its noise level, which is a bit better. My experience: definitely not for your bedroom. Despite having 2 relatively silent fans and only one drive so far it’s noisy (a bit in a lumbering way, though maybe with more drives it will change tone of its noise 🙂 ) – definitely not something you may want to have in your bedroom or in silent environment when noise from this device becomes distinctive. it is also blinking from 2 sides – Ethernet ports LEDs and front LEDs (I wish I had software option to turn off all these lights, like I have in alternate firmware for my Wi-Fi router). So I moved it from my bedroom to some corner in the lobby and it’s OK now. And the side benefit from having NAS for me is that I finally get rid off HDDs in my desktop leaving only SSD drive in it – now it is truly silent PC 🙂 I do remember how much effort were necessary for building really silent PC but with SSD it’s finally silent for real (I have passive CPU and GPU cooling) – HDDs really slow and produce unpleasant noise especially because of vibration when case or furniture start to resonate – now it’s all solved with all data moved to NAS and NAS moved to the far corner in the lobby 🙂

Goodbye hard drives, data wiped and those can be re-purposed  for something:


My home desktop which runs Windows 10 TP and scheduled for total rebuild now runs with SSD only (120 GB OCZ Vertex 4) which translates not only into silent PC but almost immediate start up (there is a bit of a delay due to old non UEFI BIOS and occasional warnings about stopped CPU fan, as I use passive cooling for it in the form of huge chunk of aluminium named Cooler Master Hyper Z600 🙂 ).

Link aggregation/Fail-Over. It’s all not as good in the end for me – my idea was to use Ethernet link aggregation for speed but there is 2 stumbling blocks – no Wi-Fi routers (even most expensive of them) doesn’t provide support for LACP (Link Aggregation Control Protocol) aka IEEE802.1AX and neither do cheap Gigabit switches (I need to research this more). And I also run out of ports on my router to connect 2nd Ethernet cable for NAS, so at the moment I’m unable to use Ethernet fail-over configuration (which is work with my network devices), but this is not very critical. UPDATE (09.01.2016): Starting from DSM 5.2 you can do link aggregation with ANY switch using Synology Adaptive Load Balancing feature (you may have a look at this post of mine for details, though you have to ignore overly optimistic test results described there 🙂 I verified and those are not right – just measurement error).  

Standards/Cetifications claimed by Synology for DS415+. VMware Ready, Citrix Ready, Windows Server 2012 Certified, Windows Server 2012 R2 Certified.

VMware Ready means that it was tested by VMWare with ESXi 5.5 (5.5 U1/U2) with firmware v4503 in SW iSCSI configuration for VAAI-Block features, namely: Block Zero, Full Copy, HW Assisted Locking, Thin Provisioning.

iSCSI target. This is the thing you need to store your VMs 🙂 You can setup DS415+ to serve as block level or file level iSCSI target. Please refer to Synology documentation for further details: Best practices of using the Synology DiskStation to host iSCSI Storage

I will expand this post later when I clarify some things and got more experience with device.