LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: linux_pro

安装BUG! RAID模式下。有意RAID的兄弟进

[复制链接]
 楼主| 发表于 2009-12-16 09:02:24 | 显示全部楼层
Post by 糊涂;2056184
不管软还是硬RAID,只要你驱动程序(核心模块)加载了就不应该有任何问题。否则全世界那么多服务器都别装Linux了?
主板(芯片组)集成的HostRAID,linux kernel没带相应的驱动模块是比较常见的。找找有没有,试试手工加载支持RAID设备的核心模块。
另外,我可以99.9999999%肯定这不是什么Bug


我后面补充了,这个应该不算BUG,是安装规矩的问题。
请仔细看帖嘛兄弟。


你如果有条件,做个测试,那么就是用主板的 RAID功能,把两个硬盘RAID(不管是RAID0还是RAID 0+1.。。。等等),不在附加其他硬盘,请测试能否正常安装GRUB。
3X

BTW:SUSE是有驱动的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-16 09:09:22 | 显示全部楼层
Post by andycrusoe;2056198
这个硬raid是由bios驱动的还是由linux内核驱动的?软raid由内核驱动,硬raid也需要内核支持么?
对raid了解不多,只有一块硬盘,使用lvm


我的主板自带RAID控制器。
硬RAID绝对需要kernel支持。
软RAID只是需要系统软件支持。
回复 支持 反对

使用道具 举报

发表于 2009-12-16 09:33:49 | 显示全部楼层
需要内核支持那么在加载内核前不能读取raid中的数据,/boot就需要单独分出来
11楼说的测试能否安装grub不清楚,但是这样以后系统启动都有问题。分析系统启动顺序得出的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-16 11:21:38 | 显示全部楼层
如果grub都没有,你如何引导呢?
/boot分区倒是无所谓分不分出来,
关键是grub要能引导阿!

你在分区保存的时候,suse会提示你的。
回复 支持 反对

使用道具 举报

发表于 2009-12-16 13:41:37 | 显示全部楼层
grub能识别raid么?似乎不能吧
在grub启动过程中需要/boot/grub中的文件,对grub0.97来说,在grub加载内核后才能读取raid数据的。所以,/boot是需要单独分出来的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-16 18:34:03 | 显示全部楼层
Post by andycrusoe;2056302
grub能识别raid么?似乎不能吧
在grub启动过程中需要/boot/grub中的文件,对grub0.97来说,在grub加载内核后才能读取raid数据的。所以,/boot是需要单独分出来的





SUSE看到我的硬盘是一块。

看到两块硬盘的是 BIOS中设置,SUSE看到的是一个被RAID过了硬盘,
所以,/boot是根本无法独立于RAID之外的。
回复 支持 反对

使用道具 举报

发表于 2009-12-16 19:42:44 | 显示全部楼层
BIOS程序在BIOS数据区建立可用磁盘设备的清单及其引导顺序,在POST的最后一步,BIOS把引导顺序表中第一个可引导设备的物理第一扇区内容读入内存一个固定的位置,下一步CPU就从这个固定位置开始取指并执行;这第一扇区的内容最主要就是Grub引导代码和磁盘分区表。
这也就是说:Grub是被BIOS装入内存的。如果BIOS不能识别(或有意设计成不去识别)某些磁盘,那么那个磁盘上的Grub是没办法被装入内存的。
换句话说:只要Grub能被装入内存,那么Grub所在的那个磁盘设备的物理访问信息就已经由BIOS程序装入到BIOS数据区了,也就是说,BIOS已经建立了Grub能够看到的hd0、hd1等等设备信息了。
Grub所需要的磁盘信息与Kernel所需要的应该是不一样的并且是处于不同层次的,Grub所要读取的信息更底层一些(我的猜测),这些信息是BIOS提供的。Kernel所需读取的信息要由kernel module提供。
Grub并不去负责识别RAID。
除非kernel module出问题(不存在或不兼容)使得kernel不能访问磁盘,否则/boot是没必要非得单独分出来的。
回复 支持 反对

使用道具 举报

发表于 2009-12-16 19:59:13 | 显示全部楼层
如果BIOS不能让你期望的那个硬盘(或RAID,或其他什么外存储设备)引导,而kernel又能够识别出那个设备,可以参见我不久前遇到的一个问题及解决方案:http://www.linuxsir.cn/bbs/thread360558.html
如果BIOS和Kernel都不能识别你期望的那个设备,那就要考虑升级BIOS以及查找设备驱动程序(第三方的Kernel module)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-16 21:55:02 | 显示全部楼层
Post by 糊涂;2056401
如果BIOS不能让你期望的那个硬盘(或RAID,或其他什么外存储设备)引导,而kernel又能够识别出那个设备,可以参见我不久前遇到的一个问题及解决方案:http://www.linuxsir.cn/bbs/thread360558.html
如果BIOS和Kernel都不能识别你期望的那个设备,那就要考虑升级BIOS以及查找设备驱动程序(第三方的Kernel module)。

楼上兄弟,仔细看我的帖子阿,仔细看你的帖子了,你的方法和我做引导的方法是一个道理.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-16 21:57:06 | 显示全部楼层
Post by 糊涂;2056396
BIOS程序在BIOS数据区建立可用磁盘设备的清单及其引导顺序,在POST的最后一步,BIOS把引导顺序表中第一个可引导设备的物理第一扇区内容读入内存一个固定的位置,下一步CPU就从这个固定位置开始取指并执行;这第一扇区的内容最主要就是Grub引导代码和磁盘分区表。
这也就是说:Grub是被BIOS装入内存的。如果BIOS不能识别(或有意设计成不去识别)某些磁盘,那么那个磁盘上的Grub是没办法被装入内存的。
换句话说:只要Grub能被装入内存,那么Grub所在的那个磁盘设备的物理访问信息就已经由BIOS程序装入到BIOS数据区了,也就是说,BIOS已经建立了Grub能够看到的hd0、hd1等等设备信息了。
Grub所需要的磁盘信息与Kernel所需要的应该是不一样的并且是处于不同层次的,Grub所要读取的信息更底层一些(我的猜测),这些信息是BIOS提供的。Kernel所需读取的信息要由kernel module提供。
Grub并不去负责识别RAID。
除非kernel module出问题(不存在或不兼容)使得kernel不能访问磁盘,否则/boot是没必要非得单独分出来的。

sorry,由于我RAID的层次较低,所以不应该称 我机器的硬RAID是 BIOS管控。
先忙点事情,空了来打字。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表