วิธีการตรวจสอบดิสก์ที่ล้มเหลวในการตั้งค่า FreeNAS / ZFS


12

ฉันกำลังสร้างเซิร์ฟเวอร์ที่ใช้ FreeNAS ในกล่องหุ้ม Supermicro X6DHE-XB 3U พร้อม RAM 4GB, อ่าว SATA hot-swap 16 SATA มันมาพร้อมกับการ์ด 2x8 พอร์ต 3Ware RAID แต่ฉันวางแผนที่จะใช้ความสามารถของ ZFS แทนการใช้ฮาร์ดแวร์ RAID ชุดไดรฟ์เริ่มต้นของฉันจะเป็นไดรฟ์ HITACHI Deskstar 7K3000 HDS723020BLA642

ถ้าฉันใช้ RAID แบบฮาร์ดแวร์มันจะให้แสงสีแดงบนช่องไดรฟ์ที่ไดรฟ์ล้มเหลว มันทำงานอย่างไรกับ ZFS เมื่อไดรฟ์ล้มเหลว ฉันไม่คิดว่าจะมีการรับประกันใด ๆ ว่า sda = bay1, sdb = bay2 ฯลฯ ดังนั้นคุณจะทราบได้อย่างไรว่าต้องเปลี่ยนไดรฟ์ตัวใด ZFS สามารถรายงานกลับไปที่คอนโทรลเลอร์ SATA เพื่อเปิดไฟ "ล้มเหลวของไดรฟ์" ได้หรือไม่? มันเป็นเพียงแค่รายงานหมายเลขซีเรียลไดรฟ์? จะเกิดอะไรขึ้นถ้าไดรฟ์ล้มเหลวอย่างหนักมันไม่สามารถรายงานว่าเป็นหมายเลขซีเรียลได้ ฉันคิดว่ามันเป็นความคิดที่ดีที่จะจดบันทึกหมายเลขซีเรียลของไดรฟ์ทุกตัวและใส่เข้าไปในช่องใดก่อนที่คุณจะใช้งานจริง มีงาน "pre-production" อื่น ๆ ที่จะทำให้การเปลี่ยนไดรฟ์ง่ายขึ้นในอนาคตหรือไม่

คำตอบ:


4

zpool status -v ควรบอกคุณว่าดิสก์ใดออนไลน์อยู่หรือไม่


3
+1 FreeNAS ใช้ FreeBSD และไดรฟ์จะเป็นไปตามลำดับที่การ์ดมอบให้ หากมีคอนโทรลเลอร์ SAS พอร์ต 8 พอร์ตเดียวไดรฟ์จะเป็น / dev / da0 ถึง / dev / da7 ที่มีหมายเลขเดียวกับการ์ด (สายเคเบิลที่ดีจะมีป้ายกำกับต่อไดรฟ์ด้วย) หากคุณมีคอนโทรลเลอร์หลายตัวหรืออะไรก็ตามที่ซับซ้อนคุณสามารถเรียกใช้camcontrol devlistเพื่อรับรายการไดรฟ์ SAS / SCSI ทั้งหมดและการ์ดเป้าหมายเป้าหมาย
Chris S

1
Chris S ไม่ถูกต้อง ไดรฟ์ไม่ปรากฏขึ้นตามลำดับที่การ์ดมอบให้เสมอไป ตัวอย่างเช่น "da7" ของเราจะปรากฏเป็นลำดับที่สองในรายการไดรฟ์ 8 รายการ ... นอกจากนี้สถานะ zpool จะให้ป้ายเท่านั้นไม่ใช่ดิสก์จริง
Brian Knoblauch

8

FreeNAS เวอร์ชันปัจจุบัน (เวอร์ชั่น 9.3 ในขณะนี้) จะสร้าง gptid สำหรับแต่ละไดรฟ์ที่เพิ่มใน zpool หลังจากสร้างเสร็จแล้ว "สถานะ zpool" จะมีลักษณะเช่นนี้ (ขึ้นอยู่กับการกำหนดค่าพูลของคุณ) ...

