[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

USB drive enclosure review



I've just obtained a USB device that runs a 3.5" ATA hard disk.  It supports
USB 1.x, USB 2.0, and firewire connections, but I only tested USB.

When using USB 1.x (old Thinkpad) it was horribly slow, data transfers only
barely exceeded 1M/s.  I did some experiments using software RAID-1 with an
internal hard disk and a USB 1.x connection and the results were pretty poor.
It appears that Linux software RAID doesn't seem to notice that one drive is
slower than the other and take this into account when scheduling requests.
In fact it wouldn't need to take actual speed into account, if one disk has a
number of writes queued and the other has none, then it would make sense to
send a read request to the disk with an empty queue.

Using USB 2.0 the data transfer rates I achieved were as high as 31800K/s
(according to Bonnie++ and iostat) with a 3yo IBM 46G ATA disk.  The disk in
question can deliver as much as 33M/s if the data is contiguous and at the
start of the disk, so it seems reasonably clear that at the moment the ATA
disk speed not the USB 2.0 speed will be the bottleneck.

I did experiments of using software RAID-1 for a backup on my Thinkpad.  I
converted all file systems to split arrays by using resize2fs to reduce the
file system size by 500K, then making a software RAID device with an
/etc/raidtab such as the one below.  After making the software RAID I used
resize2fs on the /dev/md device to increase the file system size to the
maximum permitted by the software RAID.  It seems that the amount of space
used by RAID meta-data varies so I could not make the file system take the
exact space needed first (but it's OK as resize2fs is fast).

raiddev /dev/md2
  raid-level 1
  nr-raid-disks 2
  persistent-superblock 1
  device /dev/hda2
  raid-disk 0
  device /dev/sda2
  failed-disk 1

After doing this I could plug in the USB hard disk and start a "backup" with
the command "raidhotadd /dev/md2 /dev/sda2".  Once the array was synchronised
the command "raidsetfaulty /dev/md2 /dev/sda2" would stop sda2 being used in
the array, and "raidhotremove /dev/md2 /dev/sda2" would make the software
RAID cease it's association with the USB device (thus making it free to be
unplugged).


With USB 2.0 this should allow a single large hard disk to be used to backup
 a number of desktop workstations.  The USB device should cost about $200
 (cheaper than the disk you will probably put in it) and makes a very cheap
 portable backup device.  Also with the performance of USB 2.0 the same
 backup technique can be used for low-end servers.  For a situation where you
 have a Linux server with two hard disks in a RAID-1 array you can easily use
 the same backup method by making it a three disk RAID-1 (if using software
 RAID), or run software RAID-1 on top of the hardware RAID (if using hardware
 RAID).

One of the advantages of this is that when you run the raidsetfaulty command
you get an instant snap-shot of the file system state at that time, unlike
backup programs which will take various files at different times and may give
inconsistant (and possibly unusable) data sets.  Also for situations where
you have a large number of small files (EG a mail server) using this
technique for backup will reduce the number of seeks and therefore increase
the backup speed significantly (as long as a single disk can deliver the
required performance - it will be active for the duration of the "backup").

The standard Linux USB mass storage module in 2.6.0 works well with it.

The device has a solid aluminium case with a small fan to blow air through
 it. When operating the entire case gets warm so heat is dissipated from all
 sides (the fan seems to small to actually blow heat out of it, but I think
 it does some good in helping to move heat from the hard disk to the case).

The device I tested is made by "New Motion" and appears to have model number
N1106.  It seems to be a new model as I couldn't find anyone selling it
through a quick google search, however several older New Motion products are
listed.

--
http://www.coker.com.au/selinux/   My NSA Security Enhanced Linux packages
http://www.coker.com.au/bonnie++/  Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/    Postal SMTP/POP benchmark
http://www.coker.com.au/~russell/  My home page



Reply to: