raid1下安装linux,在RAID1安装上安装Linux

最近需要搭建一台Linux Server,用来提供SVN、FTP、SAMBA等服务。因为是文件服务器,所以就想到了有必要对里面的数据进行冗余保护。某些关键数据当然是经常备份为好,但是大容量的文件如果经常备份,周期太长,且也消耗空间。不保护不好,经常备份也麻烦,于是就干脆搞个RAID1算了。

由于服务器的硬件较老,BIOS里面不支持设置RAID,且也没有必要买昂贵的RAID卡,更没有必要用到专业的NAS/SAN,我决定采用Linux的Software RAID。OS版本是SUSE Linux Enterprise 11 SP1,它能够在安装系统的时候就可以创建RAID,且能够把系统分区也挂载到RAID上面。这个多多少少有点出乎我的意料,之前我只是想对数据分区做RAID保护而已。一不做二不休,干脆把所有的分区都建在RAID上,这样拔掉一块硬盘,系统还能够正常启动正常使用。我用了两块一模一样的硬盘,每块硬盘按照相同的规则分了三个区,把两个硬盘的第一个分区组成/dev/md0,用来挂载/boot,第二个分区组成/dev/md1,用来挂载/swap。第三个分区组成/dev/md2,因为想到未来可能会扩大容量存放更多的内容,所以利用Linux的LVM机制,在/dev/md2的基础上用建了一个Volume Group,然后把里面所有的空间都划分给一个Logica Volume,根分区/挂载这个逻辑卷上。以后如果要扩容,只要把新的块设备加到该Group当中,即可方便地扩大Logic Volume的容量。

虽然系统在两个硬盘上都有一模一样的拷贝,但是还有一个额外的步骤需要完成,那就是对GRUB的设置。GRUB这时还只存在第一块硬盘上。为了支持任意一块硬盘启动,我仿照http://www.howtoforge.com/software-raid1-grub-boot-debian-etch-p2里面的步骤,更改了GRUB 菜单:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngdefault 0

failback 1

timeout 5

gfxmenu (hd0,0)/message

title SUSE Linux Enterprise Server 11 SP1 - 2.6.32.12-0.7 (default)

root (hd0,0)

kernel /vmlinuz-2.6.32.12-0.7-default root=/dev/datavg/datalv resume=/dev/md1 splash=silent showopts vga=0x31a

initrd /initrd-2.6.32.12-0.7-default

title SUSE Linux Enterprise Server 11 SP1 - 2.6.32.12-0.7 (failback)

root (hd1,0)

kernel /vmlinuz-2.6.32.12-0.7-default root=/dev/datavg/datalv resume=/dev/md1 splash=silent showopts vga=0x31a

initrd /initrd-2.6.32.12-0.7-default

#...

且运行grub ,以此键入如下命令:

root (hd0,0)

setup (hd0)

root (hd1,0)

setup (hd1)

把GRUB安装在两个硬盘上。然后,我测试了一下,拔掉任何一块硬盘,系统都可以启动且提供服务。

整个过程就这么简单。这个方案仅能对硬盘的损坏做一些保护,可靠性也不算多好。凑合着用吧!

你可能感兴趣的:(raid1下安装linux)