Category Archives: NAS

Linux tweaks..

Data scrubbing may render your RAID array unsable silently. To prevent that it is recommended that data concistency and bad block check is run regularly on RAID. This can be done by appending word check into /sys/block/mdX/md/sync_action, where X is your RAID device number.

echo check >> /sys/block/mdX/md/sync_action

I was pretty shocked when I noticed that the check was going to take 15000 minutes which equals to 250 hours. I planned to run this check bi-weekly and with these numbers my RAID would have been busy checking bad blocks 75% of time. It seemed like something was not right in the RAID. Luckily there is lot of information about Linux software RAID and their tweaking in Internet. Couple tiny changes into /etc/rc.local fixed the issue and now we are talking about magnitude of 360 minutes instead of 15000. Here are the fixes I made.

# This one alone helped the most
echo 4096 > /sys/block/md0/md/stripe_cache_size
# These two rows help with the read speed
blockdev –setra 4096 /dev/sd[a-d]
blockdev –setra 16384 /dev/md0

Absence of updates..

I finally managed to get myself to order new components for my desktop computer after half year loiter. It took a week for every component to arrive and one evening to get them assembled. I have to say I am pretty pleased with the results. My old computer used to be extremely noisy at times, the new one is so silent that if the monitor is closed it is impossible to tell if the computer is on or off.

If it took only one evening, why no updates on the blog? Well, that is a long story..

I have been building a home network for some time. The base of the system has been Netgear’s ReadyNAS NV+ with four 2 TB hard drives in RaidX array, giving total of 6 TB of storage space. RaidX is basically a Raid5 on top of LVM (at least it looked like that when I peeked the array in Linux). My home network is a wired gigabit network, but the file transfer speeds were way below the capacity of the network. Writing speed peaked around 12MB/s and readin around 16MB/s, but usually they were far below those numbers.

I tried every possible trick I found in Internet. Some of them helped a little, some had no effect at all and some even worsened the performance. I did not try to add more memory (NV+ has only 256 MB memory in basic setup), because when I got root access to the NAS and tried plain dd transfer rates I was quite shocked at the results. Plain dd transfer rates were only 2 to 10 MB/s faster compared to transfer rates over network, so the network was not the bottleneck, it was the device itself.

I started to look for replacement for my NAS. There are some that are fast but they are usually expensive as well. I was getting desperate until I accidentally found this blog post. I could not believe my eyes – over 100 MB/s write speed on top of raid5, which is known for poor writing performance.

I had just replaced my old desktop so I thought I could use that as a basis of my new NAS. My old desktop had Intel Q6600 (quad core) processor, 6 GB RAM and total of 6 SATA slots. So I would get all my 2 TB drives in, use one slot for the operating system SDD and have one spare to add one more HD later if needed. The CPU is also strong enough to run HTTP server, MySQL server, BitTorrent, PS3 MediaServer and MythTV backend. With all these in one machine I was able to dump my good old DVB-T recorder computer and get 24/7 running PS3 MediaServer for XBOX360 & PS3 streaming as an added bonus.

Before I was able start setting up my new NAS I had to back-up 2,2 TBs of data from NV+ into my new desktop (luckily I had bought two 2 TB data HDDs for the new desktop). It took two full nights and one full and a half day to get everything backed up. When the back-up was ready I removed the HDDs from NV+ and was ready to install the operating system.

For operating system I first chose Ubuntu server 64-bit edition. It is easy to install and I got everything except MythTV backend running in couple of evenings, including raid5 array. Actually the MythTV backend was running but it was not getting any EPG data, so there was not much to do with it. I tried different configuration settings and all kind of tweaks without success. Finally I gave up and installed MythBuntu 64-bit edition, hoping that everything would be fixed. Well it was not..

After couple more evenings I finally found out the reason. I had to let MythTV backend tune the channels by itself and not use dvbscan created configuration files. So it turned out that I had done full OS reinstall for nothing! I was “a little” upset, but also extremely happy that everything I had planned to setup was now up and running – it was educative experience in Linux world as well.

How is the new NAS doing then?

Reading and writing speeds are around 110 MB/s +- 15 MB/s, depending how much other action is going in the server at the same time. PS3 MediaServer HD video transcoding takes one and half cores from CPU (depending a lot on the material being transcoded of course). MythTV works great and I can control my recording schedules over web browser, using my mobile phone or iPad. Over all I have to say I am very happy with the results. I was a little sceptic when I started this project but not anymore. There is still some finetuning going on. Yesterday I created a cron script to handle weekly backup of critical data. I also added daily task to download new updates for Yle Areena shows that my children, my wife or I myself are regularly watching. I am now desparately trying to think new ways to utilize the horse power of my brand new NAS.

My next plan is to move the NAS from our guest room to garage but that requires some new wirings and therefore will have to wait at least one more week. I am also looking for new UPS for the NAS. So, there is still work to be done, but I would dare to say that I am way past the midpoint here!

Hopefully this gives you some insight why there have not been any updates lately.