# กลุ่มสถานะ zpool
:
สถานะmyzfstest : การ
สแกนออนไลน์: ไม่มีการ
ร้องขอ config:

    NAME                                            STATE     READ WRITE CKSUM
    myzfstest                                       ONLINE       0     0     0
      raidz-0                                       ONLINE       0     0     0
        gptid/4fc2b789-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/51d38480-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/54c672cc-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/56a07638-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
      raidz2-1                                      ONLINE       0     0     0
        gptid/630e1317-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/6557b52d-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/667a1318-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/68cadf75-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
    logs
      mirror-2                                      ONLINE       0     0     0
        gptid/8839f22e-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
        gptid/8a6d0b14-7b7f-11e4-9585-de9b81338d40  ONLINE       0     0     0
    cache
      gptid/8c2f3824-7b7f-11e4-9585-de9b81338d40    ONLINE       0     0     0
      gptid/8da9ba80-7b7f-11e4-9585-de9b81338d40    ONLINE       0     0     0
    spares
      gptid/72f039f2-7b8a-11e4-9585-de9b81338d40    AVAIL
      gptid/750df91d-7b8a-11e4-9585-de9b81338d40    AVAIL

ข้อผิดพลาด: ไม่พบข้อผิดพลาดข้อมูล

น่าเสียดายที่เว็บ GUI ไม่แสดงหมายเลขเหล่านี้ให้คุณเห็น ดังนั้นหากคุณได้รับข้อผิดพลาดที่บอกว่า "gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40" ไม่ดี ... คุณรู้ได้อย่างไรว่าจะดึงไดรฟ์ตัวใด การหาส่วนที่ต้องใช้ legwork ในขณะติดตั้ง

  1. เมื่อคุณสร้างระบบ จดบันทึกหมายเลขซีเรียลของทุกไดรฟ์และจดตำแหน่งที่ใส่ไดรฟ์นั้นไว้ ในกรณีที่เป็น JBOD สองด้านคุณอาจต้องการบันทึกด้านหน้า / หลังแถวและคอลัมน์
  2. เมื่อคุณบูท FreeNAS ในเว็บ GUI ให้ไปที่ "การจัดเก็บ> ไดรฟ์ข้อมูล / ดูดิสก์" ในแท็บนั้นคุณควรมีรายการไดรฟ์ทั้งหมดและหมายเลขซีเรียลของพวกเขา จดชื่อไดรฟ์สำหรับแต่ละหมายเลขที่คุณมีในรายการก่อนหน้า หากคุณไม่เห็นหมายเลขซีเรียลคุณจะต้องไปที่เชลล์และประเภทsmartctl -a /dev/ada0 | grep ^Serial(แทนที่ "/ dev / ada0" ด้วยชื่อไดรฟ์แต่ละตัวจากรายการ)
  3. ตอนนี้ที่เชลล์เราต้องจับคู่ชื่อไดรฟ์กับหมายเลข gptid ทั้งหมด ดังนั้นพิมพ์glabel statusและคุณควรได้รับสิ่งนี้ ...

    # glabel status
    
    CORRECT>glabel status (y|n|e|a)? yes    
                                          Name  Status  Components  
                                 ufs/FreeNASs3     N/A  ada0s3  
                                 ufs/FreeNASs4     N/A  ada0s4  
                                ufs/FreeNASs1a     N/A  ada0s1a
    gptid/616cddb6-7b7f-11e4-9585-de9b81338d40     N/A  ada0p2  
    gptid/630e1317-7b7f-11e4-9585-de9b81338d40     N/A  da1p1   
    gptid/6557b52d-7b7f-11e4-9585-de9b81338d40     N/A  da2p1   
    gptid/667a1318-7b7f-11e4-9585-de9b81338d40     N/A  da3p1   
    gptid/68cadf75-7b7f-11e4-9585-de9b81338d40     N/A  da4p1   
    
  4. ตอนนี้เขียนหมายเลข gptid ทั้งหมดเพื่อเชื่อมโยงพวกเขากับชื่อไดรฟ์และทำให้หมายเลขซีเรียลและตำแหน่งของพวกเขา หมายเหตุ : เมื่อคุณเห็นบางสิ่งเช่น "da3p1" นั่นคือพาร์ติชันหนึ่งในไดรฟ์ที่ระบุว่าเป็น da3 รายการในเว็บ GUI จะแสดงเฉพาะป้ายกำกับ "da3" สำหรับดิสก์

ตอนนี้เมื่อมีข้อผิดพลาดเกิดขึ้นบอกว่าดิสก์ที่มีหมายเลข gptid xyzมีข้อผิดพลาดคุณจะสามารถอ้างอิงชีตของคุณและรู้ว่าไดรฟ์ใดที่คุณต้องดึง / แทนที่

