• RSS订阅
  • 交换链接
  • WAP首页
  • 首页

Jeffrey’s Blog

Web&P2P架构及优化


磁盘阵列搬回家 — Linux软RAID实战指南

March 31st, 2006
一、引言

RAID的全称叫“冗余磁盘阵列”,更多的人叫它“廉价磁盘阵列。这种技术可以使多块磁盘协同工作,为系统提供更高 的磁盘访问速度或更好的可靠性。最常用的RAID有三种:RAID0、RAID1、RAID5。详细的不多说,网上介绍性的资料多得是。

关于磁盘阵列的实际意义,我们可以打个比方。你有个皮包,里面是你积攒了好几年的钱,有那么一天,这个皮包忽然丢 了,这时候你最心疼的,会是那个包吗?那个包就好比硬盘,包里的就钱好比硬盘上的数据。这个比方能让你很容易明白磁盘阵列的实际意义。

很多服务器软件,都可以在PC机上运行,但PC上运行服务器软件,却很少有成功的例子,因为PC的可靠性不佳,数据很容易毁掉。而购买专用服务器,成本又太高,我们学校的服务器,仅一块RAID卡的价格就相当于一台不错的PC。

过高的成本,使得服务器应用很难在基层单位推广。那么有没有低成本,高可靠性的磁盘阵列可用呢?答案是肯定的,我家 里就有一个磁盘阵列,有18G的RAID5空间和30G的非RAID空间,因为大部分是旧零件,包括电脑在内,成本仅为千元上下。磁盘阵列搬回家的说法, 绝对不是开玩笑!

在PC上做磁盘阵列,很多时候可以替代部门级服务器,给单位节约一大笔费用,这才是它的价值所在。

二、制定配置方案

我是在LINUX上做的软RAID。使用RAID,首先要制定RAID配置方案。我在这里提供些一般化的配置原则和方法,具体的配置,要看你手里的硬盘情况,你对性能和可靠性的要求,最终才能拿出适合自己的方案。

1、RAID0

如果你需要高性能,对可靠性没什么要求,建议用RAID0。RAID0适合做单位内部的大容量媒体服务器,用两块 PC硬盘做的RAID0,性能比服务器上的RAID5阵列好得多。PC硬盘做RAID0,两块硬盘时性能提升较明显,但三块硬盘时,和两块硬盘相比,性能 提升不大。需要注意的是,三块硬盘的RAID0,可靠性仅为单块硬盘的三分之一,所以使用RAID0是有风险的,建议用两块硬盘做RAID0,分别接到两 个IDE或SATA接口上,速度、容量两者可以兼得。

2、RAID1

RAID1的读盘速度和RAID0相当,但写盘速度和单块硬盘硬盘相当。尽管它的性能不是最高的,但已经不逊色于服 务器上的RAID5阵列。PC上用RAID1,是一种低成本,高可靠性的解决方案。两块120G硬盘大约是一千二百元左右,可以提供120G的RAID1 空间,平均每个G仅10元。而RAID5的服务器空间,每个G大约要高出五倍,而性能要低很多,两者可靠性上大致相当。服务器上的东西,不仅硬盘贵, RAID卡也不便宜,仅一块RAID5的阵列卡,就够买台不错的PC了。如果你需要更大的容量,可以买更大容量的PC硬盘,这时,平均每G成本还可以进一 步降低。服务器上很少用RAID1,因为服务器硬盘实在太贵了,但PC上用RAID1,成本上就可以承受。

3、RAID5。

RAID5用起来的确很方便,坏掉一块硬盘,数据很容易恢复,但性能上较差,比单硬盘低不少。那么,什么情况适合用 RAID5呢?一般是硬盘容量较小,又需要较大存储空间,对可靠性也有一定需求,但对性能上没什么要求。说白了,新旧硬盘搭配时,RAID5就很有用。我 家里的磁盘阵列,是用一块40G硬盘和两块10G硬盘做的。我需要备份一些资料,10G空间经常不够。

单位用户,建议用大硬盘做RAID1,但RAID5也不是没用。可以从闲置或者旧电脑上拆下硬盘,做RAID5阵列,资金紧张而又急需数据备份时,RAID5也是很不错的选择。

三、可靠性分析

