实际工作过程中,很多系统管理员会在没有硬件raid卡的环境中应用软件raid,目的是为了保持数据的安全性和系统的高可用性。下面以linux系统在安装过程中配置软raid为例说明:

两块相同的硬盘,安装linux系统做BBS,为了保护数据的安全性及系统的高可用性,做软raid1.分区规划:/boot 200M(cetos 6.2最低要求,why?),/swap 1024M,/ 10240M,/data 10240M.

先创建raid分区,然后再创建raid,并选择挂载点和文件系统格式。

系统安装完毕后,还需要进行第二块硬盘的grub安装,否则存在系统的单盘故障!这里用到了一些指令,引用官方的操作文档如下:

vi /boot/grub/grub.conf,添加第二块硬盘的启动信息:

 

这样两块硬盘都有启动信息,无论哪块硬盘损坏,都可以很快的启动系统并同步完数据。其他命令记录如下:

复制一块的硬盘的分区信息:sfdisk -d /dev/sda>patition.sda

按照第一块硬盘的分区信息把新加硬盘分区:sfdisk /dev/sdb<patition.sda

在阵列中加入新硬盘分区的命令:mdadm /dev/mdX -a /dev/sdbX

查看raid工作状态:cat /proc/mdstat

 

http://wiki.centos.org/zh/TipsAndTricks/TroubleshootGRUB

假若一个系统的 GRUB 设置出现问题(成因包括:不正确地修改 GRUB 配置文件、安装另一个操作系统、硬件上或 BIOS 内的改动引致设置的排序不相同),导致 GRUB 不能找到它的配置文件,你可能会面对 grub 的开机提示符而无从着手。普遍来说,第一步是要找出 GRUB 配置文件的位置。GRUB find 指令可以为你效努。

grub> find /grub/grub.conf
find /grub/grub.conf
 (hd0,2)
 (hd1,2)

这里告欣我们有两个 /boot 分区,有可能源自软件 RAID 或不同操作系统。头一个位于第一个硬盘的第三个分区,而另一个位于第二个硬盘的第三个分区。假若要将第一个项目的 GRUB 设置重新安装到 MBR

grub> root (hd0,2)
grub> setup (hd0)

如果你安装了其它 Linux 版本,例如 Ubuntu,它也设只有 menu.lst 档而没有 grub.conf,但由于 CentOS 利用连结把 menu.lst 指向 grub.conf,因此在这两款系统上寻找 menu.lst 亦可行:

grub> find /grub/grub.conf
find /grub/grub.conf
 (hd0,0)
grub> find /grub/menu.lst
find /grub/menu.lst
 (hd0,0)
 (hd0,1)

这里告欣我们有两个 /boot 分区,头一个位于第一个硬盘的第一个分区,很可能正是 CentOS,而另一个 Linux /boot 位于第一个硬盘的第二个分区。

要查看 grub.conf menu.lst 档的内容,可使用 GRUB cat 指令:

grub> cat (hd0,0)/grub/grub.conf
 ... 显示文件内容 ...
grub> cat (hd0,1)/grub/menu.lst
 ... 显示文件内容 ...

要是首轮尝试找不到文件,很可能 /boot 分区并不存在,而 grub 被安装在主目录内。你可试用

grub> find /boot/grub/grub.conf
 (hd0,0)
 (hd1,4)

同样地,这个例子里有两个 GRUB 安装。头一个在第一个硬盘的第一个分区,而另一个在第二个硬盘的第五个分区 —— 亦即首个扩展分区。

若果要撤消第二个项目并将 GRUB 的开机程序安装在第一个硬盘的 MBR 上:

grub> root (hd1,4)
grub> setup (hd0)

要是你不清楚主目录的位置时,你可以尝试寻找 /etc 内的一个文件。譬如:

grub> find /etc/fstab
 (hd0,1)

由此我们得知 / 位于第一个硬盘的第二个分区上 —— 采用 SCSI SATA 等于 /dev/sda2,而采用 PATA 等于 /dev/hda2

GRUB 的指令壳还有很多功能,并且在 GRUB info 档内有详情记载,请利用 info

 grub 来访问它们。