最近在增加新的国外服务器以及对国内服务器进行硬盘的替换升级,国内服务器的硬盘经过几年的使用后逐步损坏,去年让同事进行过详细和全面的磁盘检查和扫描,都进行了记录:
- 有一些硬盘完全损坏,不能用了;
- 有些经常变为只读状态的也不敢继续用,主动转移数据到好的硬盘,然后修改/etc/fstab禁用;
- 有些硬盘从ext3改为ext2后重新修复、格式化,继续勉强使用;
- 还有一些发现有坏道,但也依然用在不是非常重要的情况下,例如做专门的文件缓存硬盘用。
以前每台服务器将8个硬盘接口全部占满挂8块硬盘,除了系统盘是厂商配的1T或者500G蓝盘以外,我们基本上都是添加的10000转的300G迅猛龙硬盘,但从目前来看,也是这些迅猛龙硬盘坏得最多。中途还曾尝试添加过笔记本电脑用的64G固态硬盘,但很快这些固态硬盘就坏掉了,无法适应服务器的使用坏境。这说明在大IO吞吐量下,对无论是固态硬盘还是机械硬盘,都还是损害很大的。
这次准备在5台服务器上把没有在使用的坏硬盘撤下,添置上新采购的1T企业级黑盘(目前性价比最好):
- 17现有6块在用,准备添加2块
- 22现有4块在用,准备添加4块
- 23现有5块在用,准备添加3块
- 44现有7块在用,准备添加1块
- 45现有6块在用,准备添加2块
替换起来还比较麻烦,同事处理了两天一夜还只搞了3台服务器,中途遇到一些波折,5-1节后再去搞2台。
硬件添加后,还要准备数据的搬迁,web文件、缓存文件、设置文件都比较简单,直接复制就可以,而数据库文件就麻烦一些,还有尽量减少网站中断访问时间,我现在采取的办法是:
- MediaWiki在LocalSettings.php中将数据库设置为只读,这样就可以复制数据库的文件到新硬盘,然后修改数据库目录的指向链接就可以,这个过程不影响访问,只是暂时不能修改、留言;
- Drupal修改Settings.php,让系列网站临时连接默认站点的数据库,再马上复制数据库的文件到新硬盘,并批处理中自动修改数据库目录的指向链接,这个过程会短暂造成访问遇到404报错,过一会儿恢复,暂时还没有想到更合适的办法避免报错,即使把Drupal网站设置为maintenance模式,数据库也不是只读的,所以只好先连接其它数据库(补充:可以把Drupal系统目录中的默认站点设置为maintenance模式,让访问正在转移数据的站点的用户临时指向这里看到维护状态,Drupal 7可以在settings.php中增加$conf['maintenance_mode'] = TRUE;Drupal 6可以在settings.php中增加$conf['site_offline'] = '1';)。
另外,在新增国外服务器的时候,我们尝试了租用新推出的2x250G固态硬盘的服务器,因为这是服务器专用的固态硬盘,所以应该是可以经受服务器运行环境考验的,该厂商是去年就推出了,我们当时不敢用,直到过了半年看该厂商还在大力推广这种机型,才开始采用,目前还在测试中,一两个星期的使用是没有问题的,稳定性以及性能是否有提升还有待观察。
评论