Silent, Durable Media For Servers?
Aldurn asks: "Recently, I've come into a living situation where having my rather loud computer continuously running is distinctly suboptimal. In order to maintain my current email address and webserver, in addition to running a decent set of iptables rules for the house, I decided to buy a Mini-ITX-based server. Currently, /dev/hda is running on a CompactFlash card, but I realize that this probably isn't the best thing to do when running a mail server, due to limitations of the media with regards to the number of writes possible over the lifetime of the media. I'm looking to add another storage medium to the device for /var in order to maintain the logs, as well as for mail storage and other bits that like to live in that directory. The media doesn't have to be terribly large (preferably at least 64 MB), and can be connected through IDE, USB, the floppy connector, or through the network. The end goal of this exercise is simply to prevent my poor CF card from dying an early death from continuous writes. What do you suggest for such a situation?"
Just use a ramdisk, and a UPS (if you even need it). For reference, I use a flash-disk based Mini-ITX board with a UPS based on two standard 6V lantern batteries -- lasts about 8 hours.
I've had this sig for three days.
Seagate has some amazingly quiet drives based on fluid bearings, I'm assuming that this fairly obvious choice has already occured to you and was deemed unsuitable for some reason.
Barring a regular hard drive, the first and most obvious method is a solid-state disk that's designed for continuous use. They're not cheap, but they're totally silent and quite fast, too.
As was already suggested, a RAM disk that periodically backs itself up to CF would work too. RAM is cheap! If you don't need all that CPU power, consider underclocking your setup to reduce the memory's heat generation, and therefore your fan's duty cycle.
You could try a magneto-optical disk. Some of the old 230MB 3.5" MO drives are nearly silent, and the media's rated for millions of writes and decades in storage. I don't know how noisy the 5.25" versions are, but they should be pretty quiet too, mostly owing to low spin speeds and finely machined parts. Again they'd be better as backing stores for a large RAM disk, due to limited i/o speeds and seek times. Being removable, backups are a piece of cake too.
Laptop hard drives are also pretty quiet, because their spindle RPMs are lower than desktop drives (5400 as opposed to 7200 or 10,000). Their platters are also smaller, meaning that the airspeed of the edge of the platter is much lower, creating less turbulence. Being physically smaller also means that you can mount it in rubber vibration isolators, preventing the computer's case from acting as a sounding board for spindle noise and seek clatter.
Also, check hard drive makers' websites for quiet seek modes. The drive's firmware can choose to drive the head servo in a noisy "performance" mode, or to smooth out the edges of the seek motions in a "quiet" mode. It results in a modest performance drop but a distinct reduction in noise.
Next step: Throw the entire computer into an acoustic printer enclosure. Back when impact dot matrix printers were the norm (and they still are in businesses that use multipart forms), everyone hated the racket they made. Elaborate printer cages were built, lined with acoustic foam and equipped with quiet fans to keep the occupant cool. This will drop a few decibels off any obnoxious machine, and they're designed to be easily opened for paper feeding, ribbon changing, etc. The only downside is bulk.
You can also throw bits of acoustoabsorbent foam into the computer's case wherever you find room. I live a few miles from a foam supplier so I picked up a few scraps. Rubber cement or spray-on adhesive work well. Any car stereo shop can sell you little bits of Dynamat, with a self-adhesive backing. An ITX case won't afford much space, but every little bit helps to cut down on panel vibrations and reflected noise.
Good luck!
Because you presumably don't want your email to be stored in just one place, I'd suggest a quiet (?), cheap RAID setup like this one
You might especially look in to this variation... ;)
four nine eighteen twenty-7 thirty-nine forty-7 fiftyeight sixty-nine seventy-9 eighty-8 one-hundred-and-nine one-twenty
If you've got plenty of bandwidth and/or speed isn't a major requirement, get some space on a WebDAV server and put your /var directory there. You get the convenience of keeping your machine at home, and the reliability of having your mail and web stuff written to disk. As long as your connection stays up, you're fine. And without a connection, web and mail servers aren't all that useful anyway.
As long as it's a real cf disk and not a cf card on an ide adapter card, then the disk control does it's own wear levelling and you can expect a long lifetime... unless, of course, you're running a crazy mail load. But it doesn't seem like it if 64MB is sufficient.
Wouldn't a usb key do what you want(they're about the size of compact flash, if not larger, and don't have the limited write problem, to my knowledge)
I have an old laptop as a small mail server in my network (100 MHz Pentium, 16 MB RAM, 800 MB disk). All the APM settings are at max except that the machine will never be turned off. The hard drive turns off after a few minutes of no action and because the CPU load is almost nothing, the fan is practicly never on. When the server is idle, it doesn't make any sound al all!
There are also hard drive enclosures.
I had a similar issue with noise, and tried the same solution (fanless mini-itx with CF for storage).
/var.
My cf card died within a couple of months, apparently from writes to the log files in
The replacement setup I did boots from CF, loads the operating system into tmpfs (ram disk if you're not familiar with it), and switches to
running on completely from ram.
In other posts people have suggested frequently backing up you email onto the CF card - if you decide to do that (and it seems like a really good idea), you should be able to get a lot more life out of your card if you dd the image off the cf card into ram, mount the image via loopback, update the files on it, and then dd it back to the disk. It's not the total number of writes to the cf device which kills it, it's the number of writes to a given block which does it in, and updating several files in a directory ends up beating on the same few sectors many times with updates to the directory's metadata.
This takes "lots" of memory, but it's pretty cheap to slap 512MB into a mini-itx box, mail is pretty small, and if that's the only thing the system is doing, you can easily fit the whole image in less than 64MB.
-eviljav
I'd go for the ramdisk idea. However UPS systems are bulky and potentially noisy, and don't protect you from some unrelated computer crash (e.g.: CPU overheating and the resulting lock-up.
Therefore find some secondary storage medium and schedule a cronjob that rsync's the ramdisk to the permament media. The permament media could be:
* a flash disk, but this time you know that you do the rsync every X minutes, and that the life of the media is Y writes, therefore you'll need to replace the thing every Z years.
* a remote server accessed via SSH
* any kind of local disk -- the tradeoff being the noise of the thing running periodically.
"But actually trying to use m4 as a general-purpose langage would be deeply perverse" --ESR
That's a bad idea. What happens if the system goes down after a message is received, but before the RAM disk has been backed up? The mail will get lost.
Mail servers are required to guarantee the reliability of a message it has accepted responsibility for, even in the event of power failure. In order for that to be possible, the message must be synchronously written to non-volatile storage before the server acknowledges responsibility. So unless the server operator (and any mail domains they are a backup for) doesn't mind losing mail, a RAM disk is not an option.
The end goal of this exercise is simply to prevent my poor CF card from dying an early death from continuous writes.
Don't bother with different media, just use a proper flash file system and don't worry about it. JFFS and JFFS2 are specifically designed for flash file systems, and are purely log-structured, meaning they never erase and rewrite a specific sector, preferring always to write somewhere else in order to level the wear.
To get a rough idea of what the lifetime of you CF card will be, you need to look at how much total data "churn" the card will suffer. Supposing it receives, stores and deletes 10MB of data per day, given a 64 MB CF card, the card will be completely rewritten about every 6.4 days assuming the filesystem job does a perfect job of leveling. It won't, of course, though it will be pretty good. Just to be pessimistic, let's assume that it actually does much worse, and rewrites some part of the chip once per day. That will still give you 273 years of service from your CF card, assuming 100,000 erase cycles (which is the manufacturer's *minimum* guaranteed lifetime -- you'll often see an order of magnitude more cycles before real failures occur).
If you're really paranoid about your e-mail and get a lot of it, replace the card every two years or so (which will likely be after a tiny fraction of a percentage point of the useful lifetime). A 256MB card costs less than $50 right now, and two years from now it'll cost less than dirt.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
OK, flash based parts CF, SM, MMC, SD, USB Key, or whatever do have a finite life this is true, but the life is much longer than any reasonable use. Old parts when FLASH was a new technology had lives of 1000 cycles, and yes this is somewhat limiting. But todays FLASH is 10,000 to 100,000 cycles most flash storage controlers (for whatever format) move data arround so the "wear" on the "drive" is evenly spread across the blocks (sectors). So if you have a 64MB card lets say 32MB for software and 32MB for email/data storage and you get 32MB/day of email then the card will last 10,000 days worst case. 10,000/365 days/year = 27.4 years technology will have progressed well beyond this in this time so the machine will become useless well before the FLASH. Even if you are REAL popular and get 320 MB of mail a day thats still 2.7 years which given the price of flash and a heavy useage pattern is a reasonable price. The FLASH manufatures are guarenteeing 10,000 cycles, this does not mean that 10,001 cycles will be a failure, 10,000 is a minimum so it will probably last atleast 30% more. Even at 10,000 cycles the flash starts to fail, much like a hard disks sectors going bad and they do faster than 10,000 cycles, so some of the blocks will fail at some point after 10,000 cycles and if the controller works correctly it will pull that sector out of the rotation so the storage size will slowly decrease over time so it will have an effective size of 63MB then 62MB sometime after the 10,000 cycles. So I don't really see an issue. Some FLASH parts may fail sooner, but so may any technology and I would trust FLASH more than a HDD or RAM DISK (which goes away very quickily if there are any (ANY) power fluctuations.