ฉันรู้ว่านี่มันสายไปแล้วสำหรับโปสเตอร์ต้นฉบับ แต่บางทีคนอื่นอาจพบว่ามีประโยชน์


1
สำหรับคำถามเดิม "สถานะ glabel" เป็นส่วนที่สำคัญ ที่จะช่วยให้คุณทราบการแมประหว่างรหัสแปลกประหลาดและฟิสิคัล
Brian Knoblauch

ว้าว. คำตอบที่ยอดเยี่ยม แต่ก็น่าผิดหวังเล็กน้อย ZFS ไม่มีวิธีครึ่งทางที่เหมาะสมในการติดตามดิสก์
mikato

5

สิ่งที่คุณต้องการคือยูทิลิตีsas2ircuจาก LSI (ตอนนี้ Avago) LSI ดูแลเวอร์ชันสำหรับ FreeBSD, Linux และ Windwos ด้วย FreeNAS คุณจะต้องมีรุ่น FreeBSD

หากต้องการลองใช้คุณจะต้องวางไว้ในไดเรกทอรี / tmp และทำให้สามารถเรียกใช้งานได้ก่อน

ขั้นตอนที่หนึ่งคือค้นหา ID ของ SAS HBA ของคุณ (ตัวอย่าง):

/tmp# ./sas2ircu list
LSI Corporation SAS2 IR Configuration Utility.
Version 19.00.00.00 (2014.03.17)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.


         Adapter      Vendor  Device                       SubSys  SubSys
 Index    Type          ID      ID    Pci Address          Ven ID  Dev ID
 -----  ------------  ------  ------  -----------------    ------  ------
   0     SAS2008     1000h    72h   00h:04h:00h:00h      1000h   3020h
SAS2IRCU: Utility Completed Successfully.

ขั้นตอนที่สองจะสร้างรายการอุปกรณ์ทั้งหมดของคุณที่คุณสามารถตรวจสอบได้ในภายหลัง:

/tmp# ./sas2ircu 0 display > disklist.txt

ขั้นตอนที่ 3 กำลังตรวจสอบรายการดิสก์ของคุณ มันจะมีลักษณะคล้ายกับ:

/tmp# vi disklist.txt
LSI Corporation SAS2 IR Configuration Utility.
Version 19.00.00.00 (2014.03.17)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.

Read configuration has been initiated for controller 0
------------------------------------------------------------------------
Controller information
------------------------------------------------------------------------
  Controller type                         : SAS2008
  BIOS version                            : 7.37.00.00
  Firmware version                        : 19.00.00.00
  Channel description                     : 1 Serial Attached SCSI
  Initiator ID                            : 0
  Maximum physical devices                : 255
  Concurrent commands supported           : 3432
  Slot                                    : 4
  Segment                                 : 0
  Bus                                     : 4
  Device                                  : 0
  Function                                : 0
  RAID Support                            : No
------------------------------------------------------------------------
IR Volume information
------------------------------------------------------------------------
------------------------------------------------------------------------
Physical device information
------------------------------------------------------------------------
Initiator at ID #0

Device is a Enclosure services device
  Enclosure #                             : 2
  Slot #                                  : 24
  SAS Address                             : 5003048-0-00d3-a87d
  State                                   : Standby (SBY)
  Manufacturer                            : LSI CORP
  Model Number                            : SAS2X36
  Firmware Revision                       : 0717
  Serial No                               : x36557230
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Enclosure services device
  Enclosure #                             : 3
  Slot #                                  : 0
  SAS Address                             : 5003048-0-00ca-7bfd
  State                                   : Standby (SBY)
  Manufacturer                            : LSI CORP
  Model Number                            : SAS2X28
  Firmware Revision                       : 0717
  Serial No                               : x36557230
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Hard disk
  Enclosure #                             : 4
  Slot #                                  : 0
  SAS Address                             : 5003048-0-00d3-a8cc
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 1907729/3907029167
  Manufacturer                            : ATA
  Model Number                            : WDC WD20EARS-00M
  Firmware Revision                       : AB51
  Serial No                               : WDWCAZA1037887
  GUID                                    : N/A
  Drive Type                              : Undetermined

Device is a Hard disk
  Enclosure #                             : 4
  Slot #                                  : 1

