Jak ustalić, który dysk zawiódł w konfiguracji FreeNAS / ZFS

12

Buduję serwer oparty na FreeNAS w obudowie Supermicro X6DHE-XB 3U z 4G pamięci RAM i 16 wnękami SATA typu hot-swap. Jest wyposażony w 2-portowe karty RAID 2x8 z portem 3Ware, ale planuję po prostu użyć funkcji ZFS zamiast sprzętowej macierzy RAID. Mój początkowy zestaw dysków to dyski 8x2 TB HITACHI Deskstar 7K3000 HDS723020BLA642.

Gdybym korzystał ze sprzętowej macierzy RAID, dałoby mi to czerwone światło na wnęce napędu, w której wystąpił błąd napędu. Jak działa z ZFS, gdy dysk ulegnie awarii? Nie sądzę, że istnieje jakakolwiek gwarancja, że ​​sda ​​= bay1, sdb = bay2 itd., Więc jak określić, który dysk należy wymienić? Czy ZFS może przesłać raport do kontrolera SATA, aby włączyć lampkę „uszkodzony dysk”? Czy po prostu zgłasza numer seryjny napędu? Co się stanie, jeśli dysk ulegnie awarii tak mocno, że nie będzie mógł zgłosić swojego numeru seryjnego? Wydaje mi się, że dobrym pomysłem jest zapisanie numeru seryjnego każdego napędu i zatoki, w którą się włączył, zanim zaczniesz działać. Czy istnieją jakieś inne zadania „przedprodukcyjne”, które ułatwią wymianę dysków w przyszłości?

John P.
źródło

Odpowiedzi:

4

zpool status -v powinien powiedzieć, który dysk jest online, czy nie.

Marcin
źródło
3
+1 FreeNAS jest oparty na FreeBSD, a napędy będą w kolejności zapewnianej przez kartę. Jeśli istnieje pojedynczy 8-portowy kontroler SAS, dyski będą miały oznaczenia od / dev / da0 do / dev / da7, z taką samą numeracją jak karta (dobre kable są również oznaczone na dysk). Jeśli masz wiele kontrolerów lub coś skomplikowanego, możesz uruchomić, camcontrol devlistaby uzyskać listę wszystkich napędów SAS / SCSI oraz karty, celu, linii, na której są.
Chris S,
1
Chris S jest niepoprawny. Dyski nie zawsze pojawiają się w kolejności zapewnianej przez kartę. Na przykład nasz „da7” pojawia się na drugim miejscu na liście 8 napędów ... Ponadto status zpool podaje jedynie etykiety, a nie rzeczywiste dyski.
Brian Knoblauch
8

Obecna wersja FreeNAS (obecnie wer. 9.3) utworzy gptid dla każdego dysku dodanego do zpool. Natychmiast po utworzeniu „status zpool” będzie wyglądał mniej więcej tak (w zależności od konfiguracji puli) ...

#
pula statusu zpool :
stan myzfstest :
skanowanie ONLINE : brak
wymagana konfiguracja:

    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

błędy: brak znanych błędów danych

Niestety internetowy interfejs graficzny nie wyświetla tych liczb. Tak więc, jeśli pojawi się błąd mówiący, że „gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40” jest zły ... skąd wiesz, który napęd należy pociągnąć? Ustalenie tej części wymaga trochę pracy nóg w momencie instalacji.

  1. Podczas budowania systemu. Zapisz numer seryjny każdego dysku, a także zanotuj lokalizację, w której ten dysk został włożony. Na przykład w przypadku dwustronnego przypadku JBOD możesz zanotować przód / tył, wiersz i kolumnę.
  2. Po uruchomieniu FreeNAS w internetowym interfejsie GUI przejdź do „przechowywania> woluminów / wyświetl dyski”. Na tej karcie powinna znajdować się lista wszystkich dysków i ich numerów seryjnych. Zanotuj nazwę napędu podaną dla każdego numeru seryjnego, który miałeś na poprzedniej liście. Jeśli nie widzisz numerów seryjnych, musisz smartctl -a /dev/ada0 | grep ^Serialzejść do powłoki i wpisać (zastępując „/ dev / ada0” każdą nazwą napędu z listy)
  3. Teraz, w powłoce, musimy dopasować nazwy dysków do wszystkich liczb gptid. Więc wpisz glabel statusi powinieneś dostać coś takiego ...

    # 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. Teraz napisz wszystkie liczby gptid, aby powiązać je z nazwami dysków, a tym samym numerami seryjnymi i ich lokalizacjami. Uwaga : gdy widzisz coś takiego jak „da3p1”, oznacza to, że partycja jest jednym z dysków określonych jako da3. Lista w internetowym interfejsie GUI pokaże tylko etykietę „da3” dla dysku.

