ระบุทางกายภาพฮาร์ดไดรฟ์ที่ล้มเหลว


25

สมมุติว่าเซิร์ฟเวอร์ของคุณมีฮาร์ดไดรฟ์ที่ดีต่อสุขภาพ 6 ตัว ไดรฟ์ล้มเหลว (จะไม่เมานต์ / ตรวจจับหลุดออกจากการโจมตีด้วยข้อผิดพลาด) หรือล้มเหลว (สมาร์ทโฟนแย่ลง ฯลฯ ) คุณต้องเปลี่ยนไดรฟ์ที่เสีย เมื่อคุณเปิดเคสคุณเห็น .. ฮาร์ดไดรฟ์หกตัวที่เหมือนกัน

คุณจะบอกได้อย่างไรว่าอันไหนที่ไม่ดีต่อสุขภาพ / การติดตั้ง / ทำงานอีกต่อไป?

ระบบจะเป็น linux ซึ่งเป็นเซิร์ฟเวอร์ ubuntu ส่วนใหญ่ที่ใช้กับซอฟต์แวร์ RAID ที่ง่ายที่สุด ฮาร์ดไดรฟ์จะเป็น SATA และเชื่อมต่อโดยตรงกับเมนบอร์ด (ไม่มีตัวควบคุมการโจมตี)

ฉันไม่ต้องการที่จะถอดไดรฟ์แบบสุ่มจนกว่าฉันจะเลือกที่ถูกต้อง ไดรฟ์ทั้งหมดปรากฏเหมือนฉัน ฉันจินตนาการว่ามีวิธีการทั่วไปในการระบุไดรฟ์ที่ฉันไม่รู้ ไม่มีใครมีเคล็ดลับ / เคล็ดลับ / แนวทางปฏิบัติที่ดีที่สุดบ้างไหม? ขอบคุณ!

แก้ไข: ฉันต้องการให้สิ่งนี้เป็น 'generalized' ในลักษณะที่เป็นคลื่น แต่ก็เพิ่งออกมาว่า 'ไม่สมบูรณ์' และ 'น่ากลัว' ความผิดฉันเอง!


4
หากคุณต้องปิดเครื่องและหาว่าฮาร์ดไดรฟ์คืออะไรคุณควรใช้เวลาในขณะที่เครื่องหยุดทำงานเพื่อระบุฮาร์ดไดรฟ์แต่ละตัวและติดฉลากในบางลักษณะดังนั้นเมื่อเกิดเหตุการณ์นี้ขึ้นอีกครั้งคุณไม่มีสิ่งนี้ ปัญหา.
Roy Rico

2
A "RAID (หรืออะไรก็ตาม)"? ฟังดูเหมือนผู้ใช้หลวมภายในห้องเครื่อง
romandas

1
เซิร์ฟเวอร์ที่เหมาะสมจะแจ้งให้คุณทราบว่าไดรฟ์ตัวใดโดยการเปิดไฟแสดงสถานะข้อผิดพลาดของไดรฟ์
John Gardeniers

8
ผู้ชายทุกคนรีบขึ้นไปบนนี้อย่างไร้เดียงสา ... ตรงไปตรงมาฉันคิดว่ามันเป็นคำถามที่ดีคนหนึ่งที่ฉันต้องจัดการกับตัวเอง!
Mark Henderson

2
ฉันอยากรู้ว่าถ้ามีงานอดิเรกมีความเป็นไปได้ที่จะสร้าง (ด้วยหัวแร้งในมือและอื่น ๆ ) ขับสัญญาณไฟ LED เพื่อระบุร่างกายจากภายในระบบปฏิบัติการแบบสุ่ม (เมื่อไม่มีตัวควบคุมระดับดิสก์ / การจู่โจมเซิร์ฟเวอร์ที่เหมาะสม ปัจจุบันการทำมายากลของพวกเขา) ...
Oskar Duveborn

คำตอบ:


26

ฉันมีปัญหาตรงนี้บนเซิร์ฟเวอร์ (Tower) เหมือนที่คุณอธิบายและมันง่าย:

smartctl จะส่งออกหมายเลขซีเรียลของไดรฟ์

ผู้ขายบางครั้งจัดส่งเครื่องมือเฉพาะของตนเองเช่น hdparm ที่จะทำเช่นเดียวกัน

เอาท์พุทอนุกรมของไดรฟ์ที่ไม่ดีจากนั้นใช้กระจกของทันตแพทย์และไฟฉายเพื่อค้นหาไดรฟ์

บนแร็คเมาท์คุณมักจะมีไฟแสดงสถานะเหมือนที่คนอื่นพูด แต่ฉันก็คิดเหมือนกัน


อ๊ะ ... smartctl ไม่ใช่ hdparm เป็นคนที่ฉันคิด ฉันต้องแก้ไขคำตอบของฉันเพื่อให้สะท้อนถึงสิ่งนั้น
Bart Silverstrim

upvoted สำหรับการเตือนฉันของคำสั่งที่เหมาะสม :-)
Bart Silverstrim