高端服务器硬盘的平均无故障时间可达140万小时,现在市场上卖的PC硬盘,基本都可达到50万小时以上,质量好的,可以达到100万小时。PC硬盘的可靠性也是很不错的。PC硬盘的故障率约为服务器的一半。

设服务器硬盘的故障率为1/n,那么PC硬盘应为2/n。两块PC硬盘做RAID1,系统损毁的概率为n的平方分之 四。而三块服务器硬盘做RAID5,系统损毁的概率为n的平方分之六。也就是说,PC用RAID1,可靠性不逊色于服务器上用RAID5。而实际使用中, PC硬盘还有维修时间短的优势,实际的可靠性可进一步提高。

对比性能,已知服务器的RAID5性能不高于单块PC硬盘,PC硬盘做RAID1性能还会有较大提升,所以性能上PC上的RAID1占优势。这就是我推荐在PC上用RAID1的原因所在。

四、阵列配置及数据恢复

这里仅给出LINUX上软RAID1模式的配置方法。实验中我用了两块10G硬盘。

两块硬盘跳线都设成master,分别用两根硬盘线接到两个IDE口上。这种接法可以最大限度利用IDE接口带宽。

LINUX运行需要三个分区,/boot分区、根分区和交换分区。注意:最好不要在/boot分区上使用阵列,不然坏了第一块硬盘,恢复会很麻烦,容易造成误操作而导致数据全毁。

两块硬盘的分区分别是hda1、hda2、hda3和hdc1、hdc2、hdc3。hda2和hdc2配置成 md0,做根分区。hda3和hdc3配置成md1,做交换分区。hda1为/boot分区,hdc1为/boot-bak分区。

安装好系统后,把hda1克隆到hdc1,记得克隆完了改一下hdc1卷标,不然启动时会报错。把hdc1的引导标志激活。最后,备份分区表。

测试的时候,我模拟了hda硬盘损坏的情况,在BIOS中禁用了ide0端口,重启动。系统能启动,但会进入单用户 模式,为什么呢?因为/boot分区在hda上,系统找不到/boot分区。别急,修改hdc1的卷标或者/etc/fstab,最后是将hdc1设成可 启动的。改好后重启动就可以了,系统会引导成功。

然后该模拟更换新硬盘了。因为我们模拟的是hda损坏的情况,进BIOS打开IDE0端口的时候,要把启动硬盘设置成IDE1,也就是从hdc引导。

用备份的分区表文件恢复hda分区,然后分别hotadd hda2和hda3。同步的过程需要一段时间,因为要进行硬盘复制。

最后,克隆hdc1到hda1,克隆之后别忘了改卷标。这两个分区的卷标不能相同,否则启动时报错,你有附加的文件 系统,也会挂不上来。至于以后从hda1还是从hdc1启动,只要改一下BIOS就可以了。为稳妥起见,每次更换硬盘后,应在BIOS中设置ide0为第 一引导设备。

四、其它

现在电脑功率都大,仅仅一块P4芯片,功率几乎可以和老式电脑的整个主机相当。所以,近年生产的ATX机箱,通风孔 面积都非常大,而电源风扇的尺寸和功率基本没什么改变,这就造成硬盘附近空气流量大大减少,使得硬盘温度过高,寿命和可靠性大大降低。

做磁盘阵列的时候,我特意改善了硬盘通风。找了个大号风扇,在机箱前面板上切开一个大方孔,将那个大风扇固定在大方孔上,盖上护网(因为家里有猫),然后外面罩上一层口罩布,用来防尘。

大多数服务器都是为局网电脑提供服务。这种环境极少需要服务器提供24*7的不间断服务,软RAID可以做为一种廉价的部门级服务器解决方案。很多服务器应用环境中,都可以用廉价的PC机替代昂贵的服务器。

WINDOWS SERVER也支持软RAID,有人做过软RAID0,说性能提升不大,估计原因是他操作系统所在的分区没有RAID。如果在WINDOWS SERVER上用RAID,建议买带集成RAID的主板,这种主板用起来更方便。

Last modified at: Wednesday, January 10th, 2007 01:27:01 am
Trackback URL: http://blog.zhangjianfeng.com/article/191/trackback

给本文打分: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
2006/03/31 | 阅读全文 | 应用服务 | Email This Post | Print This Post | 1,372 views |
收藏到网摘: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

Related Post

  • No Related Post

9 Responses to “磁盘阵列搬回家 — Linux软RAID实战指南”


