FreeNAS / ZFS 설정에서 실패한 디스크를 확인하는 방법


12

4G RAM, 16 개의 SATA 핫 스왑 베이를 갖춘 Supermicro X6DHE-XB 3U 인클로저에 FreeNAS 기반 서버를 구축하고 있습니다. 2x8 포트 3Ware RAID 카드와 함께 제공되지만 하드웨어 RAID 대신 ZFS 기능 만 사용하려고합니다. 초기 드라이브 세트는 8x2TB HITACHI Deskstar 7K3000 HDS723020BLA642 드라이브입니다.

하드웨어 기반 RAID를 사용하는 경우 드라이브가 고장난 드라이브 베이에 빨간색 불이 들어옵니다. 드라이브 장애시 ZFS와 어떻게 작동합니까? sda = bay1, sdb = bay2 등을 보장하지 않는다고 생각하므로 교체해야 할 드라이브를 어떻게 결정합니까? ZFS가 SATA 컨트롤러에 다시보고하여 "실패한 드라이브"표시등을 켤 수 있습니까? 드라이브 일련 번호 만보고합니까? 드라이브가 실패하여 일련 번호를보고 할 수없는 경우 어떻게합니까? 모든 드라이브의 일련 번호와 라이브를 시작하기 전에 들어온 베이를 기록해 두는 것이 좋습니다. 앞으로 드라이브를보다 쉽게 ​​교체 할 수있는 다른 "사전 프로덕션"작업이 있습니까?

답변:


4

zpool status -v 어떤 디스크가 온라인인지 아닌지를 알려 주어야합니다.


3
+1 FreeNAS는 FreeBSD 기반이며 드라이브는 카드가 제공 한 순서대로되어 있습니다. 단일 8 포트 SAS 컨트롤러가있는 경우 드라이브는 카드와 번호가 같은 / dev / da0 ~ / dev / da7이됩니다 (드라이브 당 올바른 케이블도 표시되어 있음). 컨트롤러가 여러 개이거나 복잡한 것이 있으면 camcontrol devlist모든 SAS / SCSI 드라이브와 어떤 카드, 대상, 장치를 나열하기 위해 실행할 수 있습니다 .
Chris S

1
Chris S가 잘못되었습니다. 드라이브가 항상 카드가 제공 한 순서대로 나타나지는 않습니다. 예를 들어, "da7"은 8 개의 드라이브 목록에서 두 번째로 나타납니다. 또한 zpool 상태는 실제 디스크가 아닌 레이블 만 제공합니다.
Brian Knoblauch

8

현재 버전의 FreeNAS (현재 9.3 버전)는 zpool에 추가 된 각 드라이브에 대해 gptid를 생성합니다. 생성 직후 "zpool status"는 다음과 같습니다 (풀 구성에 따라 다름).

# zpool 상태
풀 : myzfstest
상태 : 온라인
스캔 :
요청 된 구성 없음 :

    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"가 나쁘다는 오류가 표시되면 ... 어떤 드라이브를 당겨야하는지 어떻게 알 수 있습니까? 해당 부분을 파악하려면 설치시 약간의 합법적 인 작업이 필요합니다.

  1. 시스템을 구축 할 때 모든 드라이브의 일련 번호를 기록하고 해당 드라이브가 삽입 된 위치를 기록하십시오. 예를 들어 양면 JBOD의 경우 앞 / 뒤, 행 및 열을 기록 할 수 있습니다.
  2. FreeNAS를 부팅 할 때 웹 GUI에서 "storage> volumes / view disks"로 이동하십시오. 해당 탭에는 모든 드라이브 및 일련 번호 목록이 있어야합니다. 이전 목록에있는 각 일련 번호에 지정된 드라이브 이름을 기록하십시오. 일련 번호가 표시되지 않으면 쉘로 이동하여 유형 smartctl -a /dev/ada0 | grep ^Serial을 지정해야합니다 (목록에서 각 드라이브 이름이 "/ dev / ada0"으로 바 rep).
  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 status"가 중요한 부분입니다. 그러면 괴상한 ID와 실제 ID 간의 매핑을 파악할 수 있습니다.