1
hdparm แสดง -i ฉันหมายเลข serial ของไดรฟ์ของฉัน - ที่อาจจะมีการตอบสนองของผู้จัดจำหน่ายเฉพาะแม้ว่า
เอียน Clelland

1
! ที่ดีเยี่ยม ฉันไม่สามารถลองตอนนี้ แต่ดูเหมือนว่านี่คือคำตอบ! ตอนนี้ฉันจะติดฉลากฮาร์ดไดรฟ์ของฉันด้วยตัวเลข N หลักสุดท้ายของหมายเลขซีเรียลของพวกเขา (สมมติว่านี่เป็นเอกลักษณ์ต่อเซิร์ฟเวอร์) ในสถานที่ที่ถูกเปิดเผยขณะติดตั้ง นอกจากนี้จาก googling ลักษณะคำสั่งจะเป็น "smartctl -i"
privatehuff

15

การวางสติกเกอร์บนไดรฟ์ (ขึ้นอยู่กับการออกแบบของถาด) อาจไม่สามารถทำได้ เมื่อถึงเวลาที่ไดรฟ์จะตายสติกเกอร์อาจจะแห้งและร่วงหล่น

ledctl (จากแพ็คเกจ ledmon) เป็นวิธีที่จะไปกับสิ่งนี้จริงๆ

ledctl locate=/dev/disk/by-id/[drive-id]

หรือ

ledctl locate=/dev/sda

จะส่องสว่างไดรฟ์ล้มเหลวบนแชสซีของคุณสำหรับไดรฟ์ที่ระบุ ฉันให้สองตัวอย่างเพื่อแสดงว่าไม่สำคัญว่าคุณระบุไดรฟ์ได้อย่างไร คุณสามารถใช้ชื่ออนุกรม ฯลฯ ... ข้อมูลอะไรก็ได้ที่คุณสามารถใช้ได้ ไดรฟ์อ้างอิงหลายวิธีภายใต้ / dev / และ / dev / disk / path

หากต้องการปิดไฟให้เปิดใช้งานอีกครั้งโดยเปลี่ยนการค้นหาเป็น locate_off ดังนี้:

ledctl locate_off=/dev/sda

6

โดยปกติแล้วคุณจะต้องหวังว่าการเชื่อมต่อมีการติดป้ายในบางแฟชั่นแล้วทำงานจากตัวตนของอุปกรณ์ที่ล้มเหลว ตัวอย่างเช่น ... และใครบางคนจะต้องแสดงความคิดเห็นเพื่อแก้ไขฉัน ... ถ้าคุณมีสองช่อง IDE คุณมีไดรฟ์ได้ถึง 2 ไดรฟ์ในแต่ละคุณอาจมี sda, sdb, sdc และ sdd หาก sdd ล้มเหลวจะเป็นไดรฟ์ที่สองบนสายเคเบิลของช่อง IDE ที่สอง

ถ้าเป็น SATA และเหมือนกับระบบที่ฉันมีอยู่ในห้องด้านหลังพอร์ตจะมีป้ายกำกับสำหรับไดรฟ์ SATA แต่ละตัว อีกครั้งตัวอักษรไดรฟ์ไปจากสิ่งที่ไดรฟ์ขึ้นไปเริ่มต้นที่พอร์ต 0 ของตัวเชื่อมต่อ SATA และเลื่อนขึ้น

หากมีความแตกต่างของการผลิต dmesg | grep sd หรือ dmesg | grep hd ควรให้เบาะแสบางอย่าง

หากคุณมีหมายเลขซีเรียลฉันคิดว่าคำสั่ง hdparm อาจมอบให้คุณในซอฟต์แวร์เพื่อให้คุณสามารถติดตามได้ คุณอาจต้องการติดป้ายกำกับไดรฟ์บางแห่งถ้าเป็นกรณีนี้คุณจึงไม่ต้องกังวลว่าเมื่อคุณพบว่ามีปัญหา

... ฉันรู้ว่ามีอีกเหตุผลที่ฉันต้องการฮาร์ดแวร์ RAID มากกว่าซอฟต์แวร์ RAID ... ไฟกะพริบ ชอบไฟกะพริบ

แก้ไข: smartctl ไม่ใช่ hdparm ให้หมายเลขซีเรียล ความผิดฉันเอง.


+1 สำหรับไฟกะพริบ
Oskar Duveborn

3

ไดรฟ์บางตัวจะแสดงตำแหน่ง "ไฟล์" /sysซึ่งคุณสามารถ echo 1 สำหรับการเปิดไฟแสดงสถานะการเปิดหรือปิด 0

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done

ฉันไม่รู้เกี่ยวกับสิ่งนี้! มันเยี่ยมมาก!
diq

2

