俞磊固德的个人主页



使用LINUX 软件RAID,并且安装Ubuntu 9.10系统于其上。

有一台新机器,核心比较 多,是四核的,但是主频并不高,2.5Ghz。有两块大小不同的硬盘。想提高系统的速度,所以想把硬盘做成RAID的。但是,由于两块硬盘大小不同,听说 做RAID0硬盘的话,虽然速度大大提高了,但系统不太安全,一块硬盘出了问题,就再也找不回来数据了。

其实我是想把系统装在RAID0 之中,因为这样才能提高系统运行的速度。就算硬盘坏了,不过也是系统重新安装一遍而已。但是要实现这些,两个硬盘做RAID0,再有个硬盘存储日常的数 据,或者采用安全的RAID5。无论如何,都要求除了机器有RAID卡之外,必须是三块硬盘了。

所以想来,索性做Software Raid。因为我这机器,CPU核心多,所以相信,软件RAID并不会拖累CPU速度。
而且Linux的软件RAID,能够把硬盘上的两个分区,不管大小是否相同,都能做成RAID0的。

使用Ubuntu 9.10 Live CD(我是把它弄到一个U盘上去了,用U盘启动安装的)。接下来就研究如何实现软件RAID,并且把系统安装于其上。我尝试了几次,最后终于成功。下面就是记录:

用Ubuntu 9.10 Live CD启动以后,进入一个虚拟的ubuntu linux之中。注意,ubuntu缺省并没有软件RAID的驱动程序,所以首先要在这个虚拟的LINUX中安装它。
1)虽然是只是Live CD的LINUX,仍然要选择一个速度快一些的源,比如mirror.lupaworld.com之类。
2)使用命令: sudo apt-get install mdadm 来安装
    mdadm是LINUX下管理软件RAID的命令。安装它的时候,自然就把它所依赖的软件RAID驱动程序也安装了。在/lib/modules/2.6.31-14-generic/kernel/drivers下可以看到有了md目录。
3)建立RAID分区
   sudo mdadm --create /dev/md0 --auto yes -l 0 -n 2 /dev/sda6 dev/sdb3
 上述命令中,--create /dev/md0 表明要创建的软件RAID设备是 /dev/md0
 --auto yes 含义明显就中“全自动创建”
 -l 0 是RAID的级别,我为了速度第一,自然选择RAID0
 -n 2 是代表使用两个硬盘分区,后面的 /dev/sda6 dev/sdb3 就是两个要做RAID的分区了。

4)开始安装LINUX,注意,进入分区时,选择手工分区。
5)在手工分区中,选择/dev/md0作为自己的/目录。我是另外再选择了个小分区作为/boot目录,以免GRUB都起不来。

6)开始安装,如同平时ubuntu linux安装,只是注意,安装到最后,不要重启。因为我们还有事情要做。

主要的问题在于,缺省安装的ubuntu linux是没有软RAID驱动程序的,所以上述的安装的结果是,GRUB虽然能够启动,但是调入LINUX核心后,却根本找不到我们刚才做的/dev/md0这个RAID的分区。所以LINUX无法启动。

解决这个问题的办法就是,一定要在启动的核心中,加上软件RAID的驱动程序。
我参考了这篇文档:https://wiki.ubuntu.com/FakeRaidHowto
虽然它讲述的是ubuntu 9.04上的(注意9.10的GRUB与9.04的有很大的区别),且是硬件RAID的安装。

7)以下命令:
 把新的根目录分区和启动分区分别加载到 /targret和/target/boot目录下
  sudo mount /dev/md0 /target
  sudo mount /dev/sda7 /target/boot

然后:
  sudo mount --bind /dev /target/dev/
  sudo  mount -t proc proc /target/proc/
  sudo cp /etc/resolv.conf /target/etc/resolv.conf
  sudo chroot /target/
做到这一步,实际上在当前窗口中,把你未来的系统给加载了上来,

8)以下命令:
  sudo apt-get install mdadm
  这就是在未来的新系统中安装上mdadm以及软件RAID的驱动程序

9)下面这条命令,是让启动时内存文件系统中,加载软件RAID的驱动程序,我的是RAID0
    echo raid0 >> /etc/initramfs-tools/modules

10) 然后,更新一下启动时的内存文件系统
   update-initramfs -u

11) 更新一下GRUB:
  update-grub

好了,重启机器,正常的话,ubuntu linux就正常启动了。用df看一下,是不是/目录是加载在/dev/md0上的。
然后。可以用hdparm -t来测试一下硬盘的速度了。我实测达到了 140M/s。已经远远大于普通SATA II的硬盘速度了。
  

提交评论

安全码
刷新
(以上验证码中如果有中文数字,请使用阿拉伯数字输入,比如'八'请输入'8' )