代码: 全选
# mount /dev/raid0a /mnt
# df -h /mnt
Filesystem Size Used Avail Capacity Mounted on
/dev/raid0a 9.0G 2.0K 8.6G 0% /mnt
# cd /; pax -v -X -rw -pe . /mnt
[...snip...]
现在NetBSD已经安装到这个RAID文件系统上了. 我们需要修改一下 /etc/fstab文件上的挂载点,否则系统不能正确地启动。 将实例中的 wd0 修改为 raid0.
[INDENT]
说明:对NetBSD 5.0以前的发行版来说内核崩溃转储只能保存在一个真实的物理磁盘(wd0b)上,而不能保存在RIAD设备上。 这个转储区域是我们在上一章建立在第二块磁盘的(wd1b)上的, 但是在后面我们将把wd0做成wd1的一个完全相同的拷贝, 所以wd0b和wd1b将有相同的大小和偏移量。 如果wd0损坏了并且从服务器上摘下,如果我们在/etc/fstab里设置了wd0b,在重新启动和崩溃转储后wd1会代替wd0(译者注:原文是wd1变成了wd0)继续工作. 这个配置中唯一的缺陷是当用一块新硬盘替换原来的损坏的wd0时,我们还没有用fdisk和disklabel初始化它。 在内核崩溃时,我们无法再如此短的时间内完成崩溃转储。注意:怎么转储设备的第四列里有一个 “dp” 关键字。
[/INDENT]
代码: 全选
# vi /mnt/etc/fstab
/dev/raid0a / ffs rw 1 1
/dev/raid0b none swap sw 0 0
/dev/wd0b none swap dp 0 0
kernfs /kern kernfs rw
procfs /proc procfs rw
swap应该在关机时被取消配置(不配置)以避免RAID设备的奇偶校验误差。 这可以通过在/etc/rc.conf里加上简单的一行设置完成。
代码: 全选
# vi /mnt/etc/rc.conf
swapoff=YES
接下来引导装载程序必须被安装在Disk1/wd1上. 如果在Disk0/wd0的损坏并使RAID-1找不到引导装载程序的情况下,不在Disk1/wd1上安装引导装载程序将导致系统无法启动。
[INDENT]
[/INDENT]在i386上, 安装引导装载程序到 /dev/rwd1a :提示
因为在许多基于i386系统的 BIOS/CMOS 菜单误导了设备启动顺序。 我在这里强烈推荐利用被i386第一阶段引导安装程序支持的 "-o timeout=X" 选项。 为每个磁盘建立唯一的对应值作为从哪块磁盘启动系统的参考点。
警告
尽管看起来将第一阶段启动块安装进 /dev/rwd1{c,d} 很符合逻辑 (它已在NetBSD 1.6.x 的installboot(8)上修正了 , 目前不存在这种情况了.) 如果你犯了这种错误, 引导扇区将被无可挽回地破坏,你只能再一次重复安装设置过程。
代码: 全选
# /usr/sbin/installboot -o timeout=30 -v /dev/rwd1a /usr/mdec/bootxx_ffsv1
File system: /dev/rwd1a
File system type: raw (blocksize 8192, needswap 1)
Primary bootstrap: /usr/mdec/bootxx_ffsv1
Preserving 51 (0x33) bytes of the BPB
在sparc64上, 安装引导装载程序到 /dev/rwd1a 还有, 不管怎样 "-o" 标签不被支持 (而且与OpenBoot无关):
代码: 全选
# /usr/sbin/installboot -v /dev/rwd1a /usr/mdec/bootblk
File system: /dev/rwd1a
File system type: raw (blocksize 8192, needswap 0)
Primary bootstrap: /usr/mdec/bootblk
Bootstrap start sector: 1
Bootstrap byte count: 4915
Writing bootstrap
最后RAID组必须被设置为可自动配置,然后系统应该重新启动。重新启动后所有的文件系统都挂载到了RAID设备上。
代码: 全选
# raidctl -v -A root raid0
raid0: Autoconfigure: Yes
raid0: Root: Yes
# tail -2 /var/log/messages
raid0: New autoconfig value is: 1
raid0: New rootpartition value is: 1
# raidctl -v -s raid0
[...snip...]
Autoconfig: Yes
Root partition: Yes
Last configured as: raid0
[...snip...]
# shutdown -r now
[/INDENT]警告
当你关闭系统时永远记住使用 shutdown(8) 。绝不要使用 reboot(8). reboot(8) 不会正确的运行shutdown RC 脚本,并且不会安全的禁用。这会在每次重新启动时导致损坏的奇偶校验。