The ReadyNAS Duo is a lovely piece of kit and very cheap for what it does. Unfortunately, like all technology, it’s not without its problems and one day it will fail. Obviously if the disks themselves fail you’re into data recovery territory, but if the unit itself fails, the disks are usually completely OK. The problem is that the v1 used a weird version of ext3 for its disk file structure that uses a 16K block size. Most modern versions of Linux simply won’t read these disks.
There is a utility called fuseext2 which will read these disks. Once you’ve got yourself a SATA-to-USB cable, or just plugged the NAS disk straight into your Linux computer, fuseext2 is all you’ll need to get at the files. Please note you need root (prepend sudo, or just log in as root) for most of the commands in this article.
Install with
apt-get install fuseext2
Obviously replace with yum or whatever package manager you’re using, if you’re not on Debian.
Now (again as root) run a scan for lvm2 volume groups.
vgscan
This will show you a list (probably with just one entry, and more often than not simply called “c”) of volume groups found by the scan.
Next, activate the volume group you want to access, replace the c with whatever your group name is, if it’s not c.
vgchange -ay c
Now to find the volume itself. Again, this is usually just c but let’s check anyway.
lvs
will list all the volumes in the active group. Again, if you’ve used the default configuration it’s probably just c. To get its full name, enter
lvdisplay /dev/c
obviously replacing the c with your volume name if different. You’ll get some information including the LV Name, which is probably /dev/c/c.
Now we’ve got the volume name of the volume, we can actually mount it. Create a directory (eg /media/readynas) and enter the following
fuse-ext2 -o sync_read,allow_other,ro /dev/c/c /media/readynas
replacing the paths as appropriate. Now if you cd into /media/readynas, you’ll see the files on the NAS. We’ve mounted them read only for safety’s sake, but you can mount read/write by replacing the ro with rw+ in the above command.
Word of warning: lots of versions of fuseext2 are unstable, including the latest binary in the Debian repository. It hangs quite often for no obvious reason. So don’t use it too often, it should only really be used for recovering data from the disks of a dead ReadyNAS.
Unmounting
The command to unmount is
fusermount -u /media/readynas
but of course if fuseext2 has hung while copying this won’t work. So in this case you’ll need to use
umount -l /media/readynas
instead.