My NAS - QNAP TS 119 Turbo NAS
Few weeks ago I got new hardware for my home network, a QNAP TS 119 Turbo NAS.
It was kind of expensive but I like it. Stuffed it with a WD Green Caviar :
Hard Disk Model WDC WD15EADS - 65P8B0 01.0
Model Number WDC WD15EADS - 65P8B0
Disk Capacity 1397.27 GB
Recently found that this model of WD has some problems. A lot of people complain, that it fails for them after some time. And there is another problem with auto-parking of the heads after some time which hits the IO throughput and also probably is not very healthy for the mechanics, might be a reason for the failures? Anyway, I hope it won't day soon but as a backup I will get an external disk with eSATA to hook onto the NAS, probably in Q-RAID 1 (QNAP's RAID over USB or eSATA) or maybe for simple backups of the NAS.
The autoparking can be fixed with an utility from WD. In my case the disk is always under some usage, minimal in most cases, thus it doesn't autopark and is not spinned down, although I configured the NAS to do so after 30mins of inactivity. I chose this disk because it is pretty big and not so expensive, about 90 Euros, but also is not full blown 7200, which I don't need in the NAS because I won't get much of the speed over the Gigabit Network (2 Netgear GS 105) switches I have.
It is ,marked as "green" probably, because it works on two speeds 5400 and 7200, depending on the usage. One can see here how read benchmarks shows better results after few runs of hdparms. The device has probably increased the rotational speed after the first test and thus gives better results in the latter ones.
[~] # hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 182 MB in 3.07 seconds = 59.30 MB/sec
[~] # hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 250 MB in 3.00 seconds = 83.25 MB/sec
[~] # hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 288 MB in 3.02 seconds = 95.51 MB/sec
[~] # hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 278 MB in 3.00 seconds = 92.59 MB/sec
Today I saw that QNAP has released a new minor (3.2.3 agains 3.1.2 I had) version of the firmware and decided to upgrade. The file manager is now up-to-date with the AJAX present state of affairs. The previous one was HTML 1999 and kind of buggy, sometimes the CGI scripts did die unexpectedly, some refreshing once or twice used to solve the problem. I haven't thoroughly tested the new Web File Manager but it looks quite more promising. 3.2.3 seems to add integration with Apple's Time Machine ("After enabling the Time Machine function , you can use the NAS as one of the Mac OS X Time Machine backup destinations", from the Admin Panel).
Since some time, I wanted to experiment with jumbo Ethernet frames, because I know that the NAS supports them. I have seen benchmarks with jumbo packets enabled and they show improvement of the throughput. Today I found benchmarks,which use MTU of 4000 for the packets, other benchmarks (which I used to base my decision to buy this QNAP model) use MTU of 9000. Extensive list of benchmarks for tens of NASes can be found here. TS 119 doesn't look very bad in this list and beats most, Synology Disk Station (DS109+) being faster, single-bay NAS devices.
Here are my benchmarks with a file which is about 616 MBytes big. Used was ncftp to download a file to /dev/null so the hard disk of the test client, a Thinkpad X40 with 4200 RPM 40GB HDD, won't influence the benchmark, because of being very slow.
MTU 1500
ncftp /oses > get -z some.iso /dev/null
/dev/null: 616.12 MB 61.43 MB/s
MTU 9000
ncftp /oses > get -z some.iso /dev/null
/dev/null: 616.12 MB 80.25 MB/s
MTU 9676
ncftp /oses > get -z some.iso /dev/null
/dev/null: 616.12 MB 80.74 MB/s
MTU over 9676 is not possible with the TS119. With the administrative GUI one can't set more than 9000. To use some non-standard value I ssh-ed onto the box and issued
ifconfig eth0 mtu 12000
However, after calling ifconfig to see what was the result of the operation the MTU was changed to 9676. On the X40 the command above changed the MTU to 12000, which means that Thinkpad's network card is more capable than the Marvell chipset in the QNAP's product. If you want to learn more about jumbo packets read this, it is a very good read. The Wikipedia's article is here.
Why did I not get more than 80MB/s? Well, it is not well known that the usable bandwidth of Gigabit Ethernet is not 1Gbps but 800Mbps. This is due to the Layer 1, the physical level, encoding which uses 5/4 scheme, where there is one signal bit for every four bits of usable information. You might call it 800MBit/s Ethernet ;). Of course 800Mbps are not 80MB/s directly, but a bit more, because 1 byte is 8 bits, but IP and TCP also eat some bandwidth.
Last thing, which is not related to the benchmarks but to the usage of eSATA drives. I had a 2.5" eSATA enclosure since more than an year, but after the first test with eSATA cable did not work, I blamed Linux. Yesterday, while drinking at a students party I realized that eSATA might not transfer power to the drive. I recalled that there was going to be a specification for power over eSATA. Today I googled a bit and realized that eSATA is only for the signaling. The connector is a bit different and also the strengths of the signals but everything else stays the same.
The traditional SATA drive gets powered by second connector, thus it means that an eSATA drive needs other means of power. If the enclosure was 3.5" then it would have been powered by an external power supply. The 2.5" enclosures usually come with USB 2.0 and powered over it. So, what I did was to connect the eSATA cable to the NAS and then connect a USB cable between the NAS and the drive. The drive started...yupieee!!! In the administrative panel I saw that the NAS sees the drive as eSATA drive, not USB drive. Nice! It seems that if eSATA cable is connected then the USB is used only for power, it has no signalling functions!
And one more thing. Few weeks ago I successfully compiled PHP 5.3.2-dev from svn on the NAS, which is an ARM9 box. I ran all tests including MySQL to external server (I did not enable the MySQL server coming with the NAS, which is 5.1.36, while the most recent one is 5.1.44) and the results were very good. Sometime in the future when I get some spare time to play I will try to build MySQL myself. QNAP supports ipkg, through it one gets almost, if not all, of the packets I need to build and work comfortably on the command line.