HDDS ภายในหกจุด หากเป็นไดรฟ์ภายนอกฮ็อตสว็อปผู้ให้บริการฮ็อตสว็อปน่าจะมีไฟแจ้งข้อผิดพลาดเพื่อช่วยคุณระบุไดรฟ์ที่ไม่ดี นอกจากนี้โปรแกรมการจัดการ RAID หลายตัวมีตัวเลือกในการแฟลชแสงบนไดรฟ์เฉพาะเพื่อพิจารณาว่าอันไหน หากพวกมันอยู่ภายในที่ไม่มีไฟคุณก็ลงไปที่ซอฟต์แวร์ RAID ของคุณเพื่อบอกคุณว่า ID ใดดีและมองไปที่ SCSI ID ฯลฯ เพื่อที่จะคิดออก หากพวกเขาถูกตั้งค่าเป็นอัตโนมัติเอกสารควบคุม RAID ของคุณควรบอกคุณว่าลำดับใดในห่วงโซ่ SCSI ที่มีการกำหนด ID โชคดี. ทำการสำรองข้อมูลในขณะที่สิ่งต่าง ๆ ยังคงทำงานอยู่!


2

อย่างน้อยที่สุดซอฟต์แวร์ RAID / คอนโทรลเลอร์ที่บอกคุณเกี่ยวกับไดรฟ์ที่ล้มเหลวควรบอกคุณว่าไดรฟ์ใดที่ล้มเหลว (หมายเลขประจำตัว) 0 มักจะเป็นหนึ่งในด้านซ้ายบนย้ายลงแล้วไปทางขวา (ถ้าในสองคอลัมน์หรือมากกว่า) พอร์ตอาจมีข้อความกำกับ


2

สำหรับคำตอบสั้น ๆ - "lsscsi" สำหรับคำตอบโดยละเอียด - "ดิสก์ lshw -c" ​​จะแสดงพอร์ต HDD และ SATA ที่เชื่อมต่อ


2

หากคุณไม่มีแสงสว่างและไม่สามารถหาหมายเลขซีเรียลได้ง่าย ๆ ที่ด้านนอกของไดรฟ์บางครั้งเทคนิควิเศษนี้สามารถช่วยได้: สร้างกิจกรรมจำนวนมากบนไดรฟ์เฉพาะนั้นแล้วมองหาไดรฟ์ที่มีไฟ LED กิจกรรมบนทึบ . เป็นการดีที่สุดที่จะติดตามด้วยการตรวจสอบรายละเอียดเพิ่มเติมของหมายเลขซีเรียล แต่สิ่งนี้จะช่วย จำกัด การค้นหาให้แคบลง

เช่น:

# while true; do dd if=/dev/disk/by-id/scsi-drive-that-is-dying of=/dev/null; sleep 1; done

(ในขณะที่ไม่จำเป็นต้องใช้เทคนิค loop แต่จะทำให้สิ่งต่าง ๆ เคลื่อนไหวในขณะที่คุณมุ่งหน้าไปยังศูนย์ข้อมูล "sleep 1" ช่วยหลีกเลี่ยงการใช้งาน CPU สูงที่สร้างโดย fast loop หาก "dd" ล้มเหลวเนื่องจากว่า .. . ไดรฟ์ถูกตัดการเชื่อมต่อ)


1

เมื่อทุกอย่างล้มเหลวคุณสามารถระบุไดรฟ์ที่ไม่ล้มเหลวและทำงานย้อนหลังได้

find / -type f -exec cat {} \; >> /dev/null

ไม่ว่าจะเปิดไฟกิจกรรมใดก็ตามไม่น่าจะเป็นไปได้ (และหวังว่ามันจะเป็นเพียงแค่หนึ่ง) โปรดทราบว่าหากคุณมีการกำหนดค่าอะไหล่ฮอตสปอต


0

ควรติดป้ายกำกับบนตัวเครื่องและสอดคล้องกับซอฟต์แวร์ RAID

ใน Dells ของเราไม่ใช่วิธีที่คุณคิด ในส่วนของเรา 0: 0 คือด้านล่างซ้าย, 0: 1 อยู่ด้านบนซ้าย, 0: 2 อยู่ตรงกลางด้านล่าง, ฯลฯ ในเซิร์ฟเวอร์ทั้งหมดที่ฉันใช้ (ยกเว้นงานโฮมเมด) ซอฟต์แวร์ RAID จะระบุพอร์ตและมันจะเป็น ป้ายกำกับ


0

scsirastoolsมีชุดเครื่องมือที่ให้คุณทำการทดสอบการวินิจฉัยต่าง ๆ บนดิสก์ SCSI คุณยังสามารถใช้ sgmon เพื่อปิดดิสก์ภายใต้การควบคุมซอฟต์แวร์ อย่างน้อยนี่จะช่วยให้คุณระบุฟิสิคัลดิสก์ที่คุณสามารถหาได้ด้วยการวินิจฉัย

หากคุณมีคอนโทรลเลอร์ RAID ของฮาร์ดแวร์ BIOS หรือซอฟต์แวร์การจัดการของคอนโทรลเลอร์ควรมีสิ่งอำนวยความสะดวกที่ช่วยให้คุณระบุดิสก์ที่ไม่ดีได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.