|
Linux RAID Guide
Last Modified 18-Dec-2000 | ||
|---|---|---|
| A Brief Guide to getting RAID set up with Linux | ||
|---|---|---|
|
First of all, download everything you need to build the kernel:
/
Notes: The RAID currently shipping with the kernel is version 0.4, and was actively developed until 1996. After this, the RAID developers moved onto version 0.9. AFAIK, this patch is used by everybody using RAID under Linux as it is a whole lot faster, safer and stable. I have no idea why it is not included in the official kernel. Maintainer: Ingo Molnar <> Download: /
Notes: This substantially improves RAID-1 read performance by "balancing" reads across all available partitions (like RAID-0 striping). It has been used by many people on the linux-raid list in mission-critical applications without problem. Maintainer: Mika Kuoppala <> Download: /
Notes: The secure patch adds several security related enhancements to the kernel, its contents has historically (since 2.0) been rolled into the live kernel bit by bit. Again, used by many without problems. Maintainer: Solar Designer <> Download: /
Notes: The notorious do_try_to_free_pages()
bug which has been plaguing the VM
subsystem since 2.2.15 (see lkml) is still present in 2.2.18. This patch
apparently fixes this. Rik van Riel has an alternative patch which also
apparently fixes it. For some reason or other, neither patch is being
incorporated into the 2.2 kernel series. I have heard from a number of RAID
users that this works one for them - and it seems to be working for me. This patch
should be considered alpha, but the alternatives (2.2.14/15 have a root exploit,
2.2.16-18 have a screwed VM subsystem) are not appealing.Maintainer: Andrea Arcangeli <> Download: /
Notes: These are my patches against the patches above to make them work for the latest kernel. If the versions I have listed above have been superseded, then use the later versions, otherwise use the previous version and fix it with the patch below. Download:
Uncompress these archives, and use my patches to patch the outdated patches (that was a bit of a mouthful, wasn't it?):
You may also want to make a few other changes to the kernel - I've listed the ones I normally do below in case you find them helpful.
include/linux/tasks.h:
NR_TASKS from 512 to 3072
MAX_TASKS_PER_USER from (NR_TASKS/2) to 2048
MIN_TASKS_LEFT_FOR_ROOT from 4 to 32
Download: http://www.linuxraid.org/processes.patch
Changes to include/linux/fs.h:
NR_FILE from 4096 to 65536
NR_RESERVED_FILES from 10 to 128
Changes to fs/inode.c:
MAX_INODE from 16384 to 262144
Note: MAX_INODE must be
at least three times larger than NR_FILE.Download: http://www.linuxraid.org/filehandles.patch
Changes to include/net/tcp.h:
TCP_KEEPALIVE_TIME from 2 hours to 5 minutes
Download: http://www.linuxraid.org/tcp-keepalive.patch
Changes to net/ipv4/tcp_ipv4.c:
sysctl_local_port_range
from 1024-4999 to 1024-9999
Download: http://www.linuxraid.org/tcp-port-range.patch
Changes to drivers/char/console.c:
blank_screen()
to do nothing
Note: If the kernel panics with the console blanked it is meant to unblank
it so that you can see what happened pre-panic, and what the panic was.
Either it doesn't, or the screen is blanked again, after the panic.
This disables console blanking completely.Download: http://www.linuxraid.org/console-blanking.patch
You may also want to use my kernel config as a starting point. It's aimed at a high-end server with i686, up to 2GB memory, SMP, IDE or SCSI disks, tapes and CD-ROMs, RAID, IP aliasing/firewalling, TCP syn cookies, serial console, 2048 UNIX PTYs, Enhanced RTC, Quota. So, to finish off:
See also my heavily commented lilo.conf file. If you want to just try the kernel out straight off, and the config options sound close enough to you, you can download the compiled monolithic kernel or alternatively the modular kernel with network devices installed as modules. If you're lazy (like me) you might just want to download everything listed on this page as one big bad-ass patch against the 2.2.18 kernel. | ||
| Written by for |