荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Lg (创造人生的传奇), 信区: Linux
标  题: MD简介[Fwd]
发信站: BBS 荔园晨风站 (Fri Jan 15 23:37:29 1999), 站内信件

【 以下文字转载自 Lg 的信箱 】
【 原文由 liugang.bbs@melon.gznet.edu.cn 所发表 】
发信人: jbru (拣尽寒枝不肯栖), 信区: Unix
标  题: MD简介[Fwd]
发信站: 华南网木棉站 (Thu Nov 26 18:21:03 1998), 转信



什麽是 MD ?



------------------------------------------------------------------------
MD 就是指 Multiple Devices,意思是把一些不 在同一颗 HD 上的 partitions 集合在一
起,变成一个大的合体,原理很像我 们常听说的 RAID,但这个 (md) 是由 kernel 去做
(一般常见而言,RAID 是由 Controller 自行处理,如 DPT SmartRAID 系列,或
IFT-3000 等高阶
Controller),所以在效能上自然输了不少。但它的好处是,用 linear 或 RAID 0 时,可
以混用 IDE 及 SCSI HD 上的 partitions。


------------------------------------------------------------------------




如何使用 MD ?


? Step 1: 准备工作

暟涯愕? kernel 改为大於 1.3.69 的版本, compile 支援 MD 吧. 暼プ? md035.tar.gz,
这是做 md volumn group 的程式. 暟焉厦娼驳亩? compile 好并 install 完成; 在
make install 时会同时 帮你把 /dev/md0 ~ /dev/md3 做好, 这点不必麻烦自己手动跑
mknod 了. 曉?
/etc/rc.d/rc.S 的开头中加入一行:
/sbin/mdadd -ar
它要比 swapon 等和 filesystem 有关者更早执行的, 因为也许你的 swap 或 /usr 就是建
在某个 md device 上. 但它必需在 kerneld 之後执行 ( 如果你有用到 kerneld +
modules 的话)

? Step 2: 开始了

暱悸且幌履阋涯男? partitions 兜在一起,而且要了解一件事: 把同一颗 HD 上的
partitions 搞在一起,反而会变慢而且又操硬碟! 暫?, 例如我打算把 /dev/sda1,
/dev/sdb1, /dev/sdc1 做成一个 /dev/md0, 参数我们选 RAID0,chuck size 是 8Kbytes
, 那就执行:
mdcreate -c8k raid0 /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1
如此就完成了 /etc/mdtab 中的设定 (并计算出一个 crc32 的检查码).
注意! 那个 /dev/sda1 /dev/sdb1..... 的顺序很重要,将来可以照此顺序重建 (如果你的
 HD 顺序变了,例如中间多加了一颗 HD......) /etc/mdtab 而不必 重建其内容。至於那
个 -c8k 的参数 (chuck size=8kbytes) 请参考 md 内附的说明文件。这个参数是
pagesize (在 x86
上应都是 4k) 乘 上 2 的 N 次方 (例如 0,1,2,4,8),所以应为 4k、8k、16k、
32k...... 等值中选一个来用,我不多讲了,请自己用功一点...... 曉倮次颐? cat 一下
/proc/mdstat 看看,如果还没跑 mdadd -ar 的话,应该 看到这样:




Personalities : [1 linear] [2 raid0]

read_ahead not set

md0 : inactive

md1 : inactive

md2 : inactive

md3 : inactive




因为你尚未 reboot 过,所以 mdcreate 完後, 也尚未跑 /etc/rc.d/rc.S 去 执行那个
mdadd -ar。 OK,那就手动执行一下 mdadd -ar 吧,然後再 cat 一次 /proc/mdstat 看看
,应该是像这样的:




Personalities : [1 linear] [2 raid0]

read_ahead xxx sectors

md0 : active raid0 sda1 sdb1 sdc1 xxxxxx blocks 8k chunks

md1 : inactive

md2 : inactive

md3 : inactive






