首先,我对 Linux 比较陌生(但对 *nix 并不陌生)。我在以下 intel ahci bios 假 raid 阵列中组装了 4 个磁盘:
- 2x320GB RAID1 - 用于操作系统 md126
- 2x1TB RAID1-用于数据md125
我使用大小为 320GB 的 raid 来安装我的操作系统,而第二个 raid 在安装 Fedora 14 时我甚至没有选择。成功分区和安装 Fedora 后,我尝试使第二个阵列可用,可以使用 mdadm --assembe --scan 使其在 Linux 中可见,之后我在其中创建了一个最大大小的分区和 1 个最大大小的 ext4 文件系统。挂载并使用它。重启后 - 启动期间出现一些与 md125 有关的 I/O 错误 + 无法在其上挂载文件系统并进入修复 shell。我在 fstab 中注释了文件系统并启动了。令我惊讶的是,该阵列被标记为“自动只读”:
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md125 : active (auto-read-only) raid1 sdc[1] sdd[0]
976759808 blocks super external:/md127/0 [2/2] [UU]
md127 : inactive sdc[1](S) sdd[0](S)
4514 blocks super external:imsm
md126 : active raid1 sda[1] sdb[0]
312566784 blocks super external:/md1/0 [2/2] [UU]
md1 : inactive sdb[1](S) sda[0](S)
4514 blocks super external:imsm
unused devices: <none>
[root@localhost ~]#
并且其中的分区不能作为 /dev 中的设备特殊文件使用:
[root@localhost ~]# ls -l /dev/md125*
brw-rw---- 1 root disk 9, 125 Jan 6 15:50 /dev/md125
[root@localhost ~]#
但是根据 fdisk 显示分区是存在的:
[root@localhost ~]# fdisk -l /dev/md125
Disk /dev/md125: 1000.2 GB, 1000202043392 bytes
19 heads, 10 sectors/track, 10281682 cylinders, total 1953519616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1b238ea9
Device Boot Start End Blocks Id System
/dev/md125p1 2048 1953519615 976758784 83 Linux
[root@localhost ~]#
我尝试用不同的方法“激活”阵列(我对 mdadm 不熟悉,手册页很长,所以我只是浏览它以寻找答案),但这是不可能的 - 阵列仍然处于“自动只读”状态,并且分区的设备特殊文件不会在 /dev 中。只有在我通过 fdisk 重新创建分区后,它才会重新出现在 /dev 中... 直到下次重新启动。
所以,我的问题是 - 如何使阵列在重启后自动可用?
以下是一些附加信息:
首先我能够在 blkid 中看到数组的 UUID:
[root@localhost ~]# blkid
/dev/sdc: UUID="b9a1149f-ae11-4fc8-a600-0d77354dc42a" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdd: UUID="b9a1149f-ae11-4fc8-a600-0d77354dc42a" SEC_TYPE="ext2" TYPE="ext3"
/dev/md126p1: UUID="60C8D9A7C8D97C2A" TYPE="ntfs"
/dev/md126p2: UUID="3d1b38a3-b469-4b7c-b016-8abfb26a5d7d" TYPE="ext4"
/dev/md126p3: UUID="1Msqqr-AAF8-k0wi-VYnq-uWJU-y0OD-uIFBHL" TYPE="LVM2_member"
/dev/mapper/vg00-rootlv: LABEL="_Fedora-14-x86_6" UUID="34cc1cf5-6845-4489-8303-7a90c7663f0a" TYPE="ext4"
/dev/mapper/vg00-swaplv: UUID="4644d857-e13b-456c-ac03-6f26299c1046" TYPE="swap"
/dev/mapper/vg00-homelv: UUID="82bd58b2-edab-4b4b-aec4-b79595ecd0e3" TYPE="ext4"
/dev/mapper/vg00-varlv: UUID="1b001444-5fdd-41b6-a59a-9712ec6def33" TYPE="ext4"
/dev/mapper/vg00-tmplv: UUID="bf7d2459-2b35-4a1c-9b81-d4c4f24a9842" TYPE="ext4"
/dev/md125: UUID="b9a1149f-ae11-4fc8-a600-0d77354dc42a" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda: TYPE="isw_raid_member"
/dev/md125p1: UUID="420adfdd-6c4e-4552-93f0-2608938a4059" TYPE="ext4"
[root@localhost ~]#
答案1
阅读您的问题时,它让我想起我遇到过类似的问题,我可以解决该问题,fdisk
为每个设备运行并选择更改类型(t),然后选择 fd(linux raid 自动检测)和写入(w)。
我还必须将 raid(在我的情况下是 md3)添加到 /etc/mdadm.conf,但是在您的例子中它似乎已经存在。我执行此操作的方式是:
mdadm -Q --examine /dev/sdb1
然后从中检索 UUID 并使用:
mdadm -A -u 6f14c076:4b61f2e9:17138dff:69d83514 /dev/md3
这将检测 md3 配置并启动 raid
mdadm --examine --scan >>/etc/mdadm.conf
检测所有 4 个 md 设备并存储。
vi /etc/mdadm.conf
进行了修改以添加我的最后一行 md3
检查 pvs、vgs 和 lvs。