PC服务器硬盘故障处理

    xiaoxiao2022-06-21  196

    1. 写在前头 2. 简介 3. 硬盘故障处理流程 3.1 故障定位及分析 3.1.1 名词解释 3.1.2 收集日志及阵列穿孔 3.1.3 查看物理磁盘信息 3.1.4 物理磁盘故障分析 3.1.5 查看磁盘阵列信息 3.1.6 磁盘阵列故障分析 3.2 业务定位 3.3 设备定位 3.4 故障处理

    标签:PC服务器, 硬盘故障

    1. 写在前头

    一直以来都想写一些关于服务器硬盘维护的文档,但是由于各种原因,就一直搁置了。而且还有一个原因,我这语文不及格呢,语言该怎么组织?还想着找度娘学习借鉴一下高人写的文档,可惜都没找到我想要的,好吧不多扯,进入正题吧

    2. 简介

    大数据时代,如何保证数据安全性,显得更加重要。从简单的定期备份,到备份系统、到灾备解决方案等等,都是为了确保数据安全。而不论何种方案,都必须将数据存放在底层的物理设备(硬盘、磁带等),今天我们主要讲服务器硬盘故障时该如何维护。

    3. 硬盘故障处理流程

    一直以来都在一线处理各类设备故障,我把硬盘的故障流程整理成如下五个步骤,四个都缺一不可。

    故障定位及分析

    业务定位

    设备定位

    故障处理

    3.1 故障定位及分析

    3.1.1 名词解释

    - DSA IBM日志收集工具

    - DSET DELL日志收集工具

    - TTY :硬盘日志收集工具

    - Slot Number :服务器硬盘槽位号,dell/IBM服务器槽位号从O开始

    - Media Error Count:硬盘物理错误数

    - Other Error Count:硬盘逻辑错误数

    - Predictive Failure Count:预告警数

    - Raw Size:磁盘容量

    - PD Type: 磁盘类型(SAS,STAT)

    - Firmware state:硬盘状态

    - RAID Level :阵列等级

    - State :阵列状态

    3.1.2 收集日志及阵列穿孔

    不仅仅是硬盘故障的时候需要收集日志,在服务器诊断中,线索往往是扑所迷离的,凭借经验或者猜测,无法正确地判断设备故障原因,排除故障,收集日志提交给售后工程师,可以快速和有效的缩小问题范围,精准定位故障点。

    服务器出现故障后,必须一步步检测解决,走捷径可能会付出巨大的代价!收集日志可以大大减少数据丢失风险,避免多次上门维修,反复沟通造成的时间和精力浪费。

    好吧估计名眼人一看就知道,上面的这两段文字不是我自己写的,因为我语文不及格嘛,其实是从DELL的微信公众号(公众号:戴尔服务解码)文章中抄来的,目的仅仅是为了让大家知道收集日志的重要性!当然过保的机器,就需要我们自己学会查看日志文件了。

    DSA日志

    DSA日志是IBM机器保修时候,必要的日志,他可以收集所有的硬件健康状态日志,这里不多做介绍,只要一个文件在系统里执行完成后可以顺利收到日志

    DSET日志

    DSET日志是DELL机器保修时候,必要的日志,功能如同DSA日志,DSET日志可以收集所有硬件健康状态日志,还可以收集到硬件的部件号,售后可以根据部件号来确认故障配件是否属于本机原配,若不是原配配件,则需要另外提供采购的配件订单号。

    TTY日志

    TTY日志是硬盘故障时,硬盘故障最怕的就是出现阵列穿孔,收集TTY日志,可以直观的看出阵列是否出现了穿孔(关键字:Puncturing bad block),自己可以收集TTY日志并查看。

    #unzip MegaCli8.02.21forLinux.zip

    #ll

    -rw-r--r-- 1 root root 1588725 May 17  2011 Lib_Utils-1.00-09.noarch.rpm

    -rw-r--r-- 1 root root 1272097 Oct 24  2011 MegaCli-8.02.21-1.noarch.rpm

    -rw-r--r-- 1 root root 2848229 Sep  8 17:12 MegaCli8.02.21forLinux.zip

    -r--r--r-- 1 root root    2683 Oct 24  2011 readme.txt

    -rw-r--r-- 1 root root    7404 Apr 13  2012 Run-Linux-PERC6-v1.0.sh

    #chmod +x Run-Linux-PERC6-v1.0.sh

    #./Run-Linux-PERC6-v1.0.sh

    日志存放在当前目录下,名称为PERCLINUX.tgz

    接到服务器硬盘告警后要怎么做呢?(至于,如何做硬盘监控,以后有机会再讲),当然是直接上服务器确认故障啦,使用MegaCli64工具就可以了(SAS 5/i,SAS 6/i阵列卡使用lsiutil工具,这里不做介绍咯)

    3.1.3 查看物理磁盘信息

    MegaCli64工具安装

    #rpm -i Lib_Utils-1.00-09.noarch.rpm

    #rpm -i MegaCli-8.02.21-1.noarch.rpm

    如下为MegaCli64工具查看物理磁盘信息的输出结果

    #/opt/MegaRAID/MegaCli/MegaCli64 -Pdlist -a0    

    Enclosure Device ID: 32

    Slot Number: 2

    Drive's position: DiskGroup: 0, Span: 0, Arm: 2

    Enclosure position: 1

    Device Id: 2

    WWN: 5000C5007F56B880

    Sequence Number: 3

    Media Error Count: 0

    Other Error Count: 3

    Predictive Failure Count: 0

    Last Predictive Failure Event Seq Number: 0

    PD Type: SAS

    Raw Size: 279.396 GB [0x22ecb25c Sectors]

    Non Coerced Size: 278.896 GB [0x22dcb25c Sectors]

    Coerced Size: 278.875 GB [0x22dc0000 Sectors]

    Sector Size:  0

    Firmware state: Failed   #就是这,固件状态提示硬盘Failed,就是说硬盘挂啦

    Device Firmware Level: LS0A

    Shield Counter: 0

    Successful diagnostics completion on :  N/A

    SAS Address(0): 0x5000c5007f56b881

    SAS Address(1): 0x0

    Connected Port Number: 2(path0)

    Inquiry Data: SEAGATE ST300MM0006     LS0AS0K3R7K1            

    FDE Capable: Not Capable

    FDE Enable: Disable

    Secured: Unsecured

    Locked: Unlocked

    Needs EKM Attention: No

    Foreign State: None

    Device Speed: 6.0Gb/s

    Link Speed: 6.0Gb/s

    Media Type: Hard Disk Device

    Drive Temperature :27C (80.60 F)

    PI Eligibility:  No

    Drive is formatted for PI information:  No

    PI: No PI

    Port-0 :

    Port status: Active

    Port's Linkspeed: 6.0Gb/s

    Port-1 :

    Port status: Active

    Port's Linkspeed: Unknown

    Drive has flagged a S.M.A.R.T alert : No

    3.1.4 物理磁盘故障分析

    Media Error Count>10

    这里为什么定位数字10呢,因为IBM的机器中,Media Error Count>10就当做是硬盘故障啦,可以直接收集DSA日志,找IBM售后处理了

    Other Error Count>0

    这个Other Error Count就是真的没啥用处了,因为不论是DELL还是IBM都不认这个东东,数值再大,没其他的告警出现,都不会当回事的,但是在IBM的机器上,这个坑爹的东东有时候就会莫名其妙的突然暴涨,解决办法只有一个,就是自己升级阵列卡微码和硬盘微码后重启,至于怎么升级微码,这里就不多赘述咯

    Predictive Failure Count>0

    这个预告警就要重点关注了,因为不论是DELL还是IBM,只要出现这个告警,肯定是硬盘已经出现故障了,这个时候各自收集日志保修吧

    Firmware state  固件状态,这里讲几种固件状态,需要特别关注Failed, Unconfigured(bad)

    Failed                        #硬盘故障了

    Unconfigured(bad), Spun Up    #硬盘还未配置,但是故障了

    Unconfigured(good), Spun Up   #硬盘还未配置,可以使用

    JBOD, Spun Up                 #硬盘使用non-Raid模式

    Hotspare , Spun Up            #硬盘做热备使用

    CopyBack                      #硬盘回写状态,这个在有热备盘的情况下才会出现,当有热备盘的阵列中,出现有一块硬盘出现故障,则热备盘会直接进入rebuiled状态,重建完成后,阵列状态就会恢复正常,这个时候,我们如果把故障硬盘替换掉,在有开启copyback模式的服务器上,这块刚刚替换上的新盘就会被标记为copyback状态,会将原来的热备盘的数据,全部回写到新盘上,而原来的热备盘,会重新变为热备

    3.1.5 查看磁盘阵列信息

    使用MegaCli64工具查看磁盘阵列信息

    #/opt/MegaRAID/MegaCli/MegaCli64  -LDInfo -Lall -aALL

    Adapter 0 -- Virtual Drive Information:

    Virtual Drive: 0 (Target Id: 0)

    Name                :

    RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0

    Size                : 278.875 GB

    Sector Size         : 512

    Mirror Data         : 278.875 GB

    State               : Optimal

    Strip Size          : 64 KB

    Number Of Drives    : 2

    Span Depth          : 1

    Default Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU

    Current Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU

    Default Access Policy: Read/Write

    Current Access Policy: Read/Write

    Disk Cache Policy   : Disk's Default

    Encryption Type     : None

    Default Power Savings Policy: Controller Defined

    Current Power Savings Policy: None

    Can spin up in 1 minute: Yes

    LD has drives that support T10 power conditions: Yes

    LD's IO profile supports MAX power savings with cached writes: No

    Bad Blocks Exist: No

    Is VD Cached: No

    常见的RAID Level

    Primary-1, Secondary-0, RAID Level Qualifier-0 : RAID 10

    Primary-5, Secondary-0, RAID Level Qualifier-3 RAID 5

    Primary-0, Secondary-0, RAID Level Qualifier-0 RAID 0

    阵列状态

    State: Optimal  :阵列正常

    State: Degraded :阵列降级

    3.1.6 磁盘阵列故障分析

    当你根据物理磁盘故障分析,确认当前服务器上已经存在硬盘故障了,那还需要确认磁盘阵列才能够确认是否能够进行物理硬盘的更换

    State: Optimal状态下

    并不是Optimal状态下,就说明该机器上就没有磁盘故障了,因为有的机器有热备盘,硬盘故障后,热备盘会直接进入rebulid状态(重建状态中,阵列等级是Degraded),rebulid完成后,阵列状态恢复正常,但是物理磁盘还会有故障提示,此时就要处理物理磁盘

    State: Degraded

    阵列进入降级状态,就能直接处理硬盘了吗?当然不是咯,还需要配合阵列等级的哦,当阵列进入降级状态,不同的阵列等级下我们都改如何处置

    RAID 10 raid10中,最多允许N/2块硬盘故障,但是前提是这N/2块故障盘必须是分布在不同的raid1上的

    RAID 5 :  raid5中,最多允许1块硬盘故障,当然如果你的机器中有热备盘的话,最多可以允许热背叛数量+1块盘故障

    RAID 0 raid0中,你的硬盘挂了,那就死翘翘咯,换盘就以为这这块硬盘里的数据会丢失,祈祷你有做数据备份吧(当然也有冒险的办法,这里不讲咯)

    3.2 业务定位

    根据故障定位分析,你还是不能直接更换故障硬盘,因为换硬盘都会存在风险的,所以,在做所有的故障硬盘更换之前,都必须确认好业务,特别是在RAID0的时候!RAID0的硬盘出现故障,只要数据有备份,业务确认可以更换,那就可以直接处理

    3.3 设备定位

    设备定位,其实就是确认设备的物理位置,机房、机柜、机架位、故障硬盘槽位

    3.4 故障处理

    当经过上述的故障分析、定位,业务定位,设备定位后,就可以直接现场更换故障硬盘了,当然可能还有其他的细节问题,比如IDC机房人员进出权限问题(IDC机房需要工单才能正常进出),故障硬盘型号问题(尺寸、容量、转速等)……

    文章转自老叶茶馆公众号,原文链接:https://mp.weixin.qq.com/s/W1wgFKU3FFcdTR6d3Wl96A

    相关资源:七夕情人节表白HTML源码(两款)

    最新回复(0)