Linux下查看硬盘状态及性能
硬盘确实是现在服务器或者电脑中虽容易损坏的部件了,我们的Linux服务器上安装了比较多的硬盘,每台上面有8颗硬盘,使用的头1、2年还好,到3、4年就逐步出现问题了,常见的是:
这是硬盘分类的页面,点击下面标题查看详细文章内容:
硬盘确实是现在服务器或者电脑中虽容易损坏的部件了,我们的Linux服务器上安装了比较多的硬盘,每台上面有8颗硬盘,使用的头1、2年还好,到3、4年就逐步出现问题了,常见的是:
今年新购入的服务器上的硬盘时常有些毛病,在导入数据的时候就多次出现故障,用了2、3个月的时间导入数据后,算是稳定了几个月,但最近随着我们添加手机版工作的开展,硬盘又开始忙起来,服务器负载明显增加。两周前出现了几次服务器死机情况,每次重启后都会导致数据库保存,需要检查、修复,这样的情况持续出现后,终于有一次服务器重启不了了,好在数据都已经备份、复制出来了。
在我们一些用Drupal搭建的大数据量网站中,Boost模块产生的缓存文件数量非常多,以至于运行cron期间无法更新完毕,我们后来就采用了不自动更新缓存文件,而是人工根据需要在服务器上直接删除缓存文件的办法。
因为我们一些网站的数据量都很大,所以在发现硬盘io过高后,增加了多块硬盘,有万转的机械硬盘,也尝试过现在逐步流行的固态硬盘。
经过这几个月的试用,我们发现只要是负载不太高,机械硬盘、固态硬盘都工作良好,但如果负载很高的话,无论是机械硬盘和固态硬盘,都容易出故障。
为了赶上元旦前拿到购买的硬盘,我们都采用了快递到付的方式,顺丰速递还算给力,12月28日中午在淘宝上下的单,12月30日早上2块固态硬盘送到了,12月31日早上6块迅猛龙硬盘也送到了,同事马上赶去机房添加到服务器上,让我可以利用元旦期间的时间来迁移数据、调配硬盘的使用。
前一阵子在服务器上更换、添加了硬盘后,感觉负载下降了一点、访问速度快了一点,但似乎还是不能令人满意,导入和更新数据的速度依然很慢,用户浏览也是有迟缓的感觉。
从Linux服务器上运行top观察,4枚4核的CPU总有空闲,高达64G或者48G的内存也很富余,磁盘IO占用也不算多,究竟问题出在什么地方呢?
前一阵子在一部分大数据量的Drupal网站添加了Views,以便让浏览者得到更清晰、方便的索引页面,但很快就引起服务器负载急剧升高,让网站都无法正常访问,结果不得不马上去掉新增的Views,还原一些设置。
但即使不增加Views,只是在修改模板后清除以前的缓存,在一些数据量大的站中重建缓存也需要很长时间,同时重建多了也一样导致负载过高。
Linux机器的硬盘本来都是设置成读写(Read/Write)方式的,不过偶尔会发现自动变成了只读(Read Only),这半年来已经发生过好几次了,当时解决后忘记记录了,现在补记一下。
查了一些资料,发生这种情况的原因有多种,可能的问题:
前一阵子新换了3台服务器,都是配置的16核(4路4核)CPU、16G内存,算是很强大了,不过配置的硬盘只是2个1T普通7200转台式机硬盘,根据这些天的观察,在添加数据、更新模板的时候,用iostat查看会遭遇明显的IO瓶颈,在cpu、内存富余很多的情况下,磁盘的利用率长期100%。