|
|
2009-11-19 by malik@whitehats.ca
Well, it’s been a while since I’ve posted any content on the site. I did some testing of my new Drobo 2nd generation unit and figured I’d post some of my results in the hopes that they’ll be useful for others. I looked around quite a bit for statistics published and found some but none that gave me a really good sense of what to expect for real world data throughput in a configuration that is a little less than typical, a setup under Linux.
root@hardy:~# more /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"
root@hardy:~# uname -a
Linux hardy 2.6.27-15-server #1 SMP Tue Oct 20 07:30:41 UTC 2009 x86_64 GNU/Linux
I am using ext3 for the file systems (4 @ 1.5tb Seagate ST31500341AS (7200rpm) drives. Drobo creates 3 devices of 2tb each visible to the OS). I plan on using only 2 of the three devices as much as possible to allow drobo the room it needs for data redundancy across drives and to achieve better performance etc.
root@hardy:~# fdisk /dev/sdd
The number of cylinders for this
disk is set to 267349.
There is nothing wrong with that,
but this is larger than 1024,
and could in certain setups cause
problems with:
1) software that runs at boot time
(e.g., old versions of LILO)
2) booting and partitioning
software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sdd: 2199.0 GB,
2199023185920 bytes
255 heads, 63 sectors/track, 267349
cylinders
Units = cylinders of 16065 * 512 =
8225280 bytes
Disk identifier: 0x0005c670
Device Boot Start End Blocks
Id System
/dev/sdd1 1
267349 2147480811 83
Linux
I’ve also installed the opensource drobo-utils (http://drobo-utils.sourceforge.net/) though I have not dug into things to see why it says my partition type is NTFS. For each device I chose msdos using parted and then created an ext3 filesystem.

DroboView - My DroboView

DroboView - Drive Statistics
For those that want immediate gratification – my objectives and results follow. Please read on further down for more specific information that helped me formulate my opinions.
1. Have redundant solution to achieve some Business Continuity/Disaster Recovery Planning objectives.
2. Have an easily growable file systems of decent capacity
3. Have these file systems locally available to the Operating System Drobo is connected to
4. Have these file systems remotely available via the network
5. Have enough throughput read/write speed to run VMware or VirtualBox instances from without unacceptable latency from the local OS
6. Have enough throughput read/write speed to run VMware or VirtualBox instance from without unacceptable latency from across the network.
1. Achieved!
2. Achieved! (performance degradation not observed yet but expected as drives fill up)
3. Achieved!
4. Achieved!
5. Sort of - VM instances do run but are a bit slow - they are still functional though
6. Not achieved - too slow to be usable by my standards
Get a Firewire 800 instance and see if this improves things further. The darn card I got to use was PCI64 and I needed to get PCI Express (doh) so I only tested Firewire 400. Incidentally the Drobo user manual states that you need to get a Firewire 800 to 400 cable if you want to use Firewire 400 with Drobo and that this is not included. It was indeed included. The Firewire 800 to 800 cable was not included (suited me fine as I didn't have Firewire 800 available and needed the cable shipped). I did purchase a separate Firewire 800 cable (1394b) but still have to get an interface for it.
root@hardy:~# lspci | grep 1394
05:03.0 FireWire (IEEE 1394): Texas
Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
root@hardy:~# lspci | grep USB2
00:1a.7 USB Controller: Intel Corporation
82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1d.7 USB Controller: Intel Corporation
82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
root@hardy:/proc# lspci | grep Ethernet
02:00.0 Ethernet controller: Marvell
Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
05:02.0 Ethernet controller: D-Link System
Inc Gigabit Ethernet Adapter (rev 11)
root@hardy:/proc# mii-tool eth0
eth0: negotiated 1000baseT-FD
flow-control, link ok
root@hardy:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST3500630AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC
WD5000AAKS-0 Rev: 12.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: HL-DT-ST Model: DVD-RAM GSA-H50N Rev: 1.00
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 01 Lun: 00
Vendor: ATA Model: WDC
WD2000JB-00G Rev: 08.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi8 Channel: 00 Id: 00 Lun: 00
Vendor: TRUSTED Model: Mass Storage Rev: 2.00
Type:
Direct-Access
ANSI SCSI revision: 02
Host:
scsi8 Channel: 00 Id: 00 Lun: 01
Vendor: TRUSTED Model: Mass Storage Rev: 2.00
Type:
Direct-Access
ANSI SCSI revision: 02
Host:
scsi8 Channel: 00 Id: 00 Lun: 02
Vendor: TRUSTED Model: Mass Storage Rev: 2.00
Type:
Direct-Access
ANSI SCSI revision: 02
root@hardy:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 47G 610M
44G 2% /
tmpfs 2.0G 0
2.0G 0% /lib/init/rw
varrun 2.0G 648K
2.0G 1% /var/run
varlock 2.0G 4.0K
2.0G 1% /var/lock
udev 2.0G 2.9M
2.0G 1% /dev
tmpfs 2.0G 12K
2.0G 1% /dev/shm
lrm 2.0G 2.6M
2.0G 1%
/lib/modules/2.6.27-15-server/volatile
/dev/md0 463G 310G
130G 71% /hardy
/dev/sdc6 42G 5.5G
35G 14% /home
/dev/sdc3 47G 3.8G
41G 9% /usr
/dev/sdc5 47G 1.4G
44G 4% /var
/dev/sdd1 2.0T 240G
1.7T 13% /drobo/1a
/dev/sde1 2.0T 236G
1.7T 13% /drobo/2a
/dev/sdf1 2.0T 199M
1.9T 1% /drobo/3a
# /etc/fstab: static file system
information.
#
# <file system> <mount
point> <type> <options> <dump> <pass>
proc /proc proc defaults 0
0
# /dev/sda1
UUID=4b87970f-6049-40be-afdd-86bf691a4bbd
/ ext3 relatime,errors=remount-ro 0 1
# /dev/md0
UUID=7433b15f-27cc-433d-b01c-6e1aa7f9d1e7
/hardy ext3 relatime 0
2
# /dev/sda6
UUID=000e2437-ba8f-4145-9f07-853ba0d667db
/home ext3 relatime 0
2
# /dev/sda3
UUID=77ff472e-0372-44c9-97b1-8d9f28392bb8
/usr ext3
relatime 0 2
# /dev/sda5
UUID=dc5be55f-b9a9-49d7-9ef5-ca6cb7c0de4b
/var ext3 relatime 0
2
# /dev/sda2
UUID=7250fc6f-a65d-4832-b523-13c949b54e23
none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/fd0 /media/floppy0 auto
rw,user,noauto,exec,utf8 0 0
/dev/sdd1 /drobo/1a ext3
relatime 0 2
/dev/sde1 /drobo/2a ext3
relatime 0 2
/dev/sdf1 /drobo/3a ext3
relatime 0 2
1. My Motherboard is an ASUS P5B Deluxe (http://asus.com/product.aspx?P_ID=bswT66IBSb2rEWNa)
2. All testing was done with drobo at ~13% capacity (i.e. 780GB of data on disk of potential 6TB of space)
3. The ~4gb test file was 4032823296 bytes (an ISO image)
4. I didn’t measure length of time to xfer files, I monitored file IO between the destination (to) and source (from) and took an average. I used conky (http://conky.sourceforge.net/) to do this.

Conky – Example local read from SATA3 write to Drobo
Well, the first test which I repeated twice was so dismal that I didn’t bother testing further. I don’t recommend using Firewire 400 (1394a) as USB2 results were much better. I wish I had some stats on Firewire 800 (1394b) but I don’t. If I do end up testing with Firewire 800 I’ll update and add a section on that.
Copying a ~4gb file from a 200GB RAID 0 (/dev/sdc) config consisting of the ATA ST3500630AS (Seagate IDE) and WD2000JB-00G (Western Digital IDE) drives and Drobo Lun 00 (/dev/sdd1) I had write thoughput of a steady sustained 11mb/s. I repeated the test twice. I did not test read IO.
The general results are that you’ll see ~21.5mb/s average when copying data to and reading data from drobo when attached locally via USB2 with large files and it’s pretty consistent. That’s not great but it’s not that bad either – I give it a pass for usability. How this will work out when doing multiple read/writes at the same time – not sure. That is something to seriously consider testing further (i.e. streaming media/video or music at the same time as doing a large file xfer). The only test I have done on this so far was running a VMware instance from the mounted drobo media and copying a file at the same time. The Virtual Machine slowed to a crawl during this time and was basically unusable. That’s just an observation – I didn’t dig into it to really get to the root of the issue. I have assumed it is because of the IO overhead.
Copying the same ~4gb file as in the Firewire 400 test from /dev/sdc6 to /dev/sdd1 resulted in a steady average throughput write of ~22mb/s. Copying the same ~4gb file from /dev/sdd1 to /dev/sdc6 resulted in pretty much the exact same results of ~22mb/s.
Copying the same ~4gb file from /dev/sdc6 to a SATA3 drive (/dev/md0) resulted in ~41mb/s.
Copying the same ~4gb file from /dev/md0 to /dev/md0 results in ~65mb/s.
Copying the same ~4gb file from /dev/md0 to /dev/sdd1 resulted in an average of ~21mb/s.
Copying the same ~4gb file to an SMB share /dev/sdd1 mounted across the network (Windows Vista 32bit with SATA3 Drive not in RAID configuration) resulted in ~5.2mb/s.
Copying smaller files across the network to an SMB share /dev/sdd1 resulted in higher throughput of ~9.1mb/s (files of approx 1mb in size).
Copying the same set of smaller files an SMB share to /dev/md0 resulted in only slightly higher throughput of ~9.2mb/s.
Copying the ~4gb file over the network to /dev/md0 resulted in ~13.1mb/s.
1. I did copy some data to /dev/sde1 and then pulled one of the drives (hot) out of drobo. It did it's thing and within ~30 seconds the lights had reverted back to green. My data was still available which was expected. Hurray! This was really important for me and one of the primary reasons for purchasing a Drobo.
2. If you edit your /etc/fstab to add mounts and drobo is not available at boot you'll likely drop to a maintenance (init 1 or 2) shell. I had an issue where I had drobo unplugged from the computer and rebooted which caused the system to drop to the maintenance shell. Oh well, not a Drobo issue but something to note for others. If this happens you can plug in Drobo and reboot or edit your /etc/fstab and remove the Drobo mount points and reboot, plug in Drobo and then re-enable your mount points. Just a few suggestions.
http://drobo-utils.sourceforge.net/
PATH=$PATH:/opt/drobo
export PATH
#!/bin/sh
exec sudo /opt/drobo/drobom $* view
[Desktop Entry]
Encoding=UTF-8
Name=Drobo-Utils
Comment=created by Jamie
Exec=gnome-terminal -x
"/opt/drobo/droboview"
Terminal=True
Type=Application
Icon=xchat
NoDisplay=false

|
|
||
|
Copyright
© 2000-2011 Whitehats.ca |
||