ubuntu服务器使用mdadm管理软阵列问题

一台ubuntu服务器使用dell md3060e连接了大量磁盘,使用mdadm构建了软阵列raid5。

在使用过程中突然发现系统的load奇高(300多),系统响应变的非常慢,导致各种磁盘读写相关的process都hold了。

  1. 问题定位

使用dmesg查询系统状态可发现有一块硬盘出现错误。

dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg 命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

使用mdadm可以查询该磁盘对应阵列的状态。

sudo mdadm --detail /dev/md0

查询其中的状态发现该磁盘虽然已经报错,但在阵列中还显示为正常,这个可能就是问题的原因。

2. 问题解决

因此需要将对应的磁盘标记为faulty,让spare状态的磁盘顶上来,以满足raid5的热备需求。(在resync过程中,系统反应实在是过慢,因此尝试了系统重启,然后再进行的操作)

sudo mdadm /dev/md0 --fail /dev/sdw

然后发现resync过程超慢,感觉也是问题,网上搜索了,发现有解决方案:

sysctl -w dev.raid.speed_limit_min=500000
sysctl -w dev.raid.speed_limit_max=5000000

然后可以通过此命令看速度是否有提升:

cat /proc/mdstat

3. 其他工具

可以使用smrtmontools监测硬盘健康状态。

可以使用badblocks检查磁盘坏道。

可以使用dd来格式化有坏道的磁盘。


已发布

分类

来自

标签:

评论

《 “ubuntu服务器使用mdadm管理软阵列问题” 》 有 4 条评论

  1. dapoxetine buy online

    dapoxetine buy online

  2. lasix

    lasix

  3. augmentin antibiotic

    augmentin antibiotic

  4. doxycycline for sinus infection 100mg

    doxycycline for sinus infection 100mg

回复 dapoxetine buy online 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注