今天我注意到有很多消息抱怨 RAID 阵列(它是一个软件 RAID10),所以我开始研究它,但需要帮助,因为我不确定我是否正确解释了状态输出(我有点忘记了实际的情况) RAID 设置是因为机器位于远程位置,我大约在一两年前配置了它)...如果我没记错的话,系统应该有 8 个 2TB 磁盘,但这就是我能记得的全部。
系统邮件:
N 14 [email protected] Wed May 25 21:30 32/1059 Fail event on /dev/md/0:EDMedia
N 15 [email protected] Thu May 26 06:25 30/1025 DegradedArray event on /dev/md/0:EDMedia
N 16 [email protected] Thu May 26 06:25 30/1025 SparesMissing event on /dev/md/0:EDMedia
现在我正在查看输出,让我特别困惑的是:
Number Major Minor RaidDevice State
0 0 0 0 removed
这是否意味着磁盘已被移除(或从阵列中删除)?我应该尝试重新添加“/dev/sda1”吗?有什么方法可以告诉我“/dev/sda1”是“/dev/md0”的一部分,而不添加某个正在使用的分区磁盘,只会让事情变得更糟?
状态输出:
'mdadm -D /dev/md0' 输出:
/dev/md0:
Version : 1.2
Creation Time : Mon Feb 8 23:15:33 2016
Raid Level : raid10
Array Size : 2197509120 (2095.71 GiB 2250.25 GB)
Used Dev Size : 1465006080 (1397.14 GiB 1500.17 GB)
Raid Devices : 3
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Thu Sep 1 19:54:05 2016
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : EDMEDIA:0
UUID : 6ebf98c8:d52a13f0:7ab1bffb:4dbe22b6
Events : 4963861
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
“lsblk”输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.4T 0 disk
└─sda1 8:1 0 1.4T 0 part
sdb 8:16 0 1.4T 0 disk
└─sdb1 8:17 0 1.4T 0 part
└─md0 9:0 0 2T 0 raid10
├─md0p1 259:0 0 1.5M 0 md
├─md0p2 259:1 0 244.5M 0 md /boot
└─md0p3 259:2 0 2T 0 md
├─EDMedia--vg-root 253:0 0 2T 0 lvm /
└─EDMedia--vg-swap_1 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 1.4T 0 disk
└─sdc1 8:33 0 1.4T 0 part
└─md0 9:0 0 2T 0 raid10
├─md0p1 259:0 0 1.5M 0 md
├─md0p2 259:1 0 244.5M 0 md /boot
└─md0p3 259:2 0 2T 0 md
├─EDMedia--vg-root 253:0 0 2T 0 lvm /
└─EDMedia--vg-swap_1 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 1.4T 0 disk
└─sdd1 8:49 0 1.4T 0 part
sdj 8:144 0 298.1G 0 disk
└─sdj1 8:145 0 298.1G 0 part
sr0 11:0 1 1024M 0 rom
“df”输出:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/dm-0 2146148144 1235118212 801988884 61% /
udev 10240 0 10240 0% /dev
tmpfs 1637644 17124 1620520 2% /run
tmpfs 4094104 0 4094104 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 4094104 0 4094104 0% /sys/fs/cgroup
/dev/md0p2 242446 34463 195465 15% /boot
'watch -n1 cat /proc/mdstat' 输出:
Every 1.0s: cat /proc/mdstat Thu Sep 1 21:26:22 2016
Personalities : [raid10]
md0 : active raid10 sdb1[1] sdc1[2]
2197509120 blocks super 1.2 512K chunks 2 near-copies [3/2] [_UU]
bitmap: 16/17 pages [64KB], 65536KB chunk
unused devices: <none>
答案1
看来您的 raid10 阵列配置为具有 2 个活动驱动器和 1 个备用驱动器。备用件不见了。
这可能有几个原因:
- 也许您从服务器上删除了备用磁盘
- 也许一个驱动器死了,现有的热备用在重建后现在变得活跃。
- 也许热备件在使用之前就坏了。
- 也许一个驱动器(或电缆)在过去的某个时间“被”损坏,并已自动从阵列中删除。
您可以检查您的服务器是否有一个损坏的磁盘,您甚至在 lsblk 输出中都看不到该磁盘。也可能是您的其他驱动器之一(sda1 或 sdd1)过去是您阵列的一部分,但现在已损坏。 (它不能是 sdj1,因为它太小了)。
从服务器上删除所有损坏的驱动器。
为了避免出现警告,请重新添加热备用驱动器(可能是未使用的、未损坏的驱动器之一)或将阵列配置为不再有热备用驱动器。请注意,在情况 4 中,同一驱动器再次发生故障的可能性很高。
顺便说一句,要查看过去到底发生了什么,您可以在旧日志文件中查找相关消息。
答案2
检查系统日志为鲁迪迈尔建议并发现早在 5 月份就发生过一次停电事件,之后 RAID 阵列错误开始出现。由于这是一个软件RAID10(1+0),我庆幸的是只有备用磁盘飞出阵列,而不是整个阵列不可逆转地崩溃。在使用值得信赖的旧 Hiren 启动 CD 进行了几次 HDD 测试之后,仅出于多样性 - 分区向导可启动...所有可疑磁盘均已检查完毕,没有任何错误/问题。
我擦除了(使用分区向导可启动,以便磁盘未格式化且未分区),然后使用以下命令重新添加备用磁盘:
mdadm --add /dev/md0 /dev/sda1