Review of Netgear ReadyNAS Duo in Linux
he Netgear ReadyNAS is a network attached storage device.
Externally, it's a small rectangular box with a blue LED and a black
grille on the front. The grille is actually a door that reveals two
hot-swappable drive bays. Basically, it's a compact PC running Linux.
You can send files to it using CIFS (SMB / Windows browser), AFP (Apple
filing protocol), Rsync, and FTP, HTTPS, and NFS. When the ReadyNAS
is plugged in, it grabs an IP and other information from your DHCP
server. The ReadyNAS uses a utility called RAIDar
,
which works in Windows, Linux, and the Mac. It searches the network
for a ReadyNAS, and then launches your browser. In fact, this RAIDar
utility isn't really needed, since day-to-day administration is just
done with a browser. I installed a ReadyNAS with a single one-terabyte
disk on our institute's 100 Mbps network, which consists of about 50
Windows, Linux, and Mac computers connected through HP Procurve
switches and a Cisco 2620 router.
In a browser, you can change the network parameters, set a static IP, and toggle services by going to https://your-readynas-wherever/admin. Because it uses Javascript to handle administration, the ReadyNAS is operating-system independent. However, not all browsers handle Netgear's scripts correctly. Some browsers leave certain fields empty, while others crash or don't display the entire page. For example, Firefox sometimes erroneously leaves the "Shares" field empty, and sometimes displays them and then crashes. I eventually gave up trying to get Linux Firefox and Opera to work with it, and did the administration on a (spit) Windows PC using IE6 (that is, until it got confused for some reason and started saying things like, "Internet Explorer cannot display the webpage. Most likely causes: You are not connected to the Internet....") After this I went back to Linux Firefox.
The first thing I discovered is that, as with any Linux PC, you should never use the big shiny blue switch on the front to turn off the ReadyNAS. If you do, the next time it boots up it does a filesystem check, which can take several hours. Shutdown must be done through its Web interface.
Update (10/12/2009) I have been informed that in the newer models of the ReadyNAS, pressing the blue button for five seconds initiates a graceful shutdown. Older models may need a firmware upgrade.
Adding Users
Adding users and groups is fairly easy, but it was here that the first signs of trouble appeared. For each new user, you enter the parameters (such as which services they can access, their UID, their disk quota, and their password), then click "Accept". Normally, a green animated back-and-forth icon indicates that processing is taking place. After a few seconds, a Javascript box pops up to tell you the changes were accepted. However, often there was no message, and the green icon just continued forever. It was necessary to enter the user's information again.
Because these are only software problems, the manufacturer might have fixed them in newer models.
If you create a group instead of a user by mistake, whatever name you used for that group is remembered permanently, and can't be used for any user, even after deleting the group. Another problem was that several times, the ReadyNAS refused to accept any new users. The only way to proceed was to delete an existing user, add the new user, then add the old user back again. After that it was fine, at least for a while.
There are a couple of other little quirks that we ran into:
- Problem: Can't set UID of a user to 1000 or 1001.
Solution: This is caused by UIDs 1000 and 1000 taken by the "backup" and "media" share. In Security | Accounts, click the Share tab. Then click the menu box and set it to "Manage users". Change the UID of Backup and Media to some other number (500 might be a good choice).
- Problem: Root user can't change file ownership using chown
or cp -p (permission problem in NFS).
chown: changing ownership of `username': Operation not permitted
Solution: in Security | Accounts, click the "All" tab. Then click the menu box and set it to "Manage groups". Add root and any other users having permission problems as secondary member to group "users".
It might also be necessary to add the hostname to the access control list. Click Shares | Share Listing, then click on NFS for the "share" (the exported name) in the list. Add the hostname to "Root privilege-enabled hosts".
- Problem: Permission problems: can't read files, even as root.
Solution: Step 1: Set UID for your username on ReadyNAS to be the same as the username on your computer.
Step 2: Login to the ReadyNAS using ssh and use chmod to change the permissions on every point leading to the directory in question. For example, if the ReadyNas is exporting /c/backup via NFS, enter the commandschmod aug+rwx /c
,chmod aug+rwx /c/backup
, etc. until the root user on your computer can read the files. Or change the ownership to nobody:nogroup. Files readable by "nobody" are readable by root but not by regular users. The /etc/group file and /etc/passwd file on the ReadyNas may also need to be edited.
- Problem: Internet Explorer gives warning about a "Certificate Error" and
recommends "Not visiting the website".
Solution: Use Firefox. - Problem: The Windows share listing, not the administration screen,
shows up in the browser window.
Solution: Connect to it using http://name-of-readynas/admin, e.g., http://backup/admin.
Since the ReadyNAS is a standalone device, you need some way of administering it. It keeps logs, but they're pretty minimal. I decided the best way was to add the SSH plugin. This required loading a new OS image, which can be downloaded from Netgear's website. Upgrading the RAIDiator software is easy. You just download it, navigate to System-Update-Local, and click "Perform System Update". Unfortunately, at that point, there's no indication of whether anything is happening or how long it will take. All I saw was the green animated icon. After an hour, it became clear that it was not actually going to do anything. Well, I thought, that's Javascript for you. (Update: more recent models have a built-in capability of adding ssh and don't require loading a new OS image.)
Adding new disks
Adding a new disk is simply a matter of screwing a disk into the disk caddy and slapping the new disk in. New disks are re-formatted automatically. However, if the old disk is removed, some of the configuration data, such as the IP address, are lost. It's necessary to use the RAIDar utility to find it and re-set the IP.
Windows
The installation CD includes a Windows utility called "Shadow", so Windows users don't have to struggle with Windows' backup utility. The ReadyNAS shows up as an icon in their My Network Places, and users can drag and drop files to password-protected folders, or use any backup utility to backup their hard disk. It's also possible to grant guest access.
Performance
When we first got it, the ReadyNAS had disk problems. The first time I tried to read a large file from it, the ReadyNAS froze solid. I had to kill -9 the rpciod and cp processes to get the terminal back. I reset the ReadyNAS to its default settings (which involves reloading the default image and re-formatting the disk) and tried it again. That solved the freezing problem. Reading a file back was about twice as fast as writing in NFS, but slower than writing in CIFS.
This particular disk was making a faint grinding noise during writing, so a faulty disk may have contributed to the problem. Our second ReadyNAS was extremely quiet and did not have these problems.
The speed of the ReadyNAS varied dramatically depending on the configuration of the client computer. On one computer, write speeds over NFS were about 4.8 MB/s, comparable to what we get elsewhere on our 100 Mbps network. From another computer, though, write speeds were only 390,000 bytes per second--twelve times slower. At this rate, backing up one 40 GB disk would take over a day. Moving the ReadyNAS to the same subnet as the client, and tweaking the configuration as recommended by the manufacturer ("jumbo frames", turning journaling off, etc.) had no effect.
It turned out that the ReadyNAS does not handle NFS v.2 very well.
When I recompiled the kernel on the computer that was having problems
to be a NFS v3 client, the write speed increased by a factor of ten,
making the ReadyNAS as fast as any of our other NFS servers.
Use the command /usr/sbin/nfsstat | grep v3
to check if you're using NFS v3.
File transfers from Windows clients using SMB were just over one
megabyte per second.
Do not activate NFS v4; this could cause NFS permission problems.
Since the ReadyNAS has a gigabit network port, it should be possible to increase its speed by another factor of five or ten by installing gigabit switches. Other people report speeds ranging from 6 to 27 MB/s over a gigabit connection. However, this was not an option for us. The ReadyNAS also has a USB port, which is nice, but not particularly useful for us; you'd need to connect it to a computer to access it, in which case it would be cheaper just to use a dumb external USB disk like a Maxtor or Buffalo.
Security
Earlier versions of RAIDiator, their version of the Linux software that runs it, had a security hole in the SSH server. Upgrade your OS image if you're running an old version. Even this flaw is not fatal, because this device must be protected by a firewall anyway unless you want your ReadyNAS to be serving porn to the entire Internet.
Installing SSH add-on
- Go to the ReadyNAS Download page and find the add-ons for your version of ReadyNAS.
- Download ToggleSSH and EnableRootSSH images to a local drive.
- Connect to the ReadyNAS using a browser, and install the downloaded images in the System/Update/Local tab. You may need to reboot the ReadyNAS.
- The root password is initially set to the admin password. Login as root
and edit
/etc/passwd
to set your shell to /bin/bash. (passwd -s
doesn't work.)
Conclusion
Despite minor software and compatibility problems, the ReadyNAS was likeable. It has outstanding engineering and construction quality. It's halfway between being a dumb external disk and a true network storage server. Internally, it runs Linux. So it's the equivalent of putting a big disk in an old Linux PC. It is a great idea, and it has an attractive, well-made design. The ReadyNAS approach has several advantages:
- Cheaper.
- Much more compact.
- More convenient and easy to administrate.
- Automatically does RAID if you put a second disk in.
- More secure, because most network services are inaccessible.
But it also has a few flaws:
- Software is buggy.
- Difficult to diagnose or repair problems.
- Must be kept behind a firewall.
- Incompatibility with old protocols make transfers slow from some computers, and fast from others.
We plan to order a bunch more of these babies and slap them into our wire closet.
Recommendations
- If you're comfortable running Linux, it would be a lot cheaper to attach a big disk to your existing Linux server. You will get more reliable administration, better performance, and better ability to diagnose problems. However, it would also be less convenient, and it would increase the load on your server.
- Put it on a gigabit port and enable "jumbo frames", which is the Windows term for increasing the MTU. Note that jumbo frames are only recommended if you're using gigabit. If you're using 10 or 100Mbps, jumbo frames will make things slower. They also only work if every device in the path supports them.
- Make sure it's on the same subnet as your computers to reduce the load on your router. A single PC doing backups can put the load of a Cisco 2920 router to 99%.
Update (10/20/2010) After two years of use, both of our Netgear Readynas Duos have started hanging randomly every few months, requiring us to yank the power cable to recover. This causes big problems when they're mounted over NFS as primary backup devices, and makes them suitable mainly for occasional home use.