0
我拼湊了一個班輪,所以我可以快速找到在服務器上有中等錯誤的任何驅動器。這是像這樣:修改一個班輪
/var/lib/einarc/tools/adaptec_arcconf/cli getlogs 1 device tabular | egrep 'serialNumber|mediumErrors|vendorID' | awk '{$2="";print}' | awk '/^vendorID WDC/{p=1}p' | grep -C1 'mediumErrors [1-9]'
雖然這個工程上有西數硬盤的服務器完全正常的,有那些是希捷也因爲如此的一個襯墊不因爲對他們的工作:
awk '/^vendorID WDC/{p=1}p'
兩臺服務器上的表格日誌的原始輸出看起來像這樣。
Western Digital:
driveErrorEntry
smartError ....................... false
vendorID ......................... LSI CORP
serialNumber .....................
wwn .............................. 41121562336217ea
deviceID(T:L) .................... 0(0:0)
productID ........................ SAS2X26
numParityErrors .................. 0
linkFailures ..................... 0
hwErrors ......................... 0
abortedCmds ...................... 10
mediumErrors ..................... 0
smartWarning ..................... 0
driveErrorEntry
smartError ....................... false
vendorID ......................... WDC
serialNumber ..................... WD-WCAW25942651
wwn .............................. 0000000000000000
deviceID(T:L) .................... 13(13:0)
希捷:
Controllers found: 1
ControllerLog
controllerID ..................... 0
type ............................. 0
time ............................. 1365801225
version .......................... 3
tableFull ........................ false
driveErrorEntry
smartError ....................... false
vendorID ......................... LSI CORP
serialNumber .....................
wwn .............................. 411313200032c06a
deviceID(T:L) .................... 0(0:0)
productID ........................ SAS2X26
numParityErrors .................. 0
linkFailures ..................... 0
hwErrors ......................... 0
abortedCmds ...................... 12
mediumErrors ..................... 0
smartWarning ..................... 0
我希望得到的輸出如下:
serialNumber WD-WMAYP5242602
mediumErrors 457
vendorID WDC
serialNumber WD-WMAYP3262235
mediumErrors 2
我想確保我不會篩選出重要的信息,因爲一臺服務器沒有WDC驅動器,但同時我也不想要任何不直接涉及硬盤驅動器的信息 - 即無論驅動器類型如何,控制器輸出都應該被忽略LLED。
任何人都可以提出一種方法來做到這一點(在bash中)嗎?
它只是我還是在預期的輸出值不在提供的日誌中? –
@FredrikPihl不僅僅是你! Striketh你的輸出不能從你的輸入映射。 –
輸出應包含介質錯誤,供應商編號和序列號。第2列總是會根據每個服務器中的驅動器而有所不同 – Striketh