URN Logo
UNIX Resources » Linux » China Linux Forum » Linux 集群技术 » 12 » linux下的磁盘阵列(2)
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  TI专版
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
linux下的磁盘阵列(2)
Author: ttii    Posted: 2002-07-25 12:51    Length: 5,218 byte(s)
[Original] [Print] [Top]
  我使用一个 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).

  交换分区不需要分块操作. 当一个优先级启用时, 他们将自动这样做. 阅读 Software-RAID-mini-HOWTO 和傻瓜问题一段可知详情. 这出乎意料地简单.

现在应使用UPS!

  如果(运行中)掉电了, 你将失去你的 raid 和上面的所有数据! 你应该使用一个 UPS 后备电源. UPS 的作用是让你的系统在灯火管制或电源失败时能够保持运行一小段时间. UPS 能够在电源失败时通过一个串口通知你的系统. 在后台, 有一个精灵程序在运行监控这个串口. 当它被通知电源失败时, 它将在发出关机命令前等待一段预定时间 (通常是 5 分钟). 如此的工作原理是如果 5 分钟内还是无电, 那么将持续很长时间.
大多数 Linux 销售包带有基本的 UPS 电源精灵程序. 使用 "man powerd" 可以得到 更多信息. 这是一个简单的精灵程序, 它在 /etc/inittab 中. 从根本上来说, 一个 哑 UPS, 只是在串口保持一个接力联结. powerd 检测这个联结是否已经断掉. 一旦 联结断掉, 它将在预定时间后将 PC 关闭. 警告用户, 并且向 root 发一封邮件.

  我使用一台 APC 智能 UPS, 它通过串口通讯. 有一个称作 apcupsd 的卓越精灵如有 神助般地工作. 它在这儿. 请阅读布告, 赞同作者, 他完成了一项优异工作 (作者的光荣!). 安装工作如同魔法, 文档也十分优秀.http://www.dyer.vanderbilt.edu/server/apcupsd/

  RAID0 基于 2.0.31 to 2.0.34

  没有尝试过. 因为我直接从 2.0.30 升级到 2.0.35, 一个最新的稳定版本.RAID0 基于核心版本 2.0.35
mdtools 在我家中的机器上编译地很顺利(运行 2.0.30), 但在我的工作机上不能编译 (已经升级到 2.0.35). 我不断地得到一个关于 MD_Version (记不住确切的名称)没有定义的错误. 经过大量挠头的搜索, 我发现在 /usr/src/include/md.h 中有 md 驱动器 的版本号. 在版本 2.0.30 中, 它是 0.35; 而在 2.0.35 中它是 0.36. 如果你使用 "mdadd -V" 它将指示 mdadd 可以工作的 md 的版本号. 所以我取得了错误的 mdtools 版本. 这里是正确版本的位置: ftp://ftp.kernel.org/pub/linux/daemons/raid/raidtools-0.41.tar.gz

  下载到 /usr/local/src 然后

  tar -zxvf raidtools-0.41.tar.gz
  将生成一个新目录 /usr/local/src/raidtools-0.41
  进入新目录, 阅读 INSTALL 文件, 然后

  ../configure
  我记不清之后是否必须做 make 和 make install. 我不能复现 这一过程, 因为我已经为 raid 打了一个新补丁.

  你应该有一个新的 mkraid 和 mdadd 的运行文件(binary). 敲入 mdadd -V 以 检查是否你的运行码已经更新了. 它应该显示一些像 mdadd 0.3d compiled for raidtools-0.41的信息. 然后阅读 QuickStart.RAID 获得最新信息. 对于 raid0, 比以前版本没有多少改变.
----
老婆vsLinux
[Original] [Print] [Top]
« Previous thread
linux下的磁盘阵列(3)
Linux 集群技术
12
Next thread »
linux下的磁盘阵列(1)
     

Copyright © 2007~2009 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
webmaster: webmaster@unixresources.net
This page created on 2009-09-07 16:37:53, cost 0.0187020301819 ms.