其中那些 xxxxx 是我这儿的数字,也许您的就不同了 (那个 read_ahead 不一定 有值,也
许还是 not set 而已) 曋链耍丫梢允褂? /dev/md0 来玩了。例如要准备当 swap,
那就执行 mkswap /dev/md0。或许您要当 ext2 fs,那就执行 mke2fs /dev/md0。
再来就看您的用途罗...... 暽杏? mdstop、mdrun 那些程式,请自行研究好吗?

? Step 3: 测试报告

曃乙丫诹娇藕芾糜趾芫傻? IBM 330MB 老 HD 上 (它的速度只有 3600rpm, internal
transfer rate 约 1.x MB/s,而且 SCSI bus 的速度会变成 5MB/s) ,做了一个 100MB 的
 swap 在 /dev/md0 上,及一个 512MB 的 ext2 fs 在 /dev/md1 上,准备要 mount 在
/usr 上使用
(很冒险吧?)。 於是, 我先 mount -t ext2 /dev/md1 /mnt 後, 把所有的 /usr/* 拷贝
到 /mnt 下,再清空 /usr/* (或是 先 mv /usr /usr1 再 mkdir 一个空的 /usr 子目录)
。然後改一下 /etc/fstab 加入:




/dev/md0 swap swap default 1 1

/dev/md1 /usr ext2 default 1 1




然後 reboot 我的机器 (因为很多 daemon 都用了旧的 /usr/sbin/ 中的东西) 曕牛?
reboot 中,我看到它真的在 e2fsck /dev/md1 唷,而且成功地 mount 在 /usr 下,而且
swap 也加入了。这时我看了看 /proc/mdstat:




Personalities : [1 linear] [2 raid0]

read_ahead 120 sectors

md0 : active raid0 sdb1 sdc1 100320 blocks 4k chunks

md1 : active raid0 sdb2 sdc2 524288 blocks 8k chunks

md2 : inactive

md3 : inactive




看起来不错的样子,也没问题。 曉倮淳褪峭? compile kernel 看看罗。在
/usr/src/linux 我花了一些 时间 make xxxxx, 觉得这个速度不输给比它快了两倍多的
Quantum Lightning 系列耶。 暱? X-window 也跑得很顺。 晄wap 我也在观察, 也很顺。
 曉倮矗腋懔艘徽泻菡?:




# cd /usr

# find -type f -name "*" -exec cat {} > /dev/null \;




意思是把所有的 /usr 下的档案都 cat 到 /dev/null 去,狠狠地 操这个 /dev/md1。 结
果很不错, 220MB 的资料在 14 分钟内就解决了。
不过,我碰到了个问题。因为其中有一颗 HD 不太稳,在尔後我一直跑这个 操死硬碟的指
令时,就一直卡在某个有问题的 (读不出来) 的档案上。於是 在砍掉那些档案後,就十分
顺利了。我会再验证这个问题的。 暫茫钺嵛曳⑾忠患拢痪褪侨绻前讯骺饺? md 的
 volumn
的话,是没 有问题,而且也读得很正常。一但在其上开始工作 (例如 compile something)
 的话,之後就无法把一些新增的档案拷至其他 filesystem,cp 指令 (或是 cat,或是其
他读它的指令都会) 将『死得很难看』变成 dead process。 这是我後来使用『完全正常』
的两颗 540MB
的硬碟测试之後的结论。 而且,如果使用 (例) mke2fs -c /dev/md1 的话,在 test 完後
会出现一个 'Unknown md_iotcl 11' 的讯息。显然这个 md-0.34 版有待改进。

无论如何,这个 md 的美意,大家都很欣赏吧?所以我花了功夫写下使用过程、 心得及建
议。当然,我现在不鼓励大家使用它,原因 (或说现象吧) 你也看得 很清楚了 (如果我写
得不算乱的话),总之就是大家再观察一阵子,相信好的东 西及概念将会早日带给大家更便
利的功能的。






------------------------------------------------------------------------


--
※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.38.212.69]
--
※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: linux.szu.edu.cn]
--
※ 转载:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 210.39.0.80]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店