Tuesday, 11 August 2009

Thoughts on ReadyNas Duo

I've been looking for a new NAS for a while. I needed to back up my current NAS, a DLink DNS-323 before I upgraded the firmware. I was initially going to buy just an external USB drive when I came across an offer from Netgear who are offering a free 500gb drive for customers who buy a ReadyNas Duo.

http://www.netgear.co.uk/free500gbdrive.php

BroadbandBuyer were selling ReadyNas Duos for £150 for a bare-boned system. Sounded liked a good offer so I went for it. I got the drive on a Wednesday, sent a copy of invoice and box serial number to Netgear and a week a later I had a free 500gb drive. I was presently surprised that they sent a Seagate ST3500418AS which retails for around £40. I was expecting a cheap hard drive and not a reputable brand. They have been some issues with this drive in the past but I was sent a 12th generation drive where all the problems have been ironed out due to the latest firmware.

Before I got the new drive I tried to access the ReadyNas bare-boned. It turns out this can't be done. I was hoping to use the NAS simply as a hub in the interim for some other USB drives I have hanging round so I could access them from the network but no dice. This is because when you insert a new drive, it installs Linux to the root partition and then mounts the remaining space as a separate drive for your data. So without a drive you have no OS. Pity as I could this with the DNS-323. No biggie.

It's very easy to add a new drive to the ReadyNas Duo. The NAS can be opened from the front, where the disk caddies are located. You can put in a new drive in less than a minute. When you first turn on the ReadyNas, the fan comes on at full strength and is quite loud. I was initially disappointed. There's no way I could put this NAS in the lounge with all that noise. Fortunately the noise is only temporary. The fan calibrates itself when the NAS is turned on and settles down to unnoticeable hum after a few minutes.

The ReadyNas OS is a version of Linux so it's customizable. There are a number of add-ons which can download from the ReadyNas-Addons site. Unfortunately out of the box you can't access the shell. If you're of the inquisitive sort, the first add-ons to download should be:


  • ToggleSSH - As name implies, it enables SSH support
  • EnableRootSSH - Enable the root user so you can SSH in as root.
  • Apt - Enables Debian APT software packages.

When Apt is installed, you should change the /etc/apt/sources.list to get some more software. I've listed the sources.list I'm using. The entries after #Added are the items that I've added.


#Default
deb http://www.readynas.com/packages readynas/
deb http://archive.debian.org/debian sarge main contrib non-free
deb-src http://archive.debian.org/debian sarge main contrib non-free

#Added
deb http://archive.debian.org/debian-security sarge/updates main contrib non-free
deb http://archive.debian.org/backports.org sarge-backports main contrib non-free

deb-src http://archive.debian.org/debian-security sarge/updates main contrib non-free
deb-src http://archive.debian.org/backports.org sarge-backports main contrib non-free


I'm a vim person so the first thing after I installed APT was to install vim. I intend to use the ReadyNas as a Version Control System (VCS) and was happy to discover that Subversion and Git are both available from APT.

Caveat Emptor

When I buy a NAS, I like to think that I can still access the data if the NAS dies. I can just eject the disk and use in a USB drive enclosure so I can access the data on a PC. Unfortunately this is not the case. The main problem is that the ReadyNas uses a Sparc processor and by default formats the drive as EXT3 with 16K blocks. This 16k block size cannot be mounted on any x86 computer (or not very easily!). So unless you got a Sparc or Itanium-machine (which can mount it), data recovery on a PC is not an option. As Homer Simpson would say, DOH!!. Fortunately there is a solution if you happy to get your hands dirty with a bit of Linux. I found a solution on the ReadyNAS forums. Basically this boils down to unmounting the drive partition, reformating it as an ext3 partition using 4K blocks, and then remounting the partition. More in depth instructions can be found here.

I should note that this action may invalidate your warranty so you should perform this only if you happy customizing the NAS and you want access to the data outside of the NAS. Reformatting took around 10 mins. It's best to do this when the drive is empty else you'll need to copy all your data somewhere else and then copy back once the drive has been reformatted. I was lucky as I was using a new empty drive. Netgear should really inform consumers of this issue. There's been a brouhaha on the forums about this issue. Netgear should act really fast and include the option to change block size into the factory-reset-functionality.

Backup of my original NAS

Now I needed to backup my original NAS. I thought as a person who knows Linux quite well, I could use rsync. The ReadyNas runs a bash shell and rsync and smbmount are available. From the command-line I mounted my DNS-323 and then started an rsync process to synchronize my old NAS contents to the ReadyNAS duo over the network. It's good that the option is there to tinker at the command-line level if needed although this is not recommended for newbies. What I found was that rsync is incredibly slow. I was getting a throughput of around 2gb an hour which means it would have taken 10 days for a complete backup. This may be to all the checksumming rsync does but even so I wasn't expecting that lack of performance. I also found that ReadyNAS locked up after a day of syncing and I had to pull the plug to get it to reboot. Dang!

Next I tried to configure a backup using the ReadyNAS web-based management application. It allows you to define backup jobs which can run on a schedule if required. I configured the ReadyNAS duo to sync the DNS-323 to a new folder on the ReadyNAS and kicked it off. This time the backup seem to be going a lot faster. I was getting around 10gb per hour backing up my old NAS over the network. As I'd now got access to the shell, I thought I'd see what processes are run during this backup.


nas-73-5F-21:/etc/apt# ps -ef | grep cp
root       975     1  0 Aug10 ?        00:00:00 udhcpc -i eth0 -H nas-73-5F-21 -n
root      2931     1  0 Aug10 ?        00:00:00 smbmount //192.168.23.35/Volume_1 /job_001 -o username chrisk password XXXXXX uid XXXXXX gid 1002 codepage cp437
root      2951  2902 15 Aug10 ?        03:56:29 cp -vua /job_001//backup/. /dns-323-backup/backup
root      2963   753  0 21:54 pts/1    00:00:00 grep cp

As you can see cp is used in preference to rsync which accounts for the speed increase. You can also specify a backup to make a log of an errors as the backup progresses. I'll look into this when the backup has finished. I been running for just over a day and so far 250gb has been copied. Slow but fast enough for my purposes at the moment. I'll probably see how much faster it is to backup from an attached USB drive instead of copying over the network in future.

Conclusion

Overall I think I give the ReadyNas Duo around 8/10. It's very user-friendly and accessible for a newbie to use. I've not even used any of the other bundled features such as the BitTorrent client or ITunes server yet. I've only got one drive at the moment so I'm not using any of the RAID features but the ReadyNas Duo supports hot-swapping of drives so you gradually increase the storage capacity of your NAS without shutting it down. Quite cool. I've taken a couple of marks off due to the sluggish nature of the NAS. This is probably due to the processor which I gather is not the fastest kid on the block and the lack of memory which is only 256mb. Fortunately the memory can be upgraded relatively cheaply to 1gb, which I gather from some forum experiences greatly increases the performance.