如何实现Linux的软件磁盘阵列(RAID)

2016-01-29 19:27 4 1 收藏

如何实现Linux的软件磁盘阵列(RAID),如何实现Linux的软件磁盘阵列(RAID)

【 tulaoshi.com - Linux 】

     如果你想实现一个 Linux 的软件磁盘阵列(以下简称 RAID 或 raid), 那么在开始前, 下面的这个最重要的网点是你应该首先去涉猎的: 

Linas Vepsta 的 raid 主页: http://linas.org/linux/raid.html 

本文发表的时间是 1998年10月29日, 目前已有的文档还不全, 比较混乱. 这篇文章就是 澄清一些当你在实现 raid0 和 raid1 时会遇到的问题. (译者注: raid0 -- 是指将数据散布在不同的硬盘上操作, 无冗余数据, 读写都可以并行操作, 速度快, 英文简称为 striping, 以下译作"分散读写"; raid1 -- 是指磁盘镜像, 英文为 mirroring.) 

我想实现基于分散读写模式(striping)的镜像模式(mirroring). 分散读写模式具备优异 的读写性能, 而镜像模式带来备份和读的性能增强. 

我使用一个 2.0.30 的内核, 实现了 raid0(striping). 然后我将内核升级到 2.0.35, 这下笑话开始了. 在同 raid0 做了一番争斗后(译者注: 可能未成功), 我开始处理 raid1. 然后, 你猜怎样, 扔掉你所知道所有的 raid 知识, 从打草稿开始! (因此)一个简化工作 的好主意是, 首先使 raid0 能用, 之后增加 raid1. 故事是这样的: 

工作于内核 2.0.30 下的 Raid0 (striping)
从 2.x 版本开始, 内核已经实现了线性和 raid0(striping) 模式. 你必须重新编译内核 以带有多设备界面支持(multiple devices). 我强烈建议将它编译到内核中. 如果你是 使用模块方式, 你将会吃尽苦头. 
检查是否多设备界面(multiple devices)已经安装. dmesg |more 然后检查是否 存在 md 驱动器(md driver)和 raid0 已经注册(raid0 registered)的信息(想不起精确的 词语 - "夜太深" ;-( ) 

或敲入 cat /proc/mdstat 查看你的 md 驱动器的状态. 你应该看到 /dev/md0 到 /dev/md3 处于非激活状态. 

奇怪的是, 内核工具 mdtools-0.35 通常并不随销售包提供. 那里面有建立, 运行和使 raid 停止的工具. 

你在 Slackware 的销售包中可以找到它( 大小为 23k ) 

http://sunsite.unc.edu/pub/Linux/distributions/slackware/slakware/ap1/md.tgz 

下载到 /usr/local/src 然后: 


cd / 
tar -zxvf /usr/local/src/md.tgz
它将把文件放在正确的位置. 
sbin/mdadd
sbin/mdcreate
usr/etc/mdtab
install/doinst.sh
usr/man/man5/mdtab.5.gz
usr/man/man8/mdadd.8.gz
usr/man/man8/mdcreate.8.gz
usr/doc/md/COPYING
usr/doc/md/ChangeLog
usr/doc/md/README
usr/doc/md/md_FAQ
通读 README 文件(毫无疑问, 忽略警告们). 这份文档极适合于内核版本 2.0.30 和 线性(linear)/raid0 模式. Linux 日报(Linux Journal)(1998年六月或七月刊)中有一篇精采的介绍怎样实现 raid0(striping) 的文章. 它增强了我的兴趣. 
Linux 公报(LG) 中有另一篇文章, 也有所帮助: 
http://www.ssc.com/lg/issue17/raid.html 

你应该在 fsck -a 之前开始启动 raid 阵列, 在 Slackware 中它(fsck)通常 位于 /etc/rc.d/rc.s 文件中, 而在 /etc/rc.d/rc.0 和 rc.6 中停止 raid 阵列. (BTW: 既然在 slackware 中这两个文件相同, 我们能不能做一个软联结, 然后只需 修改一个?) 

为了检查它是否工作, 敲入 cat /proc/mdstat, 它(输出的信息)将指示 md 设备的情况. (/dev/md0 raid0 using /dev/sda1 and /dev/sdb1). 

测试, 测试, 再测试你的 raid. 关机, 上电, 看看它是否如你所愿地工作. 

我曾做过有趣的拷贝, 使用 cp -rap 开关将全部目录结构拷入 raid 阵列中. (测试完成)然后修改 /etc/fstab 以包括新的驱动器(指 raid). 

来源:https://www.tulaoshi.com/n/20160129/1509419.html

延伸阅读
标签: 电脑入门
通常我们都使用命令查看Linux系统中挂载的磁盘,其实除了这种方法外,还有很多方法能够查看Linux挂载磁盘,下面图老师小编就给大家介绍下Linux中如何查看挂载磁盘。 第一种方法:使用df命令,例如: 代码如下: orientalson:/home # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 15213032 8043668 7169364 53%...
  本文介绍了在Redhat 7.3.8.0 9.0访问NTFS磁盘的完全解决方法,文中介绍的是的最为简单的解决办法。 下载RPM 主站: http://linux-ntfs.sourceforge.net/info/redhat.html 第二站: http://fr2.rpmfind.net/linux/rpm2ht...ery=kernel-ntfs 如果上面的链接下的RPM包不能用。就下面的地址来找。 ...
标签: 电脑入门
为了测试Linux磁盘的读写速度,可使用dd命令,dd命令是一个非常使用的命令,可用于文件的拷贝,下面图老师小编就给大家介绍了如何使用dd命令测试Linux磁盘的读写速度吧。 1、先熟悉两个特殊的设备: (1)/dev/null:回收站、无底洞。 (2)/dev/zero:产生字符。 2、测试磁盘写能力 代码如下: time dd if=/dev/zero of=/testw.d...
标签: 电脑入门
想要使用RAID安装系统就需要先安装raid驱动,可是找不到raid驱动该怎么办,又该如何加载raid驱动呢?下面图老师小编就给大家介绍下Linux如何加载raid驱动,一起来了解下吧。 加载raid驱动步骤: 1、光盘启动进入安装界面,在boot:后面输入linux dd按回车 2、如果驱动不正确则提示:Failed to mount drive disk 如果驱动正确则提示加...
标签: 服务器
组RAID0阵列 提示Error Occurred(0) ! 今天服务器提示错误,Error Occurred(0) ,通过下面的方法解决了,特分享下,方便需要的朋友 P45主板,南桥是ICH10R,,5个西数WD3202ABYS-01B7A0硬盘组的RAID0,只用了几个星期左右,就出现关机时系统卡死,重启后到RAID画面那里,显示5个硬盘里其中有一个红色的提示:Error  Occurred(0) &...