Brian Knoblauch

와. 대단한 대답이지만 ZFS는 디스크를 추적 할 반 정도의 방법이 없습니다.
mikato

5

필요한 것은 LSI (현재 Avago) 의 sas2ircu 유틸리티입니다. LSI는 FreeBSD, Linux 및 Windwos 버전을 유지 관리합니다. FreeNAS를 사용하려면 FreeBSD 버전이 필요합니다.

시도해 보려면 / tmp 디렉토리에 넣고 실행 파일을 먼저 실행하십시오.

1 단계는 SAS HBA의 ID를 찾습니다 (예).

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

2 단계는 나중에 검사 할 수있는 모든 장치 목록을 생성하는 것입니다.

/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 단계는 고장난 드라이브를 식별하는 것입니다. 드라이브에 누락되거나 손상된 정보가보고 된 것을 알 수 있습니다. 인클로저 번호와 슬롯 번호를 확인하고 5 단계에서 트레이 LED를 깜박이는 데 사용합니다. 인클로저 번호 4, 슬롯 번호 0을 찾으려면

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

교체 후 LED를 끄려면 :

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

이게 도움이 되길 바란다!


일부 freeNAS 시스템은 sas3ircu가 필요할 수 있습니다
Brian Minton

2

음량을보십시오.

저하 된 볼륨을 선택하십시오.

화면 하단에 3 가지 선택 항목이 있습니다. 볼륨 상태를 클릭하십시오.

이제 볼륨의 근접 촬영과 개별 하드 드라이브에 ada3p2, ada5p2, ada6p2, ada4p2 등이 나열되어 있습니다.

Degraded Drive를 선택하십시오.

화면 하단에는 두 가지 옵션이 있습니다. 디스크 편집 및 교체

디스크 편집을 선택하십시오

이제 성능이 저하 된 디스크의 일련 번호가 표시됩니다.

FreeNAS 서버의 전원을 끄고 해당 디스크를 찾으십시오.


이것은 정답이어야합니다.이 작업을 수행 할 때 연결된 모든 일련 번호의 전체 목록을 찾았으므로 첨부되지 않은 것은 잘못된 것이어야합니다! 정말 감사합니다 @ wri7913
Delta_zulu

1

이것은 개별 HD 조명이있는 케이스 (일명 서버 케이스)가 있다고 가정합니다.

불량 드라이브 목록을 찾으십시오. 예 / dev / da9, /dev/sda...etc

GUI 또는 FreeNAS 터미널 명령을 사용하여 해당 디스크를 오프라인으로 전환하십시오.

DD를 실행하여 서버 앞면에서 현재 깜박 거리는 표시등을 찾는 동안 해당 디스크를 / dev / null로 읽습니다.

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

디스크 위치를 확인하고 DD 명령 (ctrl-c)을 취소 한 다음 교체 방법을 확인하십시오. freeNAS의 경우 새 디스크를로드 한 후 GUI 바꾸기 단추를 클릭하고 해당 프로세스를 완료하십시오. 완료되면 불량 드라이브를 제거하고 원하는대로 수행하십시오. 더 많이 테스트하고, 안전하게 지우고, 물리적으로 파괴하고, 보증 수리를 위해 보내십시오.


0

내가 찾은 가장 쉬운 방법.

스토리지 클릭보기 드라이브를 클릭하십시오.

하나의 SATA 케이블을 뽑습니다. 디스크보기 aka1 스틱 레이블에서 드라이브 측면에 드라이브가없는 레이블을 인쇄하십시오.

드라이브를 다시 연결하십시오. 인쇄 라벨 ada2 등에서 두 번째 sata 케이블을 당기십시오

그런 다음 드라이브가 실패하면 ada2를 알게됩니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.