RAID1 基于内核 2.0.35
若想使用 raid1, 4 或 5, 你必须为内核打一个补丁, 它位于
ftp://ftp.kernel.org/pub/linux/daemons/raid/alpha/raid0145-19981005-c-2.0.35.tz。
拷贝到 /usr/src directory, 将补丁解压缩:
tar -zxvf raid0145-19981005-c-2.0.35.tz
注意补丁将搜索 /usr/src/linux-2.0.35 目录. 如果你将 2.0.35 的源码安装在目录 /usr/src/linux 下, 你需要mv /usr/src/linux /usr/src/linux-2.0.35, 然后做一个符号联结 ln -s /usr/src/linux-2.0.35 /usr/src/linux
为了使用这个补丁, 进入目录 /usr/src:
patch -p0 (在我的系统中有些地方小写的 c 会变成大写的 C 吗? 也许在解压后?)
你现在可以去重新编译内核. 当你选择多设备(选项)时, 你将看到有选择 raid1,4和5. 依次步骤是
make menuconfig (or config or xconfig)
make clean
make dep
make zImage
make modules (如果你使用了模块)
make modules_install
将新内核拷到你系统中适当的地方(/ 或 /boot). 我建议你同时拥有一个无 raid 的内核 和一个有 raid 的内核. 你能够通过修改 lilo.conf 来确定使用那一个内核启动. 这根本 不困难, 尽管初看起来有些恐怖. 查看 /usr/lib/lilo 的例子和文档. (译者注: 可能为 Slackware 中的目录, Redhat5.1 中无)
查看 dmesg │ more 的输出内容确定 md 驱动器已经装载, raid0 & 1 已经注册. 敲入 cat /proc/mdstat 看看你是否有了新的 md 驱动器. 你应该看到 16个 md 驱动器而不是 4 个.
你将必须升级你的 raidtools. mdadd, /etc/mdtab 和 mdcreate 是旧的, 新工具应该是 raidstart, /etc/raidtab 和 mkraid. 从这一点上来说, (当前的)文档的确是过时了.ftp://ftp.kernel.org/pub/linux/daemons/raid/alpha/raidtools-19981005-B-0.90.tar.gz
下载到/usr/local/src 然后
tar -zxvf raidtools-19981005-B-0.90.tar.gz
这将产生一个新目录 /usr/local/src/raidtools-0.90. 进入这个目录作 ../configure
又一次, 我记不起是否该接着做 make 和 make install.
一个较简单的方式完成内核 2.0.35 下的 RAID0
使用两个 scsi 设备 /dev/sda1 和 /dev/sdb1 完成一个 raid0 阵列的步骤:
将 /dev/sda1 和 /dev/sdb1 分区, 让他们有相同的块大小.
将分区的类型设为 0xfd. 这是用来让新内核在启动时自动识别 raid.
按下面例子修改 /etc/raidtab 文件(随 raidtools 提供的例子缺少一些重要的信息):
# Striping example
# /dev/md0 using /dev/sda1 and /dev/sdb1
raiddev /dev/md0
raid-level 0
nr-raid-disks 2
persistent-superblocks 1
nr-spare-disks 0
chunk-size 32
device /dev/sda1
raid-disk 0
device /dev/sdb1
raid-disk 1
敲入 mkraid -f /dev/md0 一定注意 - 阅读错误信息, 明确方向! cat /proc/mdstat 检查输出信息, 确定 md 设备是否正确地做好. 使用 mke2fs -c /dev/md0 格式化新 raid 设备. 产生一个安装目录(例如 /raidtest)以测试它是否工作.
mount /dev/md0 /raidtest
看你是否能将一个文件拷贝到 /raidtest. 如果你的硬盘设备有各自独立的 LED 灯 , 你能够看到两个设备都在工作.
重启动, 检查内核是否自动将 raid 设备 md0 关闭. 会有一些信息滚过屏幕. (有谁知道如何使用 "dmesg" 读取关机信息?)






