Is it recommended to use software RAID-1 in a production environment? Due to budget constraints, I cannot get a hardware RAID controller for a new server.
While I'm aware of a slight performance decrease, is it really that much of a difference?
Actually, you may be happier with software RAID as it is more flexible in regards to disk sizes and types. I would almost recommend it over hardware RAID because of this and what ptman says about having to have backup controller in case it dies.
PS I wouldn't use RAID5 hardware or software. http://www.baarf.com/ I'm not just accepting what they say. I've been disappointed by RAID5 performance and found the answer why. Do a RAID 10 or similar.
Linux software RAID1 is fine. And in some ways better than hardware RAID. I hated not being able to upgrade the kernel of a RHEL installation because the binary drivers for the hardware RAID weren't updated for the newer kernel. And if the RAID card dies you need to get another one to get at the data (well, not necessarily with RAID1, but with RAID5 you would), but with software RAID any machine will do.
I'm basically in agreement with what's already been said, Linux software RAID works great.
I wanted to add a note of caution, however: I've had uneven luck with configurations where the boot and/or root drives are mirrored. Although data integrity is retained, two operational issues have come up.
The first varies wildly by hardware and kernel versions: I've had boxes that locked up or even panicked when a drive died in certain ways. Newer hardware with recent kernels seems to have vastly improved this situation, but I can't guarantee it's gone away.
The second is getting a machine with a bad "boot" drive to boot. In most cases, grub or other applicable bootloader will not be automatically installed on both disks, so if the primary boot drive goes and the server gets rebooted, it won't come back up without manual intervention. This can be resolved, of course, by carefully ensuring grub is properly installed on both drives.
I use the FreeBSD software RAID-1 (gmirror) on production web servers, and the performance impact isn't noticeable.
I wouldn't suggest Software RAID-5 because of performance overhead (the parity calculation is best left to a dedicated RAID controller). and I wouldn't run it on a database server in production, but if disk I/O isn't going to be too heavy it's probably fine.
Linux software raid1 is running fine on my production environment. 2 x Seagate Barracuda 7200rpm 16mb 500GB Hard Drives:
Timing cached reads: 1894 MB in 2.00 seconds = 946.49 MB/sec
Timing buffered disk reads: 312 MB in 3.01 seconds = 103.62 MB/sec
I used to use hardware RAID1 with Linux… and I have replaced all of them with mdadm. I found the hardware solutions (not a top-end, I guess, but still not the cheapest 'pseudo-raid') quite unreliable. Even if it worked for some time after a kernel upgrade it would stop working correctly. It seemed that finding a right firmware+driver combination could help, but it was easier to set up software RAID instead.
In other case, the RAID controller simply failed. And it was hard to get the data back from the disks without it. With Linux RAID1 you can always access your data if it is still on a disk, you don't depend on the specific piece of hardware… and the performance is not much lower.
As I use RAID for reliability, software solution seem just better for me. I found it more reliable.
Yes! Considering you can't aquire a hardware raid setup, raid1 done is software is way better than no raid at all.