一台tomcat服务器只有一个硬盘的时间运行还比较正常,做好soft raid1后程序员反映运行很慢,好像什么卡住 了一样。top的load average当时已到 了10左右,第一反应是硬盘出现了问题,通过hdparm检测磁盘和各个分区的读情况。

果然/dev/sda的读非常慢

[root@qht25 ~]# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   6 MB in  3.45 seconds =   1.74 MB/sec
[root@qht25 ~]# hdparm -t /dev/sdb

/dev/sdb:
 Timing buffered disk reads: 364 MB in  3.01 seconds = 120.77 MB/sec

继续查看是哪个分区有问题

[root@qht25 ~]# hdparm -t /dev/sda1

/dev/sda1:
 Timing buffered disk reads: 300 MB in  2.69 seconds = 111.45 MB/sec
[root@qht25 ~]# hdparm -t /dev/sda2

/dev/sda2:
 Timing buffered disk reads:  64 MB in  3.08 seconds =  20.77 MB/sec
[root@qht25 ~]# hdparm -t /dev/sda3

/dev/sda3:
 Timing buffered disk reads: 406 MB in  3.01 seconds = 135.04 MB/sec

/dev/sda2是swap分区,不过由于这台服务器的内存很大,swap根本就没有用得到。不管怎样,先将些分区从raid中移除。

[root@qht25 ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/md1             partition    67042300    0    -1
[root@qht25 ~]# mdadm /dev/md1 --fail /dev/sda2

[root@qht25 ~]# mdadm /dev/md1 --remove /dev/sda2

[root@qht25 ~]# cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sdb2[3]
      67042304 blocks super 1.2 [2/1] [_U]
      
md2 : active raid1 sda3[2]
      1885965312 blocks super 1.2 [2/1] [UU]
      bitmap: 6/15 pages [24KB], 65536KB chunk

md0 : active raid1 sda1[2]
      306176 blocks super 1.2 [2/1] [UU]
      
unused devices: <none>

观察段时间发现load average逐渐下降了。

后面再想办法修复/dev/sda2就可以了。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