Leave a Reply

  • :em04:
  • :em18:
  • :em17:
  • :em10:
  • :em01:
  • :em05:
  • :em15:
  • :em07:
  • :em03:
  • :em13:
  • :em09:
  • :em12:
  • :em11:
  • :em06:
  • :em16:
  • :em14:
  • :em02:
  • :em08:

« 由于域控制器时间不正确导致的几个问题,并解决..
改变grub默认启动的系统 »

    最新文章

    • CRIonline实用英语课堂学习笔记
    • Linux SNMP OID’s for CPU,Memory and Disk Statistics
    • lighttpd+mod_flv_streaming+flowplayer实现拖动播放/推荐FLV
    • 英语写作必背200句
    • MySQL 服务器调优[zt]
    • 简单iscsi网络存储服务器的配置笔记
    • Subversion的用户自助修改口令实现(linux测试通过)
    • SLES10-SP1+Apache-2.0.63+SVN-1.4.6安装配置笔记
    • [音乐欣赏]A place nearby
    • 不错的firefox插件---鼠标手势mouse gestures

    评分最高文章

      • 今天下载的一个CHM文件,打开时右边的内容看不到,提示“该页无法显示”。
      • linux日志服务器配置笔记
      • Legato networker学习笔记(杂)
      • linux tips 技巧笔记
      • [BT下载]2006韩剧-葡萄园的那小伙儿
      • 我家的金吉拉
      • 卡巴斯基病毒库离线更新方法
      • 忽悠姐妹花主题曲下载
      • 轻轻松松把 Apache 配置安全
      • 北京IDC机房介绍

    随机文章:

    • 北京5月1日起采用IC卡替代公交地铁纸质月票
    • sendmail安装配置笔记
    • 解读北京出租车调价方案 油价上涨带来压力,北京出租车调价方案基本确定;听证会将于本月底举行;近八成乘客打的费将增
    • 免费搜索引擎登录入口
    • 一个统计DNS查询的小工具(DNSTOP)
    • 用ex2003+outlook2003预定会议室
    • mysql清空密码脚本
    • 使用heartbeat做双机热备笔记
    • 吃在北京和玩在北京下载
    • 改变grub默认启动的系统

    最新评论

    • [...] Jeffrey 出处:http://blog.zhangjianfeng.co...
    • [...] 文章来源:http://blog.zhangjianfeng.co...
    • 是的. 只要端口不冲突就可...
    • 请教 我在UBUNTU上 (8。04)装了apache2....
    • 謝謝您提供的這些訊息...
    • venhow, 我已经好久没用legato networker了,...
    • 謝謝。 我還沒有提及最主要的一點...
    • 是7.x版本吗? 我记得在配置备份源目...
    • 謝謝。 是原主機(server)還原。 您...
    • venhow,你好 我这边没有相关环境,但根...


    邮件订阅  
  • Categories

    • 个人日志 (15)
    • 休闲娱乐 (79)
    • 应用服务 (87)
    • 影音娱乐 (10)
    • 电脑网络 (79)
    • 站点日志 (19)
    • 系统管理 (244)
    • 英语学习 (17)
    • 衣食住行 (41)
    • 资料共享 (28)
  • 工具网址

    • 天气预报
    • 常用电话
    • 疾病查询
    • 在线翻译
    • Alexa排名查询
    • IP信息查询
    • 邮箱图标生成
    • 我的Firefox插件
  • 友情链接

    • linuxの飘扬
    • winter的平凡生活
    • 伤感星星的天空
    • 回忆未来[张宴]
    • 存储部落
    • 扶凯Blog
    • 沐宇春风
    • 爱MySQL中文网
    • 狗.车.志
    • 非礼勿视
    • 顾秦博客
  • Tags

    • 下载 优化 使用 免费 北京 升级 学习 学习笔记 安装 工具 性能 技巧 日志 最新 服务器 笔记 英语学习 菜谱 视频 解决 调优 软件 运程 配置 配置文件 食物 2007 apache blog dreamhost freebsd Legato linux mysql networker oracle php RAID5 RedHat sendmail squid suse Ubuntu windows wordpress

Jeffrey's Blog is powered by WordPress 2.3.1 and Unnamed 1.22
Entries (RSS) and Comments (RSS) Admin 京ICP备06038449号

Podcast Powered by podPress (v8.8)