免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 693 | 回复: 2
打印 上一主题 下一主题

在liunx下构建磁盘阵列(下篇) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-21 09:36 |只看该作者 |倒序浏览
RAID1 基于内核 2.0.35

  若想使用 raid1, 4 或 5, 你必须为内核打一个补丁, 它位于
ftp://ftp.kernel.org/pub/linux/daemons/raid/alpha/raid0145-19981005-c-2.0.35.tz。

  拷贝到 /usr/src directory, 将补丁解压缩:

  tar -zxvf raid0145-19981005-c-2.0.35.tz

  注意补丁将搜索 /usr/src/linux-2.0.35 目录. 如果你将 2.0.35 的源码安装在目录 /usr/src/linux 下, 你需要mv /usr/src/linux /usr/src/linux-2.0.35, 然后做一个符号联结 ln -s /usr/src/linux-2.0.35 /usr/src/linux
为了使用这个补丁, 进入目录 /usr/src:

  patch -p0 (在我的系统中有些地方小写的 c 会变成大写的 C 吗? 也许在解压后?)

  你现在可以去重新编译内核. 当你选择多设备(选项)时, 你将看到有选择 raid1,4和5. 依次步骤是

  make menuconfig (or config or xconfig)
  make clean
  make dep
  make zImage
  make modules (如果你使用了模块)
  make modules_install

将新内核拷到你系统中适当的地方(/ 或 /boot). 我建议你同时拥有一个无 raid 的内核 和一个有 raid 的内核. 你能够通过修改 lilo.conf 来确定使用那一个内核启动. 这根本 不困难, 尽管初看起来有些恐怖. 查看 /usr/lib/lilo 的例子和文档. (译者注: 可能为 Slackware 中的目录, Redhat5.1 中无)

  查看 dmesg | more 的输出内容确定 md 驱动器已经装载, raid0 & 1 已经注册. 敲入 cat /proc/mdstat 看看你是否有了新的 md 驱动器. 你应该看到 16个 md 驱动器而不是 4 个.

  你将必须升级你的 raidtools. mdadd, /etc/mdtab 和 mdcreate 是旧的, 新工具应该是 raidstart, /etc/raidtab 和 mkraid. 从这一点上来说, (当前的)文档的确是过时了.ftp://ftp.kernel.org/pub/linux/daemons/raid/alpha/raidtools-19981005-B-0.90.tar.gz

  下载到/usr/local/src 然后

   tar -zxvf raidtools-19981005-B-0.90.tar.gz
  这将产生一个新目录 /usr/local/src/raidtools-0.90. 进入这个目录作 ../configure

  又一次, 我记不起是否该接着做 make 和 make install.

  一个较简单的方式完成内核 2.0.35 下的 RAID0
使用两个 scsi 设备 /dev/sda1 和 /dev/sdb1 完成一个 raid0 阵列的步骤:

  将 /dev/sda1 和 /dev/sdb1 分区, 让他们有相同的块大小.

  将分区的类型设为 0xfd. 这是用来让新内核在启动时自动识别 raid.

  按下面例子修改 /etc/raidtab 文件(随 raidtools 提供的例子缺少一些重要的信息):

# Striping example
  # /dev/md0 using /dev/sda1 and /dev/sdb1

  raiddev /dev/md0
  raid-level 0
  nr-raid-disks 2
  persistent-superblocks 1
  nr-spare-disks 0
  chunk-size 32
  device /dev/sda1
  raid-disk 0
  device /dev/sdb1
  raid-disk 1

  敲入 mkraid -f /dev/md0 一定注意 - 阅读错误信息, 明确方向! cat /proc/mdstat 检查输出信息, 确定 md 设备是否正确地做好. 使用 mke2fs -c /dev/md0 格式化新 raid 设备. 产生一个安装目录(例如 /raidtest)以测试它是否工作.

  mount /dev/md0 /raidtest

  看你是否能将一个文件拷贝到 /raidtest. 如果你的硬盘设备有各自独立的 LED 灯 , 你能够看到两个设备都在工作.

  重启动, 检查内核是否自动将 raid 设备 md0 关闭. 会有一些信息滚过屏幕. (有谁知道如何使用 "dmesg" 读取关机信息?)

  检查重启动过程中计算机是否自动识别 raid 设备和 /dev/md0 是否作为一个 raid0 阵列. 如果不是, 检查前几个步骤, 特别是步骤2和步骤4.

