Managing RAID on Linux - Derek Vadala [2]
If you decide on a software RAID, then Chapter 3, Getting Started: Building a Software RAID, outlines the necessary steps in getting your first array online.
Chapter 4, Software RAID Reference, contains all the command-line references for the RAID utilities available under Linux. It also covers the RAID kernel parameters and commands related to array and disk management.
Chapter 5, Hardware RAID, covers RAID controllers for Linux. Chapter 5 also covers some widely available disk controllers and discusses driver availability, support, and online array management.
Chapter 6, Filesystems, offers a roundup of the journaling filesystems available for Linux, including ext3, IBM's JFS, ReiserFS, and Silicon Graphics's XFS. The chapter covers installation and also offers some performance tuning tips.
Chapter 7, Performance, Tuning, and Maintenance, covers a range of topics that include monitoring RAID devices, tuning hard disks, and booting from software RAID.
Appendix A, Additional Resources, lists online resources, mailing lists, and additional reading.
Appendix B, Hardware RAID Controller Vendors, offers information about RAID vendors.
A Note About Architecture
In the interest of appealing to the widest audience, this book covers i386-based systems. Software RAID does work under other architectures, such as SPARC, and I encourage you to use them. Support for hardware RAID controllers varies between architectures, so it's best to contact vendors and confirm hardware compatibility before making any purchases.
Kernels
Using RAID on Linux involves reconfiguring and modifying the Linux kernel. In general, I prefer to use monolithic kernels instead of modules, whenever possible. While kernel modules are quite useful for home desktop systems and notebooks, they aren't the best choice for servers and production systems. The choice between the two types of kernel is ultimately up to the user. Many users prefer modules to statically compiled kernel subsystems.
In order to maintain consistency, I had to settle on specific kernels that are used in the examples found throughout this book. It's inevitable that between the time of this writing and the release of the book, newer kernels will become available. This should not pose any problem for users working with newer kernels. This book uses kernels 2.4.18, 2.2.20, and 2.0.39, and focuses specifically on the 2.4 kernel.
LILO
Throughout this book, I focus on LILO when discussing boot loaders. I know that there are many other options available (GRUB, for example), but LILO has worked reliably with Linux's RAID capabilities, and some of the newer choices are not quite compatible yet.
Prompts
There are a number of command output listings throughout this book. The commands in these sections start with a prompt (either $ or #) that indicates whether the command should be executed by a normal user or whether it should be run as root.
$ less /etc/raidtab
# vi /etc/raidtab
For example, in the preceding code, the $ prompt indicates that the first command can be run as a normal user. By default, any user can view, but not modify, the file /etc/raidtab. To edit that file, however, you need root access (as the # prompt denotes).
Conventions Used in This Book
The following typographical conventions are used in this book.
Italic
Used for file and directory names, programs, commands, command-line options, hostnames, usernames, machine names, email addresses, pathnames, URLs, and new terms.
Constant width
Used for variables, keywords, values, options, and IDs. Also used in examples to show the contents of files or the output from commands.
Constant width italic
Used for text that the user is to replace with an actual value.
* * *
Tip
These icons