storcli64和smartctl定位硬盤的故障信息

storcli64可對LSIRAID卡基本操做進行管理,本文主要是對LSIRAID卡常使用到的命令進行介紹html

https://www.cnblogs.com/wangl-blog/archive/2019/05/09/10839635.html緩存

https://blog.csdn.net/itzhangdaopin/article/details/77746608服務器

https://www.cnblogs.com/diyunpeng/p/8051749.html併發

strocli是megacli的升級版本,針對於戴爾服務器是perccli,用法徹底一致工具

smartctl能夠查看磁盤的主控芯片smart信息spa

lsscsi能夠查看系統的scsi信息,數據來源/proc/scsi/scsi相關,該文檔此處暫不介紹.net

這些工具都是查看磁盤相關信息的經常使用工具,對於排查磁盤狀態和raid卡問題都有幫助日誌

安裝一下storcli或者perccli,而且將命令軟鏈接到/usr/bin/目錄下,方便使用命令:htm

ln -s /opt/MegaRAID/storcli/storcli64 /usr/bin/blog

ln -s /opt/MegaRAID/perccli/percclie64 /usr/bin/

Centos安裝:
yum -y install smartmontools

smartctl 
-i 指定設備
-d 指定設備類型,例如:ata, scsi, marvell, sat, 3ware,N
-a 或A 顯示全部信息
-l 指定日誌的類型,例如:TYPE: error, selftest, selective, directory,background, scttemp[sts,hist]
-H 查看硬盤健康狀態
-t short 後臺檢測硬盤,消耗時間短
-t long 後臺檢測硬盤,消耗時間長
-C -t short 前臺檢測硬盤,消耗時間短
-C -t long 前臺檢測硬盤,消耗時間長
-X 中斷後臺檢測硬盤
-l selftest 顯示硬盤檢測日誌
HP硬盤:
smartctl -s on -d  cciss,0 /dev/cciss/c0d0 開啓SMART
smartctl  -a  -d cciss,0 -i /dev/cciss/c0d0  顯示全部SMART信息
smartctl  -l error  -d cciss,0 -i /dev/cciss/c0d0 查看磁盤錯誤日誌
+++++++++++++++++++++++smarted服務+++++++++++++++++

