Setting up a storage server - suggestions?

Well, my mom will soon be retiring her (very) old PC for a brand new one, which means I’ll probably be getting the old one to play around with (come to think of it, I think it WAS mine before). Anyway, it’s only a 650MHz, and Windows isn’t very fun with it, so I’m going to do what I usually do in this situation - convert it to a Linux box! Only this time, I want it to actually do something practical, so I’m going to set it up RAID style and let it act as a storage server. Networking isn’t something new to me at all, and I’ve actually set up Samba on *nix before, so that part should be…well as easy as it gets.

What I want to know is how should I customize it. I’m not looking to spend TOO much, but some money is okay. I’m not looking for it to neccesarily be speedy, or even stable, really, just something to keep me occupied while setting it up, and happy while running it, but here’s the things I’m wondering about:

Software or hardware level RAID? Pro’s and con’s of each? Which is easier to configure.

The machine only has 128MBs of ram, and I’m thinking that’s probably not nearly enough. Should I go ahead and upgrade to 256? Or even 512? How big of a performance boost would there be if I did?

Obviously if I go hardware level RAID, I’m going to have to get a new controller. Should I get EIDE, SCSI, or SATA? Will I have problems with compatibility if I do SATA (it being an older board…this newfangled SATA thing is confusing to me!).

One thing about RAID that’s always confused me - do the drives have to be the same size? If I have two drives of a differing size, how is that going to affect the array (if it differs for each level of RAID, please explain).

That’s about all the questions I have about it for right now, but if you can think of anything just add it on, I’m sure I’ll appreciate it. And don’t be afraid to get too technical, I’m pretty saavy, just never fussed around with RAID before.

For a storage server, I’d use LVM , which is sort of a software based drive aggregation. That is, it allows you to spread partions and filesystems over mulitiple physical disks. For example, it can make 4 IDE drives look like one partition with a single filesystem. So you just chuck in the 4 largest drives you have hanging around, and set it up. I like it because to most software, it is a single mount point, so I don’t need multiple mount points/subdirs(handy for expanding /home for example, or wherever people will have a personal storage area).

LVM’s big avantage over RAID in this instance, is that the drives don’t have to be identical, and you can add more later. So you can just use what you have, instead of buying a bunch of identical ones. It also does not care(IIRC) what kind of drives they are. i/e you can use your 4 largest IDE drives today, and install a SATA(or SCSI) card and drive(s) later, and with a little work add them to the volume. Thus, dynamic filesystem expansion, again, under one mount point. LVM’s big disadvantage here is it does not have the redundancy of RAID. If you have 4 40G drives, and lose one in RAID, you should be able to recover. If you lose one under LVM you lose 40GB of data (but not the whole volume)

Throw some memory it it (I’d add at least 256 more, giving 374, but might as well go to 512+. You should be good to go.

To answer your questions, yes hardware RAID requires identical drives, but I think(someone help me out here) in software you can get away with different drives, but your partions have to be the same size, thus anything on a larger drive over the size of the smallest of the group is wasted.

As far as IDE/SATA/SCSI goes, make sure you get a supported SATA card, but really, SATA support under Linux as of a few(serveral?) months ago worked because the drives/contoller simply emulated a normal IDE device. SCSI you pay a premium for throughput, and if you’re not pushng scads of data around, you wont ever need it.

This VLM stuff intrigues me. How hard is it to set up to boot to?

I am fairly sure grub and supports it as a boot volume in some manner, but for some reason I still prefer a small (100Mb typically) /boot partiition, probably with ext2, since that is a well known and well documented set up to recover if you have problems.

Did I mention that you can have LVM and regular partitions on a single drive? No reason really not to have a regular /boot partition. Fedora 2 at least, and I think 1, has a graphical installer for it in the setup. Set up 100MB /boot, whatever for swap, then start with the LVM volumes.

I use it and reiserfs for the /video partition where my MythTV stores recorded shows, since it doesn’t support subdirectories. But it is also really nice if you have a bunch of drives hanging around not doing anything.

Couple more links HOW-TO and one I just found about booting from a LVM, in which you have to set up a ramdisk to load /boot into initially.

Anybody else have suggestions?

Ooo, I like this thread.

I’ve got an old IBM box in my apartment that I’ve been pondering a use for. I think I might use it for a Backup solution :).
I’m in a pretty similar situation as the OP, and installing Linux with this LVM toy could work out nicely. All I’d need to buy is some extra memory, a new HD and set up a connection to the box. Redundancy wouldn’t really be a requirement for me since the new box would effectively be the redundant system.

I’ll need to re-learn the very rudimentary Linux command line knowledge I had once upon a time and learn to get Samba working, but that should be managable.

One question, anyone know if this would be able to talk to a Mac?

I might be getting my hands on a old G4 PowerMac which I was considering turning into a jukebox of sorts for use with my Ipod and getting it to play through my reciever somehow. If this happens, would I be able to get the G4 to backup to the Linux box?

There are programs you can run in Linux that make it possible to talk to a Mac…something about Appletalk I think. If you’re running OSX, I’d imagine that would make it loads easier, it being *nix based, but I wouldn’t know for sure. Just look for some HOW-TOs…they’re usually pretty straightforward and easy to follow, and it seems like there’s one for almost every subject.

Apologies if I misunderstood, but you seem to be saying you can’t use LVM with RAID. This is not true – a logical volume can include RAID partitions. I’m helping some friends set up a web server, and we put all the web files on a RAID-1 which we made a logical volume so that we can easily add more storage later on if need be by adding a couple more drives. I think this is the best solution if you need maximum safety but also want to easily add more storage later on.

I hate to ressurect a thread, so Mods if you want, go ahead and close it, but I want to thank Etherman for his suggestion to use LVM. It’s working out great.