ขั้นตอนที่ 4 คือการระบุไดรฟ์ที่ล้มเหลวของคุณ - คุณจะรู้ว่าข้อมูลใดที่หายไปหรือเสียหายที่รายงานบนไดรฟ์ รับสิ่งที่แนบมา # และ The Slot # และใช้พวกเขาในการกระพริบไฟ LED ของถาดในขั้นตอนที่ 5: เพื่อค้นหาสิ่งที่แนบมา # 4, Slot # 0

 /tmp# ./sas2ircu 0 locate 4:1 ON

วิธีปิดไฟ LED หลังจากเปลี่ยน:

/tmp# ./sas2ircu 0 locate 4:1 OFF

ฉันหวังว่านี่จะช่วยได้!


ระบบ freeNAS บางระบบอาจต้องใช้ sas3ircu
Brian Minton

2

ดูที่เล่ม

เลือกระดับเสียงที่ลดระดับลง

ที่ด้านล่างของหน้าจอมีตัวเลือกสามตัวเลือก ... คลิกสถานะระดับเสียง

ตอนนี้คุณจะเห็นไดรฟ์ข้อมูลอย่างใกล้ชิดและฮาร์ดไดรฟ์แต่ละตัวแสดงรายการเช่น ada3p2, ada5p2, ada6p2, ada4p2 เป็นต้น

เลือกไดรฟ์ที่เสื่อมสภาพ

ที่ด้านล่างของหน้าจอคุณจะเห็นสองตัวเลือก แก้ไขดิสก์และแทนที่

เลือกแก้ไขดิสก์

ตอนนี้คุณควรเห็นหมายเลขซีเรียลของดิสก์ที่เสื่อมสภาพ

ปิดเซิร์ฟเวอร์ FreeNAS ของคุณและค้นหาดิสก์นั้น


นี่ควรเป็นคำตอบที่ถูกต้องเมื่อฉันทำสิ่งนี้ฉันพบรายการทั้งหมดของสิ่งพิมพ์ที่แนบมาดังนั้นรายการที่ไม่ได้แนบจะต้องเป็นรายการที่ผิดพลาด! ขอบคุณมาก @ wri7913
Delta_zulu

1

สิ่งนี้จะถือว่าคุณมีเคสที่มีไฟ HD เฉพาะ (กรณีเซิร์ฟเวอร์ aka)

ค้นหารายชื่อของไดรฟ์ที่ไม่ดี ตัวอย่าง / dev / da9, /dev/sda...etc

ออฟไลน์ดิสก์นั้นโดยใช้คำสั่งเทอร์มินัล GUI หรือ FreeNAS

ดำเนินการ DD เพื่ออ่านดิสก์นั้นไปยัง / dev / null ในขณะที่คุณมองไปที่ด้านหน้าของเซิร์ฟเวอร์เพื่อดูแสงที่กระพริบอย่างบ้าคลั่ง

sudo dd if=/dev/da# of=/dev/null

จดบันทึกตำแหน่งของดิสก์ยกเลิกคำสั่ง DD (ctrl-c) แล้วไปที่วิธีการเปลี่ยนของคุณ สำหรับ freeNAS ให้โหลดดิสก์ใหม่ขึ้นแล้วคลิกปุ่ม GUI Replace และเสร็จสิ้นกระบวนการนั้น เมื่อเสร็จแล้วให้นำไดรฟ์ที่ไม่ดีออกและทำสิ่งที่คุณต้องการ ทดสอบมากขึ้น, ปลอดภัยลบ, ทำลายมันทางกายภาพ, ส่งออกไปเพื่อซ่อมการรับประกัน ..... เป็นต้น


0

วิธีที่ง่ายที่สุดที่ฉันพบ

คลิกที่จัดเก็บข้อมูลคลิกดูไดรฟ์

ดึงสายเคเบิล Sata หนึ่งเส้นออก พิมพ์ฉลากที่มีไดรฟ์ที่ขาดหายไปจากดิสก์มุมมองหรือที่รู้จักว่าฉลาก ada1 แบบแท่งอยู่ด้านข้างไดรฟ์

เชื่อมต่อไดรฟ์อีกครั้ง ดึงสายเคเบิล sata ตัวที่สองออกจากฉลากพิมพ์ ada2 ฯลฯ

เมื่อไดรฟ์ล้มเหลวคุณจะรู้ว่า ada2

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