You are here

storage

Storage

I am fascinated by storage on computers. The fact is, I'm fascinated by most things computing and storage is one of those things. Hard disks are noisy, slow and unreliable - yet still today the best mass storage devices we have.

On my home network, incoming data from the Internet first hits my firewall machine. This has been upgraded many times using the spares from other machines, but the storage is a legacy dating back maybe 6 years. It's powered by a single 30GB disk. It's actually been replaced, and even the OS replaced, but as a spare parts machine replacements have never been at the same time: no co-ordinated upgrades. So this is an unRAIDed disk. To compensate, it's fully backed up and can be restored in entirety from tape.

The firewall also runs CCTV and other odd security tasks - not all IP related. I have a pair of spare 120GB disks for it (30GB minus OS doesn't leave much room for video). Strangely these disks were once in the firewall as part of a RAID5 when I needed some extra PCI and IDE slots for a storage array, which was later moved to a more appropriate machine.

The next machine is my primary server. This is by far the most interesting storage machine:
8 disks
3x RAID1 mirrors - /boot & /, /home, music
1x RAID5 (4 disks) - everything else

The first 1GB of the RAID5 disks are actually two RAID1s. That is, using Linux software raid I have the ability to use different levels of RAID on the same physical disks. The upper 300GB portions of the RAID5 disks are the RAID5 section.

On top of the RAID5 is LVM. LVM is truly great. I have 400GB allocated to partitions - /var and /usr etc. 400GB is currently completely unallocated - if I need it for anything, I can bring it online at any moment, either in addition to existing partitions or as new partitions. If I ever run out of space, I can add more physical disks and extend the LVM onto them.

Some of the RAID1 disks backup by replication onto a partition on the LVM. For this I use rsync run nightly in a small script, which also handles backing up and archival of databases.

The root and boot partitions are not on LVM, as I followed general advice. If you lose the LVM for whatever reason, you want to be able to boot the machine to fix it. Especially if you don't have a CDROM drive in the machine to boot a rescue disk.

Each disk in on it's own IDE channel. No slave disks - on IDE, if one disk fails, the other on the same cable will be lost too. I used to split RAID1 over channels - then a failure on one array kills another array. Not good for diagnosing it later.

Moving on: my 1U server.
This has a pair of 20GB disks, in a Linux RAID1. The machine has front access disks so you can remove them without disassembling the machine (and removing it from a rack - it's not on rails). However they are not hot-swap. It's IDE again. IDE is a very poor interface, but for decades the cheapest and most available. The machine has a BIOS based hard/software RAID. It's awful. It is supported only by Windows, FreeBSD and Linux 2.4, and to rebuild the array you have to drop down to the BIOS.

On to my main desktop, one which isn't a Mac:
One 160GB SATA2 disk. Almost empty as all storage is held on the server. There's a lot of temporary files on it and the OS though - the disk was chosen for speed and the size is a reflection of the best price point for a disk used for only temporary files.

Further: Amiga 4000
Two disks, a 40GB and a 4GB, both IDE. It was a 4 and 20GB but the 20GB developed 'noise' - it worked fine since 1999 until mid 2008, and still does, but it's loud. The Amiga runs 24h and needs to be quiet. So I replaced it with a silent 40GB and decided to get rid of the 4GB (dating from 1997). Bah, lots of work - the machine doesn't like the large disk. I used to run a 80GB on it but this is different somehow. So the 4GB boots the basic OS then reboots into a 40GB supporting version of the OS.

Onwards: iMac
250GB SATA2, 3.5". Not interesting. Boots MacOS, works until it fails (no RAID in an iMac). Feels very fast.

Onwards: MacBook
80GB SATA2, 2.5". Same, but is vastly slower than the iMac. the iMac has almost the same spec - same CPU, same memory - but the overall performance is completely different and pretty much entirely down to the disk.

Onwards: Amiga 4000T
36GB and 9GB SCSI2-Ultrawide. Old, tried, tested, and as fast as some new IDE disks I've bought. IDE sucks. SCSI is good (except for the plethora of connectors which all do much the same thing - beyond physical connectors SCSI is almost completely forward and backward compatible).

Boredom is hitting right now. Disks are disks and I have lots, so to continue on with something else...:

Backups: DLT-7000 x2 drives, DLT-IV tapes, all in a robot tape changer unit with 32 tape cells.
This is the coolest piece of hardware I have. A huge, power hungry Dell box (rebranded StorageTek, of course - do Dell make anything?). Lots of tapes. Terabytes of potential storage. Most importantly, a big robot arm that moves tapes around, loads and unloads the tape drives. Very cool to watch.

It's connected to the primary server using high voltage differential SCSI (I didn't know this existed back when I bought the changer, it was called just 'differential SCSI' - cue lots of effort trying to get it working with LVD SCSI...).

Amanda is the software I used to manage it. It does everything for me, now I have it set up. It did take a great deal of configuration though... I have it dump backups to a holding disk overnight on Friday and send it to tape on Saturday (switch on the unit, run the command on the server, wait for the notification that it has finished).

I was hoping to write something interesting in this post. It seems that I haven't. I blame MIT and UC Berkeley, as I'm watching some of their physics lectures on YouTube while I (try to) write this.

Subscribe to RSS - storage