我联系您是因为我的 raid 1 搞砸了。一切都始于一个损坏的磁盘。我用一个新的磁盘替换了原来的磁盘。同步似乎成功了。但是,我收到大量错误,并且 raid 不再可用。至少我想在采取任何进一步措施之前挽救我的数据。
xxx@ubuntu ~ $ sudo fdisk -l /dev/sdc
Disk /dev/sdc: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000b9056
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 3907028991 3907026944 1,8T 83 Linux
该驱动器可用作 sdc1
xxx@ubuntu ~ $ sudo mdadm --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 0.90.00
UUID : 8a359ebe:d9785fdb:e368bf24:bd0fce41 (local to host ubuntu)
Creation Time : Sat Oct 8 13:55:02 2016
Raid Level : raid1
Used Dev Size : 1953513408 (1863.02 GiB 2000.40 GB)
Array Size : 1953513408 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Update Time : Sat Dec 29 17:17:56 2018
State : clean
Internal Bitmap : present
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1
Checksum : d5e354f3 - correct
Events : 23978
Number Major Minor RaidDevice State
this 2 8 49 2 spare /dev/sdd1
0 0 0 0 0 removed
1 1 8 33 1 active sync /dev/sdc1
2 2 8 49 2 spare /dev/sdd1
快速检查 mdadm
sudo mdadm --assemble --scan --verbose
mdadm: looking for devices for /dev/md0
**mdadm: no RAID superblock on /dev/sdc**
mdadm: no RAID superblock on /dev/sdb1
mdadm: no RAID superblock on /dev/sdb
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 2.
mdadm: no uptodate device for slot 0 of /dev/md0
mdadm: no uptodate device for slot 2 of /dev/md0
mdadm: added /dev/sdc1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 0 drives and 1 spare - not enough to start the array.
在下一步中,我尝试按照其他帖子中概述的方式安装剩余的磁盘。
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 2,7T disk
└─sda1 2,7T btrfs part /x-O
sdb 931,5G disk
└─sdb1 931,5G ext3 part /x-b
sdc 1,8T disk
└─sdc1 1,8T linux_raid_member part
sdd 2,7T disk
└─sdd1 2,7T btrfs part /x-raid_A
sde 2,7T disk
└─sde1 2,7T btrfs part
sdf 465,8G disk
├─sdf1 463,9G ext4 part /
├─sdf2 1K part
└─sdf5 1,9G swap part [SWAP]
sdg 2,7T btrfs disk /x-raid_B
sdh 2,7T btrfs disk
安装本身失败并显示错误消息
xxx@ubuntu ~ $ sudo mount /dev/sdc1 disk1
mount: unknown filesystem type 'linux_raid_member'
Q1:如果我走在正确的轨道上。如何克服这个问题?
基于有限的成功,我决定强制重新组装仅使用单个磁盘的 raid 1 设备。
xxx@ubuntu ~ $ sudo mdadm --assemble --force /dev/md0 /dev/sdc1
这并没有帮助我取得进一步的进步。
mdadm: failed to RUN_ARRAY /dev/md0: Input/output error
mdadm: Not enough devices to start the array.
从这里我开始感到迷茫。任何建议都将不胜感激。
提前感谢 SFx
答案1
显然,mdadm 认为您的 RAID 1 阵列是“干净的”,但事实并非如此。您应该明确告诉 mdadm 您的第二个 (sdd1) 磁盘出现故障,将其移除并以只读模式挂载 RAID 1 阵列(以确保您可以安全地进行复制/备份或重建 RAID 1 阵列)。
因此,如果您执行以下操作:
sudo mdadm -—manage /dev/md0 —-fail /dev/sdd1
sudo mdadm -—manage /dev/md0 —-remove /dev/sdd1
sudo mdadm —-assemble —-readonly /dev/md0 /dev/sdc1
这应该会给你一个干净的、降级的 RAID 1 阵列。
如果要更换磁盘,请按照相反的顺序操作:添加磁盘,重建阵列并挂载 md0,如下所示:
sudo mdadm —-manage /dev/md0 —-add /dev/sdd1
sudo mdadm --assemble --run --update=resync /dev/md0 /dev/sdc1 /dev/sdd1