我正在使用 ArchLinux 运行 Linux 服务器,主要是为了满足我自己的开发需求。
它在 SW-RAID1 上运行 Arch Linux。有两个磁盘驱动器 sda 和 sdb,每个驱动器有 3 个分区 sda1-sda3、sdb1-3。
SDA1+SDB1 和 SDA2+SDB2 是使用 dmraid / mdadm 的 SW-RAID1。
系统正确检测到 /dev/md0 和 /dev/md1 并将从 /dev/md0 启动
/dev/md1 上有 4 个使用 LVM 创建的逻辑卷:
- /dev/mapper/vg0-root 映射到 /
- /dev/mapper/vg0-var 映射到 /var
- /dev/mapper/vg0-home 映射到 /home
- /dev/mapper/vg0-swap 映射到 /swap
显然,启动设备不在 LVM 中:
- /dev/md0 映射到 /boot
或者我应该说应该映射到其中一个。因为在启动时我的系统无法找到 vg0-root 设备。其他任何设备也找不到。
/dev/mapper/control 是 /dev/mapper 中的唯一项目
启动时我收到以下消息:
starting device 238
ERROR: device '/dev/mapper/vg0-root' not found. Skipping fsck.
mount: /new_root: no filesystem type specified.
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs ]#
我可以通过运行 lvm 工具然后激活卷组来修复该问题,但默认情况下它似乎会失败。
当我启动救援系统(PXE 启动的最小 Debian 系统)时,该系统也无法自动映射卷组。(即 LVM 卷在 /dev/mapper 中不可用)
我的 mkinitcpio.conf 中有以下 HOOKS 行:
HOOKS=(base udev autodetect modconf block mdadm_udev lvm2 filesystems keyboard fsck)
这是我的 /etc/default/grub 中的预加载行:
GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm mdraid09 mdraid1x"
有人知道我需要配置什么才能默认激活卷组吗?