我正在从 LVM raid 设置两侧的坏扇区中恢复。(这是备份服务器,该死的)。我有新磁盘和新安装。我可以擦除备份分区并通过慢速链接吸取 1TB 的数据,也许我会被迫这样做。其中一个故障驱动器大部分可以通过读取/pvmove 内容来挽救,但另一个驱动器有许多读取错误和自动分配失败,就 LVM 而言,它不会恢复。(sdb3 是半途而废的故障驱动器。sdd 是完全损坏的驱动器。sda、sdc 是新驱动器)
istari# lvs --all -o +devices | grep TapeDisks
TapeDisks istari rwi---r--- 800.00g TapeDisks_rimage_0(0),TapeDisks_rimage_1(0)
[TapeDisks_rimage_0] istari Iwi---r--- 800.00g /dev/sdb3(10731)
[TapeDisks_rimage_0] istari Iwi---r--- 800.00g /dev/sdb3(100333)
[TapeDisks_rimage_0] istari Iwi---r--- 800.00g /dev/sdb3(264174)
[TapeDisks_rimage_1] istari vwi---r--- 800.00g
[TapeDisks_rmeta_0] istari ewi---r--- 4.00m /dev/sdb3(5963)
[TapeDisks_rmeta_1] istari ewi---r--- 4.00m
大写的 I 表示“镜像或 raid (I)mage 不同步”,这可能意味着文件系统严重损坏。或者也许 fsck 可以修复它并节省一些重要的数据传输。我可以从异地获取所有数据,但这让我很烦恼,所以我问了。
我努力了:
istari# lvchange -ay --force /dev/istari/TapeDisks
device-mapper: reload ioctl on (253:32) failed: Invalid argument
dmesg 说:
[ 1303.485131] device-mapper: raid: Failed to read superblock of device at position 1
[ 1303.494755] md: pers->run() failed ...
[ 1303.494835] device-mapper: table: 253:32: raid: Failed to run raid array
[ 1303.494895] device-mapper: ioctl: error adding target to table
lvconvert --force --type linear /dev/istari/TapeDisks
我读到我可以从 /dev/sdb3 中获取具有正确偏移量的数据,因为我还在安全的地方保存了损坏磁盘上的 /etc/lvm。