我正在尝试在已经有 2 个旧硬盘的服务器上创建一个新的存储库,并设置了硬件 RAID 1。这是我第一次在 Xen Server 环境中执行此操作,因此我要格外小心,不要弄乱任何东西或丢失旧硬盘上的数据。
这台机器上有 4 个 3TB 硬盘,因此使用 raid one 我将拥有 6TB
我已将两个新硬盘插入计算机,进入 bios 的 Raid 控制器,创建一个新的虚拟磁盘(再次为 RAID 1),现在我准备在其上创建一个文件系统并将其安装在 Citrix Xen Server 中
首先我想知道设备名称是什么,是 sda、sdb 还是 sdc
当我运行 fdisk -l 查看当前可用的驱动器时,我看到以下内容:
fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 128.8 GB, 128849018880 bytes
256 heads, 63 sectors/track, 15603 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 15604 125829119+ ee EFI GPT
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdb: 2871.1 GB, 2871185637376 bytes
255 heads, 63 sectors/track, 349068 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 3000.0 GB, 3000034656256 bytes
255 heads, 63 sectors/track, 364733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
我的理解是,当你执行 RAID 1 时,你的硬盘将在你的操作系统中显示为 1 个磁盘,因为我在安装前两个硬盘之后才将新硬盘添加到驱动器中,所以我猜设备名称是 /dev/sdc
我在旧硬盘上有数据,我也按照此处的说明查看了 /proc/partitions: http://support.citrix.com/article/CTX121313
看看发生了什么,好像 sda 上有三个分区,而 sdc 尚未分区。
cat /proc/partitions
major minor #blocks name
7 0 51240 loop0
8 0 125829120 sda
8 1 4193297 sda1
8 2 4193297 sda2
8 3 117439471 sda3
8 16 2803892224 sdb
8 32 2929721344 sdc
252 0 4096 dm-0
252 1 472788992 dm-1
253 0 471859200 tda
252 2 1050632192 dm-2
253 1 1048576000 tdb
252 3 262664192 dm-3
253 2 262144000 tdc
这里奇怪的东西是 sdb,它是什么以及它为什么在那里?
我还根据上述文章运行了以下命令,
ll /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Aug 16 17:51 scsi-36d4ae520990df60017886b6c20ec8db9 -> ../../sda
lrwxrwxrwx 1 root root 10 Aug 16 17:51 scsi-36d4ae520990df60017886b6c20ec8db9-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug 16 17:51 scsi-36d4ae520990df60017886b6c20ec8db9-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug 16 17:51 scsi-36d4ae520990df60017886b6c20ec8db9-part3 -> ../../sda3
lrwxrwxrwx 1 root root 9 Aug 16 17:51 scsi-36d4ae520990df60017886b87228bff90 -> ../../sdb
lrwxrwxrwx 1 root root 9 Aug 16 17:51 scsi-36d4ae520990df60017bed45f1c50e9f5 -> ../../sdc
我仍然看到 sdb 和 sdc
我很困惑,我希望看到的是 sda(已在使用中)和 sdb(新安装的磁盘),但我还看到了 sdc。
这是否意味着 RAID 1 无法正常运行?
答案1
您看到的是连接到您机器的基础磁盘。sda 和 sdb 是旧的,sdc 是新的。这是正常的。
但是,您使用的是来自主板控制器的 fakeRAID,该控制器不会自行创建硬件抽象。相反,它提供了一个接口,允许驱动程序(安装在操作系统上)管理 RAID。这具有软件 RAID 的所有缺点以及硬件 RAID 的所有缺点。
因此,您将看到机器中的所有磁盘。但是,主板的 fakeRAID 驱动程序(如果已安装并运行)将创建可寻址的 RAID 抽象在之上基础磁盘。因此,虽然您可以看到 sda 和 sdb,但您不应该直接使用它们。您应该使用 RAID 抽象,它将显示为另一个名称的块设备(例如 /dev/disk/intr0)。
但是,我没有看到任何证据表明已经创建了此 RAID 抽象。几乎可以肯定,虽然您在 BIOS 中设置了 RAID,但您没有安装必要的驱动程序来实际执行该编排。结果是它什么也不做(并且您将 /dev/sda 用作单个磁盘)。据我所知,您实际上并没有运行 RAID。而且您确实提供了足够的信息来确定这一点。
Sdb 是空白的,因为它没有与 sda 镜像。Sdc 是新的。我建议您不再使用主板 fakeRAID,而是使用软件 RAID。硬件 RAID 控制器非常脆弱,它们的流行是因为 Windows 直到最近才拥有合适的软件 RAID 系统。Linux 软件 RAID 几乎在任何一天都胜过硬件控制器,而且已经持续了很长时间。
虽然 Linux MD RAID 未包含在 XenServer 5.6 及更高版本中,但您确实拥有 LVM RAID(它获得了更多支持)。您可以将驱动器添加到卷组(或存储池或磁盘组,有些人会这样称呼它),然后创建逻辑卷(基本上是分区),每个逻辑卷在分配和读取该卷组中任意数量的磁盘时都有自己的 RAID 策略。这是实现 RAID 的好方法,甚至比使用 MD 更容易。
除此之外,我现在才意识到这个问题是二十年前提出的,但我拒绝撤销所有这些输入。理想情况下,这些文字可以帮助人们解决他们的 fakeRAID/软件 RAID 问题。使用 LVM。利润。它现在甚至是软件 RAID 默认设置。
答案2
您拥有哪种主板 RAID 控制器?我个人的意见是永远不要在消费级主板上使用 RAID。这是因为如果您的主板在 4 年内坏了,您将很难找到可以接受 RAID 的替换主板。我建议您降级到 XenServer 5.5,这是支持 mdadm 的最高版本。不要尝试 5.6,它看起来可以正常工作,但中等磁盘活动会冻结整个 XenServer。使用 mdadm 在软件中设置您的 RAID1,并在其上创建 SR。有一些指南,但我手边没有。如果您需要更多指导,请发帖。