记一次磁盘故障处理
查看服务器当前配置信息
主要是查看当前服务器磁盘的raid类型,结果如下:
[root@db08 linux]# hwinfo
basename: 缺少操作数
Try 'basename --help' for more information.
{
"机器型号":"R430",
"机器高度":"1U",
"CPU信息":{"CPU型号":"E5-2620","核数":6,"线程":12,"CPU个数":2},
"内存信息":{"内存型号":"M393A2G40DB0-CPB,NotSpecified","每条大小":"16G","条数":2},
"系统盘信息":{"磁盘类别":"SAS","磁盘大小":"600G","磁盘个数":4,"阵列类型":"RAID-10"},
"运行盘信息":{"磁盘类别":"","磁盘大小":"G","磁盘个数":0,"阵列类型":" Layout RAID-10"},
"备份盘信息":{"磁盘类别":"","磁盘大小":"G","磁盘个数":0,"阵列类型":" Layout RAID-10"},
"操作系统版本":"CentOSrelease",
"快速服务代码":"943XG82",
"其他信息":"null"
}
根据结果显示确定磁盘的raid类型为raid 10,如果磁盘已经严重损坏,只剩一块磁盘在工作,那么将看不出工作类型了,结果会是下面这样:
[root@db08 linux]# hwinfo disk
basename: 缺少操作数
Try 'basename --help' for more information.
{
"机器型号":"R430",
"机器高度":"1U",
"CPU信息":{"CPU型号":"E5-2620","核数":6,"线程":12,"CPU个数":2},
"内存信息":{"内存型号":"M393A2G40DB0-CPB,NotSpecified","每条大小":"16G","条数":2},
"系统盘信息":{"磁盘类别":"/dev/sda","磁盘大小":"600G","磁盘个数":4,"阵列类型":"No"},
"运行盘信息":{"磁盘类别":"","磁盘大小":"G","磁盘个数":0,"阵列类型":" Encrypted No"},
"备份盘信息":{"磁盘类别":"","磁盘大小":"G","磁盘个数":0,"阵列类型":" Encrypted No"},
"操作系统版本":"CentOSrelease",
"快速服务代码":"943SG82",
"其他信息":"null"
}
截止目前只能确定 raid 类型,那么到底是什么原因导致磁盘阵列故障呢?请继续往下看。
请求技术支援
到底如何定位问题所在呢???答案只有一个:日志!
日志太多了,看哪些?对硬件一窍不通的我只能请求支援——Dell服务器技术支持(https://www.dell.com/support/home/cn/zh/cnbsd1)。
- 在Dell官网查看服务器信息,服务器的SN详见主机运维,获取“快速服务代码”(打电话请求支持时会用到):

- 然后会有技术人员指导操作,有什么问题尽管问吧,服务态度还是不错的!!!
故障信息采集
Dell技术支持会提供日志采集工具,在此推荐使用MegaCLI8_Linux.zip (为方便使用,已上传至本地镜像库,内置使用说明),点击该链接可直接下载使用,如果在家办公,该地址不能用,提供个人自愿地址:链接: https://pan.baidu.com/s/1boCYCWLghV5XsWnv9SCMbg 密码: 3dqn。
安装和使用
因为下载的安装包内有使用说明,所以在此不做赘述,只把使用过程中的一点小问题记
# 安装出现冲突(注意:使用Run脚本安装的时候看不到该错误,所以需要手动安装调试)
[root@db08 linux]# rpm -ivh Lib_Utils-1.00-09.noarch.rpm MegaCli-8.02.21-1.noarch.rpm
# 原因是与Dell服务器自带的包srvadmin冲突,直接将其卸载即可
[root@db08 linux]# rpm -e srvadmin-storelib-sysfs-9.1.0-2757.12163.el7.x86_64 --nodeps
[root@db08 linux]# rpm -ivh Lib_Utils-1.00-09.noarch.rpm MegaCli-8.02.21-1.noarch.rpm
# 安装完成后更改Run脚本,把安装操作注释掉,直接进行日志采集
[root@db08 linux]# ./Run-Linux-PERC6-v1.0.sh
FINISH......
PERC TTY-log Tools for Linux had collected the logs to PERCLINUX.tgz
Please send the PERCLINUX.tgz file to DELL support, thanks!
完成日志采集后将日志文件发送给技术支持(对方会提前邮件和你联系)。
故障定位完成
Dell技术支持经过日志排查问题后会反馈结果以及处理建议,后续需要运维和ucloud机房以及Dell工程师协调时间,更换磁盘,更换磁盘前一定要记得备份数据以及做好服务迁移啊!!!
数据备份及服务迁移
进行迁移前做好备份是个好的运维习惯!
检查当前服务器信息
进行迁移和备份之前首先要做的就是清楚当前服务器的情况,主要由以下几项:
-
硬件信息:CPU、mem、磁盘(大小、raid级别、分区状况)等等;
-
防火墙:
iptables -nvL -
服务信息:检查都部署哪些服务,最直接的办法就是查看当前端口使用情况
-
- 检查服务器端口状态:
netstat -lntp - 安全起见,查看一下当前服务器运行状态:
htop
- 检查服务器端口状态:
实施迁移
先在已有服务器看看有没有充足的资源,如果资源充足就直接使用,如果资源不足,临时申请云主机。注意: 如果使用物理机资源一定要记得根据源服务器配置iptables规则放行服务端口,云主机就不用了,申领时直接使用内网防火墙就可以。
迁移过程如下:
- 检查当前服务器部署的服务:
netstat -lntp; - 部署要迁移的服务;
- 特殊文件处理:Geo_location、ip_location 直接从源机器拷贝到备份主机开机即用;
- 部署中间件服务:filebeat(收集日志)、etcd;
- 项目部署完成后检测服务的可用性:curl接口、查看日志信息(此处收集到日志说明服务正常):

- Note: 对外服务还需要通知第三方(百度、wechat等)配置ip白名单(物理机当前使用统一的外网ip,不用处理;云主机使用nat网关做的端口映射,需要提醒第三方将该网关ip加入白名单中);
磁盘更换&&项目回迁
数据迁移完后找联系戴尔技术支持以及ucloud机房管理人员协调机房入室时间,商定后到ucloud填写服务单。
待磁盘更换完毕后安排ucloud机房管理人员重装系统,检测无误后将原有服务迁回来,确认运行正常后将临时申领的云主机资源释放掉。
浙公网安备 33010602011771号