簡單說下smartctl:smartd由kernel-utils包缺省安裝。用命令 rpm -ql kernel-utils 能夠列出kernel-utils包中的文件
它是一個守護進程(一個幫助程序),它能監視擁有自我監視,分析和彙報技術(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盤。
主配置文件:/etc/smartd.conf 
添加一行/dev/cciss/c0d0 -H -m sys@5iqiong.com
上邊的配置表示smartd以靜默狀態工做,當SMART中報告PASSED的時候不理睬一旦出現Failure,馬上用郵件通知用戶指定的郵箱

1.2 基本語法

獲取控制器號:storcli64 /call show all

/c 控制器號 輸出結果中的Controller 值

/v  RAID號

/e 背板號  輸出結果EID值

/f 外部配置

/s 槽位號 輸出結果的Slt值

1.3 系統

查看RAID控制器摘要信息

storcli64 show

查看詳細RAID控制器信息

storcli64 show all

查看幫助文檔

storcli64 -h

1.4 控制器

查看屬性語法:storcli64 /cx show <properties>

如查看蜂鳴器狀態:strocli64 /c0 show alarm

設置某個屬性語法:storcli64 /cx set <properties>

如設置蜂鳴器開啓:storcli64 /cx set alarm=on

1.5 物理磁盤

可查看磁盤的健康狀態,對不健康的磁盤進行替換,設置磁盤狀態,設置磁盤初始化,對磁盤進行定位

1.5.1 查看磁盤健康狀態

storcli64 -PDList -aALL

對於每塊物理磁盤的描述信息,主要關注一下幾項:

Slot Number : 表示磁盤的插槽位置,能夠根據Slot Number序列值推斷是否有磁盤離線

Medai Error Count : 表示磁盤可能錯誤,多是磁盤有壞道,這個值不爲0值得注意,數值越大,危險係數越高

Other Error Count : 表示磁盤可能存在鬆動,可能須要從新再插入

Predictive Failure Count : ( 預測性失敗統計)

Firmware state : 表示磁盤的狀態,能夠判斷磁盤是否損壞。正常狀態是Online, Spun Up

1.5.2 查看磁盤

查看控制器爲0 背板爲36槽位號爲1的磁盤

storcli64 /c0/e36/s1 show 

查看控制器0 全部背板及背板上的全部磁盤信息

storcli64 /c0/eall/sall show

查看全部控制器 全部背板 背板上的全部磁盤的詳細信息

storcli64 /call/eall/sall show all

1.5.3 設置磁盤狀態

設置控制器 0 背板36 槽位號爲1的磁盤狀態爲good

storcli64 /c0/e36/s1 set good

設置控制器 0 背板36 槽位號爲1的磁盤狀態爲offline

storcli64 /c0/e36/s1 set offline

設置控制器爲0 背板爲36 槽位號爲1的磁盤狀態爲online

storcli64 /c0/e36/s1 set online

1.5.4 磁盤初始化

磁盤在其餘系統中使用過磁盤不乾淨的狀況下需對磁盤進行初始化,初始化會清理掉磁盤上的全部數據

查看正在初始化的磁盤

storcli64 /cx/ex/sx show initialization

磁盤開始初始化

storcli64 /cx/ex/sx start initialization

中止磁盤的初始化

storcli64 /cx/ex/sx stop initialization

1.5.5 磁盤定位

開始定位

storcli64 /cx/ex/sx start locate

中止定位

storcli64 /cx/ex/sx stop locate

1.6 RAID

1.6.1 新建RAID

必須含有的參數 RAID類型 RAID大小 RAID名稱 和包含的磁盤

storcli64 /cx add RAID r 0|1|5|6|10|50|60 Size=<RAID1_Sz>,<RAID2_Sz>,..|*all name=<RAIDNAME1>,drives=e:s|e:s-x|e:s-x,y;e:s-x,y,z

例子:

使用默認參數建立的RAID5 讀策略爲ra: Read ahead 寫策略wt io策略爲direct 條帶大小爲256

 storcli64 /c0 add RAID r5 size=all name=diskarray01 drives=36:15-16,36:18

設置讀寫策略條帶大小的RAID5

storcli64 /c0 add vd r5 size=all name=diskarray01 drives=50:5-7,50:9 awb ra cached strip=256

參數

描述

type

RAID 0|1|5|6|10|50|60

RAID配置

size

最大不超過所能設置的最大值

虛擬磁盤的大小,多個值逗號分開

name

最大15位字節

RAID名稱

drives

e:s|e:s-x|e:s-x,y:

 

有效的enclosure和slot號

e enclosure ID

.e:s-x enclosure中的slot號.

direct|cached

cached

direct

IO策略,默認爲direct

wt|wb

wt: Write through.

wb: Write back.

awb:Always Write back帶電池的狀況

寫策略,默認爲wt

nora|ra

ra: Read ahead.

nora: No read ahead.

讀策略,默認爲ra

 

1.6.2 熱備

查看磁盤狀態:storcli64 /c0 /eall/sall show 磁盤狀態爲UGOOD空閒盤,磁盤狀態爲DHS爲專屬熱備,磁盤狀態爲GHS爲全局熱備

添加專屬熱備

  1. 得到dgs號 storcli64 /call/vall show 可看到DG及dgs的值爲特定的DG配置熱備
  2. 獲取空閒磁盤storcli64 /c0 /eall/sall show 磁盤狀態爲UGOOD

c.   語法storcli64 /cx/ex/sx add hotsparedrive dgs=x

例:storcli64 /c0/e3/s6 add hotsparedrive dgs=0 背板爲3,槽位爲6的磁盤作 dgs爲0的RAID的專屬熱備

添加全局熱備

  1. 查看空閒磁盤storcli64 /c0 /eall/sall show  磁盤狀態爲UGOOD
  2. storcli64 /cx/ex/sx add hotsparedrive

   如:storcli64 /c0/e3/s6 add hotsparedrive    背板爲3,槽位爲6的磁盤做爲全局熱備

刪除熱備

  1. 查看熱備盤  storcli64 /c0 /eall/sall show  磁盤狀態爲DHS,GHS

         b.   刪除熱備盤 storcli /c0/ex/sx delete hotsparedrive 

1.6.3 刪除RAID

先查看要刪除的RAID 查看到對應的VD號 storcli64 /c0/vall show

刪除RAID

storcli64 /cx/vx del

例:storcli64 /c0/v1 del 刪除虛擬設備號爲1的RAID

刪除含有用戶數據(MBR或者分區信息)的RAID

storcli64 /cx/vx del force

1.6.4 查看RAID

查看控制器上的全部

RAID storcli64 /call/vall show

查看具體的RAID虛擬設備號爲1的詳細信息

storcli64 /c0/v1 show all

1.6.5 RAID緩存設置

設置寫緩存語法:storcli64 /cx/vx set wrcache=wt|wb|awb  wt 是關閉緩存wb 在RAID卡沒有電池的狀況下開啓寫緩存 awb在RAID卡含有電池的狀況下開啓寫緩存

設置讀緩存語法:storcli64 /cx/vx set racache=nora|ra nora不會讀緩存裏面內容 ra 先讀緩存裏有的內容

設置io 優先級的語法:storcli64 /cx/vx set iopolicy=direct|cached

開啓讀緩存

storcli64 /call/v1 set rdcache=ra 

開啓寫緩存

開啓寫緩存須要先設置IO優先級爲緩存 storcli /c0/v1 set iopolicy=cached

storcli64 /call/v1 set wrcache=wb

或者 storcli64 /call/v1 set wrcache=awb

關閉讀緩存

storcli64 /call/v1 set rdcache=nora

關閉寫緩存

storcli64 /call/v1 set wrcache=wt

1.6.6 RAID初始化

查看快速初始化

storcli64 /cx/vx show init  

開啓快速初始化

storcli64 /cx/vx start init

開啓徹底初始化

storcli64 /cx/vx start init full

中止初始化

storcli64 /cx/vx stop init

 RAID5(5塊以上)和RAID6(6塊以上)在進行快速初始化時會轉到後臺進行初始化

查看後臺初始化

storcli64 /cx/vx show bgi

中止初始化

storcli64 /call/v1 stop bgi

掛起初始化

storcli64 /call/v1 suspend bgi

1.6.7 RAID一致性校驗

查看初始化

storcli64 /cx/vx show cc

開啓初始化

storcli64 /cx/vx start cc

中止初始化

storcli64 /cx/vx stop cc

smartor基本設置下一致性校驗 是在特定的時間執行一致性校驗,在頁面設置便可

LSIRAID卡自帶的一致性校驗

查看一致性校驗執行的具體時間

storcli64 /cx show cc

設置卡自帶的一致性校驗方式順序或者併發

storcli64 /cx set consistencycheck=seq|con

關閉卡自帶的一致性校驗 

storcli64 /cx set cc=off

1.6.8  copyback

 

 

1.7 日誌

storcli64支持的日誌

清除全部日誌事件 

storcli64 /cx clear events

刪除TTY(用於故障定位的固件輸出信息) 日誌  

storcli64 /cx delete termlog

將日誌信息保存到指定文件 

storcli64 /cx show events file=<absolute path>

查看產生日誌文件的歷史信息  

storcli64 /cx show eventloginfo

查看term log 日誌配置或者日誌信息 

storcli64 /cx show termlog type=config|contents

1.8 異常狀況

1.8.1 異常斷電對初始化影響

RAID0,RAID1,RAID5(小於5塊盤)RAID(小於6塊盤)RAID10,RAID50,RAID60在重啓以後不會再進行初始化

RAID5(5塊以上)和RAID6(6塊以上)會中止前臺初始化,在後臺進行初始化,使用命令 storcli64 /c0 show bgi能夠查看到

1.8.2 拔盤熱備和1塊數據盤恢復

將盤插回去 查看磁盤狀態 storcli64 /cx/ex/sall show all 磁盤狀態爲ubad

            設置磁盤狀態爲good  storcli64 /c0/ex/sx set good

查看磁盤狀態 storcli64 /cx/ex/sx show  磁盤狀態爲 UGOOD -F

導入磁盤  storcli64 /cx/fall import

查看磁盤狀態 storcli64 /cx/ex/sx show 磁盤狀態爲 UGOOD -

磁盤爲可用狀態

1.8.3 RAID 以損壞恢復磁盤可用

卸載已損壞raid上建的文件系統:umount  ....

刪除已順壞raid上的lvm管理映射:

dmsetup remove /dev/p1/*    (p1爲raid上存儲池名)

echo 1 > /sys/block/sdb/device/delete (sdb爲實際區下)

刪除損壞的raid: storcli64  /cx/vx del

相關文章
相關標籤/搜索