RAID 和 Linux 新手。我将 RAID5 阵列从 3 个设备扩展到 4 个设备。由于其他原因,我不得不失败并移除 4 个驱动器中的一个 - sda1
。我现在想将其缩减回 3 个设备,但在尝试这样做时,我收到错误new_offset
:
# mdadm --grow --raid-devices=3 /dev/md127
mdadm: Cannot set new_offset for /dev/sdb1
一些说明:
该阵列安装在
/
,所以我想避免卸载它。数组中有数据,所以我想保留它。
RAID 详细信息:
/dev/md127:
Version : 1.1
Creation Time : Mon Oct 22 16:20:37 2012
Raid Level : raid5
Array Size : 1953518592 (1863.02 GiB 2000.40 GB)
Used Dev Size : 976759296 (931.51 GiB 1000.20 GB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Tue Nov 8 17:09:28 2016
State : active, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Delta Devices : 1, (3->4)
Name : xxx
UUID : xxx
Events : 275192
Number Major Minor RaidDevice State
3 8 49 0 active sync /dev/sdd1
2 0 0 2 removed
4 8 33 2 active sync /dev/sdc1
6 8 17 3 active sync /dev/sdb1
我可以失败并/dev/sdb1
从阵列中删除吗?我想这可以解决错误消息,但我担心在将阵列扩展到 4 个设备时,其中 2 个发生故障将导致无法修复。如果不能做到这一点,那可以做什么?
更新
解决了令人头痛的问题。rsync
将降级阵列的内容编辑到备份驱动器,用新驱动器替换 RAID,然后rsync
编辑回去。
答案1
您可以这样做,但您需要在命令行中指定备份文件。对于您的情况,例如
mdadm --grow --raid-devices=3 /dev/md127 --backup-file /root/md127.backup
应该管用。
如果您有 USB 记忆棒或其他不在阵列中的存储器,请使用它来存储备份文件。