基于内核 2.0.35 RAID1 的新方式

  使用两个 raid0(striping)设备构造一个 raid1 阵列 /dev/md2 的步骤如下, 两个 raid0 设备为 /dev/md0 (/dev/sda1 + /dev/sdb1) 和 /dev/md1 (/dev/sdc1 + /dev/sdd1):

  按照上面(建立 raid0 的)步骤建立 /dev/md0 和 /dv/md1. 重要信息: 你不能安装或者在 /dev/md0 和 /dev/md1 上建立文件系统. 这只是测试 raid0 是否工作!

  按照下面例子修改 /etc/raidtab 文件(随 raidtools 提供的例子缺少一些重要信息):
  # Striping example
  # /dev/md0 using /dev/sda1 and /dev/sdb1

  raiddev /dev/md0
  raid-level 0
  nr-raid-disks 2
  persistent-superblocks 1
  nr-spare-disks 0
  chunk-size 32
  device /dev/sda1
  raid-disk 0
  device /dev/sdb1
  raid-disk 1

# /dev/md1 using /dev/sdc1 and /dev/sdd1

  raiddev /dev/md1
  raid-level 0
  nr-raid-disks 2
  persistent-superblocks 1
  nr-spare-disks 0
  chunk-size 32
  device /dev/sdc1
  raid-disk 0
  device /dev/sdd1
  raid-disk 1

  # Mirror example
  # /dev/md2 using /dev/md0 and /dev/md1

  raiddev /dev/md2
  raid-level 1
  nr-raid-disks 2
  persistent-superblocks 1
  nr-spare-disks 0
  chunk-size 32
  device /dev/md0
  raid-disk 0
  device /dev/md1
  raid-disk 1

  敲入 "mkraid -f /dev/md2" 重要信息 - 阅读错误信息, 明确方向! 这一步 要化一段时间, 因为磁盘要进行同步(超过 39 分钟).

  cat /proc/mdstat 查看是否 md 设备正确地完成.

  使用 mke2fs -c /dev/md2 格式化新 raid 设备

  产生安装目录(例如 /raidtest_mirror)

  mount /dev/md0 /raidtest

  看你是否能够将文件拷到 /raidtest 中. 如果你的硬盘有各自独立的 LED 灯, 你可以发现它们在同时工作.

加 raidstart /dev/md2 到你的 /etc/rc.d/rc.s 文件中, 注意在 fsck -a 之前. 一个好位置是正在 swapon -a 之后. 目前, 内核不能自动识别 raid1. 下一个补丁将完成它(自动识别).

  修改 /etc/fstab 将 /dev/md2 安装到 /raidtest.

  /dev/md2 /raidtest ext2 defaults 1 1

  重启动, 看内核是否自动关闭设备 md0, md1 和 md2. 会有一些信息滚过屏幕. (有谁知道如何使用 "dmesg" 查看关机信息?)

  检查在重启动过程中内核是否自动识别出 raid 设备 /dev/md0 和 /dev/md1 全部启动作为 raid0 阵列. 检查 /dev/md2 设备是否为一个 raid1 阵列.

  cat /proc/mdstat 查看是否 md 设备正确建立.

  你应该有 基于 raid0 的 raid1 阵列在运行.

  如果你遇到问题, 这里有一些其他资源可以参考:

  linux raid 档案: http://www.linuxhq.com/lnxlists/linux-raid/

  发一条新闻到 comp.os.linux.setup

  搜索 www.dejanews.com - 过去 5 年来新闻组消息的归档站点.

  如果你完全不知如何是好了, 向 Linux RAID 邮件列表发 e-mail. 询问问题, e-mail linux-raid@vger.rutgers.edu

  参加内核 RAID 列表, e-mail majordomo@vger.rutgers.edu 在信体中写 subscribe linux-raid

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
2 [报告]
发表于 2003-02-21 11:30 |只看该作者

在liunx下构建磁盘阵列(下篇)

说实在的,实在没有必要用SOFTRAID了,为了方便也应该用LVM.
用RAID都是生产系统,一块硬件RAID 卡不过2-3K,性能比用CPU的好多了。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-02-21 13:02 |只看该作者

在liunx下构建磁盘阵列(下篇)

不是吧,我觉得软件raid性能不比硬件raid查多少吖.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP