My last post related the sad story of a dead HP MediaSmart Home Server. This time, I will relate the steps I took to configure the Synology DS1511+ for use. To avoid unnecessary typing, I recommend this post to provide the basic details. It is written for the older DS1010+, but the process is the same for the DS1511+. … OK, now that you have read that, I have different drives in my NAS so I had a different kind of problem.
I chose to go with five Western Digital 2TB Caviar Green SATA II drives (WD20EARS) because of their availability, great price, and presence on the Synology compatible hard drive list. That "Green" technology is what is causing the problem.
When I examined the SMART data after only 10 hours of run time, I was puzzled as to why the Load Cycle Count (LCC) values were over 100. Some searches showed that the recent WD Green drives have an aggressive Idle3 power saving feature that is not compatible with Linux standard settings. While the drives are certified to 300,000 LCC cycles, the drives in the Synology would get to that level in one year instead of 5-6 years. There is even an entire discussion board concerning the Western Digital LCC issue on the Synology website.
The WD Green drives have a default of 8 seconds before they park the drive heads and increment the LCC value. That value is changeable, but you have to run a custom application. Western Digital provides one (WDIDLE3) that runs under DOS. That is OK for laptop/desktop users who can put it on bootable CD, but it is not useful for a headless NAS appliance.
Since WDIDLE3 is a Windows application, it does not run on the NAS under Linux. The DS1511+ has an Intel Atom D525 1.8GHz x86 Processor, 1GB of 64-bit DDR2 RAM (expandable to 3GB). The solution is to create a native Linux application.
There is a SourceForge project to set the Western Digital Idle3 drive setting here. The goal of this exercise is to get the Idle3 Tools to run natively on the Synology NAS. To do this on a fresh, unmodified Synology box, I did the following from a Windows 7 machine. (This is a compilation of several posts on the Synology website.) I recommend compiling the source code locally on the NAS.
- From the Synology DSM web interface, configure the NAS for remote access
- Open the Control Panel, click on the Terminal icon in the Network Services section, select "Enable SSH service", and click OK
- In Windows, download and install PuTTY if you do not already have a SSH client on the PC
- Configure PuTTY using the IP address of the NAS on port 22 (I saved it as a new session for easy recall)
- Establish the PuTTY session with the NAS
- Login to the NAS as username "root" with the same password as the administrative password of the Synology system
- In Windows, download and extract the Idle3 Tools source code to the Synology box
- I downloaded the file "idle3-tools-0.9.1.gz" from here (It is listed as a .tgz file, but it is not.)
- When I extracted it, WinZip could not read the archive correctly, so I had to use 7-Zip
- I extracted the archive to a new "\\DISKSTATION\public\idle3-tools-0.9.1" directory on the NAS (You can use any shared directory. I used the "public" directory I created.)
- In that directory, I opened the file "Makefile" in Notepad and removed the "?" from lines 13 and 14
- "CC ?= gcc" was changed to "CC = gcc"
- "STRIP ?= strip" was changed to "STRIP = strip"
- Save the Makefile and close Notepad
- Using PuTTY, download and install the Itsy Package Management System (IPKG)
- Change to a temporary directory by entering the command "cd /volume1/@tmp"
- Download the IPKG bootstrap by entering the command "wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh" (this takes some time)
- Install IPKG by running the downloaded script with the command "sh syno-i686-bootstrap_1.2-7_i686.xsh" (this takes some time)
- Delete the IPKG script file with the command "rm syno-i686-bootstrap_1.2-7_i686.xsh"
- Close PuTTY by entering the command "exit"
- From the Synology DSM web interface, reboot the NAS
- Click the top left arrow, click on "Restart", and close the browser tab
- Using PuTTY after the NAS restarts
- Login to the NAS again user "root"
- Change to the Idle3 Tools directory by entering the command "cd /volume1/public/idle3-tools-0.9.1/"
- Update IPKG by entering the command "ipkg update" (this takes some time)
- Download and install the GNU Compiler Collection (GCC) via IPKG by entering the command "ipkg install gcc"
- Download and install Make via IPKG by entering the command "ipkg install make"
- Run Make to compile the Idle3 Tools by entering the command "make"
- Test for proper compilation with the command "./idle3ctl –h" which should display the lines
idle3ctl v0.9.1 - Read, Set or disable the idle3 timer of Western Digital drives
Copyright (C) 2011 Christophe Bothamy
Usage: idle3ctl [options] device
-h : displat help
-V : show version and exit immediately
-v : verbose output
--force : force even if no Western Digital HDD are detected
-g : get raw idle3 timer value
-g100 : get idle3 timer value as wdidle3 v1.00 value
-g103 : get idle3 timer value as wdidle3 v1.03 value
-g105 : get idle3 timer value as wdidle3 v1.05 value
-d : disable idle3 timer
-s<value> : set idle3 timer raw value
- Run the Idle3 Tools and set the the values on the drives as desired. The default timer value is "80" for 8 seconds. Because I have five drives in the NAS, I had to run the utility five times to disable the timer on each one. Set yours as desired.
./idle3ctl -d /dev/sda
./idle3ctl -d /dev/sdb
./idle3ctl -d /dev/sdc
./idle3ctl -d /dev/sdd
./idle3ctl -d /dev/sde
- From the DSM interface, shutdown the NAS (This is required for the drives to read the new Idle3 setting on power-up.)
- Click the top left arrow, click on "Shutdown", and close the browser tab
- Once it is fully off, restart the NAS
Your NAS disks should now have stopped their LCC cycling. This kind of process is why I am staying with Windows as much as I can.