I recently purchased a Backblaze storage pod from 45drives.com. I special ordered it with an Opteron motherboard rather than the standard Xeon. Both are SuperMicro ATX-types, but mine has three additional PCI slots and supports far more memory.
This 68lb behemoth is 7" tall, 19" wide, and 33" deep. It came with CentOS 6.4 pre-installed on a 300GB 2.5" boot drive, 45 3.5" data drive slots, but no data drives. I bought five 4TB Seagate drives to start with. To set up this monster I had to connect a VGA monitor, a PS2 keyboard, and a mouse. I wanted to simply connect power and an Ethernet cable and set it up headlessly via SSH, but for reasons I cannot fathom the sshd service refuses to accept passwords from external connections.
In the payload bay there are nine 1x5 SATA port expanders arranged in a three-rows-of-three layout. I expected that array to support SCSI channels one thru nine. No such luck. The first row supports SCSI channels 14, 16, and 17. The second row supports SCSI channels 6, 8, and 9. As curious as that may be, those channel numbers don't really matter at all. When I loaded the first port expander with five working drives and rescanned the SCSI ports, those drives were recognized as /dev/sdb thru /dev/sdf.
Building an initial RAID array is simple:
# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=5 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf --metadata 1.2 mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 512K mdadm: /dev/sdb appears to be part of a raid array: level=raid0 devices=0 ctime=Wed Dec 31 20:00:00 1969 mdadm: partition table exists on /dev/sdb but will be lost or meaningless after creating array mdadm: /dev/sdc appears to be part of a raid array: level=raid0 devices=0 ctime=Wed Dec 31 20:00:00 1969 mdadm: partition table exists on /dev/sdc but will be lost or meaningless after creating array mdadm: /dev/sdd appears to be part of a raid array: level=raid0 devices=0 ctime=Wed Dec 31 20:00:00 1969 mdadm: partition table exists on /dev/sdd but will be lost or meaningless after creating array mdadm: size set to 3906887168K Continue creating array? y mdadm: array /dev/md0 started. # mdadm --detail --scan >> /etc/mdadm.conf # cat /etc/mdadm.conf ARRAY /dev/md0 metadata=1.2 name=pod:0 UUID=8da76af4:1e59dfdf:4ae900aa:934f3209 # cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid6 sdf sde sdd sdc sdb 11720661504 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/5] [UUUUU] [>....................] resync = 0.1% (5456140/3906887168) finish=3091.8min speed=21030K/secThe last line indicates it will take about 3,100 min -- just over two days -- to finish its initialization. I don't have to wait that long. I could format /dev/md0 to ext4 right now, mount it, and start using it right away.
With more drives I'll be able to grow this software RAID array pretty much at will. Each 15-drive RAID6 array will have an ext4-formatted capacity of (15-2) x 3.6T = 46.8T. The total capacity with three arrays will be ~140.4T. A full pod will weigh about 130lb. I'm not even going to try putting that into a rack. The only safe place to mount it in my computer room will be on top of two side-by-side file cabinets.