Teraz, gdy pojawi się błąd informujący, że dysk o numerze gptid xyz ma błąd, będziesz mógł odwołać się do arkusza i dowiedzieć się, który dysk należy pobrać / wymienić.

Wiem, że jest już późno na oryginalny plakat; ale być może inni uznają to za przydatne.

Craig
źródło
1
W pierwotnym pytaniu kluczowym elementem jest „status glabel”. Pozwoli ci to ustalić mapowanie między zwariowanymi identyfikatorami a fizycznym.
Brian Knoblauch,
Łał. Świetna odpowiedź, ale to trochę rozczarowujące ZFS nie ma w połowie przyzwoitego sposobu śledzenia dysków.
mikato
5

Potrzebujesz narzędzia sas2ircu z LSI (teraz Avago). LSI utrzymuje wersje dla FreeBSD, Linux i Windwos. Z FreeNAS będziesz potrzebować wersji FreeBSD.

Aby wypróbować, umieść go w katalogu / tmp i najpierw wykonaj go.

Krok pierwszy to odkrycie identyfikatora karty SAS HBA (przykład):

/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.

Drugim krokiem będzie wygenerowanie listy wszystkich urządzeń, które możesz później sprawdzić:

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

Krok 3 polega na sprawdzeniu listy dysków. Będzie wyglądać podobnie do:

/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

Krok 4 polega na zidentyfikowaniu uszkodzonego dysku - dowiesz się, na podstawie brakujących lub uszkodzonych informacji zgłoszonych na dysku. Uzyskaj nr załącznika i gniazdo nr i użyj ich, aby mrugnąć diodą LED zasobnika w kroku 5: Aby zlokalizować załącznik nr 4, gniazdo nr 0

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

Aby wyłączyć diodę LED po wymianie:

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

Mam nadzieję, że to pomoże!

Dimitar Boyn
źródło
niektóre systemy freeNAS mogą wymagać sas3ircu
Brian Minton
2

Spójrz na tomy.

Wybierz wolumin, który jest zdegradowany.

U dołu ekranu znajdują się trzy opcje ... kliknij Status głośności

Zobaczysz teraz zbliżenie woluminu, a jego poszczególne dyski twarde zawierają coś w rodzaju ada3p2, ada5p2, ada6p2, ada4p2 itp.

Wybierz Zdegradowany dysk.

U dołu ekranu zobaczysz dwie opcje; Edytuj dysk i zamień

Wybierz Edytuj dysk

Powinieneś teraz zobaczyć numer seryjny zdegradowanego dysku.

Wyłącz serwer FreeNAS i poszukaj tego dysku.

wri7913
źródło
To powinna być prawidłowa odpowiedź. Gdy to zrobiłem, znalazłem pełną listę wszystkich dołączonych seriali, dlatego ta, która nie została dołączona, musi być wadliwa! Dziękuję bardzo @ wri7913
Delta_zulu
1

Zakłada się, że masz obudowę z indywidualnymi lampkami HD (inaczej obudowa serwera)

Znajdź listę dla dysku, który jest zły. Przykład / dev / da9, /dev/sda...etc

Offline ten dysk przy użyciu poleceń terminalu GUI lub FreeNAS.

Wykonaj DD, aby odczytać ten dysk na / dev / null, gdy patrzysz na przód serwera na światło, które teraz miga szaleńczo.

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

Zanotuj lokalizację dysku, anuluj polecenie DD (ctrl-c), a następnie przejdź do metody wymiany. W przypadku freeNAS załaduj nowy dysk, a następnie kliknij przycisk Zastąp GUI i zakończ proces. Po zakończeniu usuń uszkodzony dysk i rób z nim, co chcesz. Przetestuj to bardziej, Bezpiecznie Wymaż, zniszcz fizycznie, wyślij do naprawy gwarancyjnej ... itd.

Easyanswer
źródło
0

najłatwiejszy sposób, jaki znalazłem.

kliknij miejsce przechowywania kliknij zobacz dyski.

wyciągnij jeden kabel sata. wydrukuj etykietę z brakującym dyskiem z widoku dysku, inaczej naklejkę ada1 na bok napędu.

podłącz ponownie dysk. wyciągnij drugi kabel sata z etykiety drukowanej ada2 itp

wtedy, gdy dysk ulegnie awarii, znasz jego ada2

Michael Harker
źródło