作者Gold740716 (项为之强)
看板Linux
标题[问题] root 放在 lvm raid 里无法开机
时间Fri Nov 20 20:32:26 2020
我不知道这样是不是可行的,
我猜可以,但碰到一点问题不上不下。
大概就是我把 root 和 home 都搬到 lvmraid(7) 里,
做成 raid 1 ,但发现开不了机。
开机时会跳出以下的错误讯息:
mdX: bitmap file is out of date (750 < 751) -- forcing full recovery
之後就卡很久,我会直接 ctrl-alt-del 重新开机。
我怀疑过是不是重开机太多次,把档案系统弄坏了,
所以用 live cd 开机。
开机後是看得到 lvmraid 的,跑 fsck -f 也没有出现错误。
然後我发现,从原系统关机後,
要用 live cd 跑一次 fsck -f 才能开机。
(fsck 不加 -f 选项没用。)
我怀疑过那则 bitmap file is out of date 是不是只是在做比较久的还原,
但应该不是,因为 fsck -f 後可以开机时,
开机讯息中也有同样的讯息。(用 dmesg 查的。)
我系统比较特别的地方,有 lvmraid 中,
root 用 raid 1 存在 ssd 和 hdd 二颗不同的硬碟上,
home 就是二颗 hdd 了。
我的 lvmraid 是用 lvconvert 从单纯的 lv 转成 raid1 的 lv 的,
再加上为了善用 ssd 读取速度,有把 hdd 上 raidwritemostly 选项。
lvconvert --type raid1 my-vg/my-root
lvchange --raidwritemostly /dev/sda1 my-vg/my-root # sda1 is hdd
--
因为她不知道,唯一值得她流泪的人,绝不会让她流泪。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.136.4 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1605875548.A.AB5.html
更新,不知道为什麽, fsck -f 不管用了。
但断电後拆或接上光碟机就能开机了。
还是我该把 lvmraid 关了……。
※ 编辑: Gold740716 (140.113.136.4 台湾), 11/20/2020 21:48:01
用虚拟机试,发现 lvmraid 是可以开机的,
不知道我系统有什麽地方改了所以不能开机。
※ 编辑: Gold740716 (140.113.136.4 台湾), 11/24/2020 19:02:00
後来拿家里一台老电脑装了 debian ,
一样对 root 做 raid1 ,也碰到相同的问题。
翻了一堆文章,发现 raid1 有一个放了五年
没人回报没人修的 bug 。
(虽然现在修好了, linux 4.9 後就正常了。)
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804629
回到原题,我在 slack overflow 上看到的解法是,
在 /etc/initramfs-tools/modules 里加入 raid1 与一连串可能会用到的模组,
再重新产生一次 initrd :
```
printf '%s\n' xor async_tx raid6_pq \
async_xor async_pq async_memcpy async_raid6_recov \
md_mod raid1 raid456 dm_raid dm_log dm_region_hash dm_mirror lvm \
>> /etc/initramfs-tools/modules
update-initramfs -k all -u
```
之前装了 lvm ,有检查过 initramfs :
`zcat /boot/initrd.img-4.19.0-14-amd64 | cpio -i --list` 。
但那时只有 raid456 ,没看到 raid1 ,
以为有 raid456 就可以了,结果可能因此不行。
※ 编辑: Gold740716 (1.164.105.219 台湾), 05/01/2021 16:52:02