我有一块带有 4 个 SATA 端口的 NVidia ION 主板,想用它来运行 Linux 服务器 (CentOS 5.4)。我首先连接了 3 个硬盘 (将组成 RAID5 阵列) 和第四个小型启动硬盘。
我首先开始使用板载 RAID 功能,但它在 Linux 下无法正常工作:RAID 容量不是真正的 RAID,而是使用 lvm 来定义一些阵列。
将 BIOS 重新设置为正常 SATA 模式并刷新 HD 后,第一个启动硬盘 (/dev/sda) 在挂载前显示为 /dev/sda,挂载后显示为 /dev/mapper/nvidia_。CentOS 无法在其上安装(grub 也无法在其上安装)。
因此,不知何故,硬盘仍然被视为属于某个 lvm 卷。我尝试通过发出几个dd if=/dev/zero of=/dev/sda
命令来清除起始磁柱和最终磁柱,以清除硬盘,但无济于事。
有谁见过这个问题并且找到解决方案吗?
更新
当我在第一个 HD(/dev/mapper/nvidia_...)上仅创建一个 ext3 分区时,没有看到 LVM 分区,并且我可以从 /dev/mapper/nvidia_... 启动。现在,下一步是看看如何摆脱这种愚蠢的行为。
答案1
我认为你的问题更多是与dmraid
我认为你的问题与 LVM这张纸条关于类似的问题)。
dmraid
是 Linux fakeRAID 工具。它和 LVM(以及 MD RAID,Linux 的软件 RAID 工具)使用/dev/映射器设备,但据我所知,LVM 需要磁盘上有一个标准分区作为物理卷 (PV) 来使用。 /dev/mapper/nvidia_*可能指的是 NVidia 芯片组上的 fakeRAID 设置(使用SATA 接口内核模块)。
根据这一理论,发生的事情是您的内核正在检测驱动器上是否存在旧 RAID 元数据,并自动配置设备映射器(通过dmraid
)以使用它们。如果是 LVM,我认为您可以使用 来判断fdisk -l /dev/sda
。
如果你的目标是回到平凡的生活/dev/sda风格的磁盘访问,您需要:
验证 DMraid 或 LVM 是否正在使用。
- DMraid:尝试
dmraid -s
或dmraid -r
- LVM:尝试
pvscan
或vgscan
(?) - 您还应该尝试
dmsetup ls
直接查询设备映射器。
- DMraid:尝试
如果其中一个正在使用,请使用这些配置工具将其删除。
- DMraid:不确定。您可以使用 停用 RAID 集,
dmraid -an
但这可能还不够。手册页建议dmraid -r -E
可以擦除元数据,因此这可能是必要的。 - LVM:
pvremove
或vgremove
(或两者) - 您可能还需要运行
dmsetup remove
或dmsetup remove_all
从设备映射器驱动程序中删除设备。
- DMraid:不确定。您可以使用 停用 RAID 集,
??
简而言之,您可能需要使用dmraid
和dmsetup
各种 LVM 命令来查看为什么您的系统坚持激活设备映射器。 lsmod
可能有助于识别正在使用的内核模块,以便您可以在必要时关闭它们。
也可以看看:
dmraid(8)
和dmsetup(8)
手册页- 看这条信息了解 RAID 和 LVM/dev/映射器设备。虽然不太相关,但背景很好,并且展示了现实世界中的使用分布式阵列命令。