linux 系统中软件raid 配置方法

  发布时间:2008-09-08 17:06:45   作者:佚名   我要评论
1 什么是RAID,RAID的级别和特点 ; 什么是RAID呢?全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年,由加州大学伯克利大学发表的论文而来,其实就是这个标题的缩写就是RAID;中译为“磁盘阵列”; RAID就

5.1 仅仅是为了扩充存储可用空间,是否必需做RAID;

如果是仅仅解决容量问题,我看大可不必用RAID。因为LVM比RAID更为灵活,无论怎么做,都不会带来容易上的损失。而只有RAID0和 LINEAR 级别才不会带来容量上的损失,RAID1、RAID5和RAID10由于要有安全冗余,所以RAID的容量必然减少;

LVM 技术能把所有空闲硬盘或分区结合在一起来使用,并不要求每个分区或硬盘大小容易是一致的,而RAID必须要求每个RAID成员容量大小相同,如果不相同,以最小的成员的容易计算,这个损失还不算,还要有安全冗余带来的容量损失,比如把两块80G的硬盘做成RAID1,这时的RAID1是一块硬盘的容量。LVM做好后,也相当于一个空白的虚拟设备,可以在上面划成一个分区来使用,也可以划分几个,如果划成几个,我们还可以自动调整分区的大小。而RAID一但做好,如果再进行分区,分区的容量是没办法自由调整的;

有的弟兄会问,我是不是做好RAID,然后在RAID上再做LVM,也就是RAID+LVM模式。这种方案实现起来并不困难,但对于软RAID来说,这种方案是否真的价值? 我们用RAID的目的无非是“容量+读写效率+安全”。我们有必要把做好的RAID再分割的四分五裂吗? 我感觉没必要,因为对于存储设备来说,每增强一项管理技术,就意味着风险,这种风险一是来自于管理员技术水平,二是来自于设备老化。另外集中于不分区的存储设备,也能为数据迁移和系统管理带来方便;


5.2 在同一个硬盘做RAID是否有必要;

在同一块硬盘上做RAID是否有必要,如果您是想提高数据读写速度,还是有必要的。RAID0就能为你带来这种高速存储的快感。如果您想在同一块硬盘上做软RAID,想同时兼顾效率和安全,我看大可以免了。因为硬盘一坏掉,什么重要的数据都会一锅烂;


5.3 软RAID的合理使用方向;

目前支持SATA主板的机器只能技术最多四块硬盘。比如四个80G的SATA硬盘,IDE硬盘也同理;我们要根据自己的使用方向来做RAID。下面我根据一个示例来说明RAID的合理使用方向;

第一个硬盘分区情况:

/dev/sda1 20G大小
/dev/sda2 20G大小
/dev/sda3 20G大小
-----/dev/sda5 swap 分区 -内存两倍大小
-----/dev/sda6 用于/tmp 2G大小;
-----/dev/sda7

注:我们首先把操作系统安装到第一个分区/dev/sda1 ,交换分区是/dev/sda5,/dev/sda6为临时/tmp的目录;那/dev/sda1和 sda2、sda3、sda7是用做什么的呢?可以用来安装系统。我们设计的是仅安装系统,涉及数据保存的,都放到RAID上。比如我把sda1和sda2安装同样的系统,把由第二三四块硬盘做好的RAID挂在/home上,所有应用数据都存在RAID上。当sda1系统被损坏时,我们可以用最短的时间启用sda2的系统,并在sda2上装载由第二三四块硬盘上做的RAID。

第二三四个硬盘,我们可以用来整块硬盘来做RAID, 不必为每块硬盘分区。比如为了读写效率,我们可以做成RAID0,为了安全,你可以做RAID5。 如果做RAID0设备的容量是3x80G=240G,如果做RAID5,RAID5设备的容量是(3-1)x80=160G。有的弟兄可能会说,为什么我不能把磁盘进行分区,然后做RAID0呢?RAID10也就是RAID0+RAID1的组合,安全和效率都有。这种方案也是可以的,但您必须做到,当有一个硬盘坏掉时,不会影响数据的整体安全性。也就是说,当一个硬盘坏掉时,另外两块硬盘组合起来,仍能组成一份完整的数据。当RAID中的一块硬盘坏掉时,我们能通过更换硬盘,简单的修复,就能让RAID正常运行起来,而且数据是完整的。如果您对数据安全极为重视的,在做软RAID的过程中,能做到这点,这个RAID方案就属于你。

所以在做软RAID时,首先要明白自己的目的是什么,然后再来根据目的判断自己的所要达到的效果。如果是简单追求的是读写效率,我们就不必考虑数据的安全性。如果是数据的安全性对我们来说极为重要,我们就要判断,当一块硬盘坏掉时,是否影响数据的完整性!比如,我们用两块硬盘来做RAID5或RAID10,可以这样说,没有一点安全性的。无论您怎么分区和组合,也不会为您带来一点安全感。


6 常见问题及处理;

涉及一些补充和增订的内容,我们在这里一一列出;


6.1 如何清除一个RAID成员的超级块存储存的RAID信息;

RAID成员在 superblock中所存储的RAID信息是极为重要的,我们可以根据这个信息轻松恢复RAID。

mdadm --zero-superblock RAID成员;

如果你确认RAID成员这个成员对你没任何用处,你已经把这个成员移除RAID,并且您想把这个设备另作他用。这时你可以清除其 superblock的信息。比如;

[root@linuxsir:~] # mdadm --zero-superblock /dev/sdd3

这个示例就是清除/dev/sdd3中的超级块中所存储的RAID信息;
 

相关文章

最新评论