所以我正在尝试安装最新版本的Ubuntu 服务器 11.10 64 位在我的服务器上(完全替换 Windows Server 2008)。
由于我需要更多的 Sata 端口,我购买了基于芯片组 SiI3114 的 PCI Sata RAID 控制器。
问题是,当我将阵列配置为 RAID 1 时,当安装程序到达我对磁盘进行分区的点时,RAID 阵列根本没有出现在列表中。
安装程序询问我是否要“激活串行 Ata RAID 设备”,我选择是,但没有列出任何内容。
如果我没有创建 RAID 1 阵列,而是创建 Raid 0 阵列,它将出现在对磁盘进行分区的列表中。
最后一部分是我不明白的,当它是 RAID 0 阵列时它会被识别,但如果它是 RAID 1 阵列则不会。
我读过 FakeRaid wikiUbuntu 维基,还有这篇文章:安装程序未找到 RAID 10
在 RAID 1 中运行,并在安装程序上执行 shell 并运行命令 dmraid -r,我得到:
/dev/sdb: sil, "sil_bhbgdfdcfdfc", mirror, ok, 976771072 sectors, data@ 0
/dev/sda: sil, "sil_bhbgdfdcfdfc", mirror, ok, 976771072 sectors, data@ 0
我认为看起来不错。
在 RAID 0 中,使用相同的命令,我得到:
/dev/sdb: sil, "sil_bhbgdfdcfdfc", stripe, ok, 976771072 sectors, data@ 0
/dev/sda: sil, "sil_bhbgdfdcfdfc", stripe, ok, 976771072 sectors, data@ 0
一切看起来都很好,我想,这是我第一次真正安装 Ubuntu Server,我在 VMPlayer 上安装了 4 或 5 次,看看一切如何运作。
如果我不配置阵列,磁盘识别没有任何问题,如果 PCI 卡没有被正确检测到,我认为它在任何情况下都不会显示连接到卡的任何磁盘。该卡还能够实现 RAID 5 和 RAID 10,但我还没有测试过,稍后当我到家时,我会看看安装程序是否检测到这些 RAID 阵列。
编辑:所以我回到家,又开始谷歌搜索,我发现这,因此我运行了命令 dmraid -ay:
ERROR: device-mapper target type "mirror" is not in the kernel.
RAID set "sil_bhbgdgaaaaba" was not activated.
然后我用谷歌搜索了这个错误,结果让我有点害怕,这,基本上我要做的就是重新编译具有镜像支持的内核,我无法重新编译内核,我根本没有这方面的知识。但我的意思是......
谁能给我一个不需要重新编译内核的解决方案?
第二次编辑:我刚刚下载并刻录了 Ubuntu Live CD,你猜怎么着?RAID 阵列被当场检测到(我目前正在 RAID 阵列中安装 Ubuntu)。现在我完全糊涂了,我以为 Ubuntu Server 是 Ubuntu 版本,但没有窗口管理器。
第三次编辑:刚刚保存了系统日志,以便显示更多信息:
Oct 24 22:46:43 anna-install: Installing dmraid-udeb
Oct 24 22:46:43 anna[10984]: DEBUG: retrieving dmraid-udeb 1.0.0.rc16-4.1ubuntu4
Oct 24 22:46:43 anna[10984]: DEBUG: retrieving libdmraid1.0.0.rc16-udeb 1.0.0.rc16-4.1ubuntu4
Oct 24 22:46:43 disk-detect: Serial ATA RAID disk(s) detected.
Oct 24 22:46:44 disk-detect: Enabling dmraid support.
Oct 24 22:46:44 kernel: [ 76.836245] device-mapper: table: 253:0: mirror: unknown target type
Oct 24 22:46:44 kernel: [ 76.836248] device-mapper: ioctl: error adding target to table
Oct 24 22:46:44 disk-detect: ERROR:
Oct 24 22:46:44 disk-detect: device-mapper target type "mirror" is not in the kernel
Oct 24 22:46:44 disk-detect:
Oct 24 22:46:44 disk-detect: RAID set "sil_bhbgdgdefacd" was not activated
Oct 24 22:46:44 udevd[9332]: inotify_add_watch(6, /dev/dm-0, 10) failed: No such file or directory
Oct 24 22:46:44 kernel: [ 76.931742] device-mapper: table: 253:0: mirror: unknown target type
Oct 24 22:46:44 kernel: [ 76.931745] device-mapper: ioctl: error adding target to table
Oct 24 22:46:44 disk-detect: ERROR:
Oct 24 22:46:44 disk-detect: device-mapper target type "mirror" is not in the kernel
Oct 24 22:46:44 disk-detect:
Oct 24 22:46:44 disk-detect: RAID set "sil_bhbgdgdefacd" was not activated
Oct 24 22:46:44 udevd[9332]: inotify_add_watch(6, /dev/dm-0, 10) failed: No such file or directory
谢谢
答案1
问题解决了,只需要我的葡萄牙智慧或“Desenrascanço”。这种不可思议的能力代代相传,只需一分钱和一根绳子就能解决任何问题。(我没有用一分钱和一根绳子解决问题,但你明白我的意思)。
解决方案如下:
- 将其中一个磁盘连接到主板,我们称之为来源今后。
- 安装 Ubuntu Server来源磁盘。
- 跑步sudo apt-get 更新
- 跑步sudo apt-get 升级
- 通过运行安装 dmraidsudo apt-get 安装 dmraid
- 将模块 dm-mod 和 dm-mirror 放入 /etc/modules 文件中,只需sudo nano /etc/modules
- 连接来源将磁盘连接到第一个 SATA 端口上的 PCI 卡,将另一个磁盘连接到任何其他端口
- 创建 RAID 1 阵列。然后使用 RAID 阵列启动计算机,计算机将会启动,因为其中一个磁盘是可启动的。
- 通过输入以下命令确认突袭正在运行:sudo dmraid -ay,应该会出现类似这样的内容:“*sil_bhbgdjddagcc:0 976771072 mirror core 2 131072 nosync 2 /dev/sdd 0 /dev/sde 0 1 handle_errors。*”
- 断开第二个磁盘(不是来源磁盘 )。
- 再次从阵列启动,并对任意文件进行更改。然后关机。
- 连接断开的驱动器并重建阵列。
- 等了好久...
...如果一切顺利,您的服务器上现在应该有一个正在运行的 RAID 1 阵列。
我如何检查 RAID 1 阵列是否正常工作?只需从连接到主板的每个驱动器单独启动,如果可以启动,则表示重建已正确完成。
检查重建是否正确完成后,您必须再次重建。完成此启动和重建后,您只需在使用 RAID 1 阵列时更改一个磁盘上的一个文件,然后关机,断开磁盘与阵列的连接。
然后分别从它们启动并检查您对该文件所做的更改是否在两个磁盘上,如果有更改,则表示 RAID 1 阵列正在运行。然后需要再次重建,系统即可使用。
为什么每次从一个或另一个启动时都必须重建阵列,因为每次服务器启动时磁盘上都会发生变化,这就是原因。
此解决方案不适用于其他类型的 RAID 阵列,RAID 5 应该不行,因为数据分散在磁盘上;RAID 10 也不行,因为数据被剥离并镜像;RAID 0 没有问题,因为它已被安装检测到。
答案2
我也是葡萄牙人,我有一个更好的解决方案:
- 安装 Ubuntu Server 11.04,它可以在 RAID 1 阵列上正常安装
do-release-upgrade
安装完成后执行。
几分钟后你的系统将运行 Ubuntu 11.10
答案3
1.)sudo lsmod
检查(dm_raid)模块是否已加载?
2.)sudo dmraid -tay
这两个命令都可以起作用吗(sudo dmraid -ay
)测试 raid 阵列?
3.)gedit /boot/grub/device.map
并添加
(hd0) /dev/sda
(hd1) /dev/sdb
4.)gedit /etc/fstab
注释掉(/dev/mapper/sil_biabadbhagdc1
)并(/dev/mapper/sil_biabadbhagdc5
)在这些行前面放置一个#。
像这样添加你的 UUID,你可以使用此命令获取你的 UUID(sudo blkid
)
我的看起来像这样:
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# /dev/mapper/sil_biabadbhagdc1
UUID="01331dc5-0c78-49ab-9cf5-655b645110d2 / ext4 errors=remount-ro 0 1
#/dev/mapper/sil_biabadbhagdc5
UUID="ea62296d-27ef-4b59-8206-e89d7a31a844 none swap sw 0 0
5.)sudo reboot
并检查您的日志文件,请记住不要在这些命令中使用 ()。我使用的是 raid0 和 SYBA PCI-X 4 端口 sata II Raid 卡。在带有两个 Seagate 320 驱动器的 Tyan 板上。这可能对您有用,也可能没用。祝您好运。