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ドライブとそれらがオンになっているカード、ターゲット、LUNのリストを取得できます。
クリスS

1
クリスSは間違っています。ドライブは、カードが提供する順序で常に表示されるとは限りません。たとえば、「da7」は8つのドライブのリストの2番目に表示されます...また、zpoolステータスは単に実際のディスクではなくラベルを提供するだけです。
ブライアンノブラウチ

8

FreeNASの現在のバージョン(現時点では9.3)は、zpoolに追加された各ドライブに対してgptidを作成します。作成後すぐに、「zpool status」は次のようになります(プールの構成によって異なります)。


#zpool status pool:myzfstest
state:ONLINE
scan:none
requested 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

エラー:既知のデータエラーはありません

残念ながら、Web GUIにはこれらの数値が表示されません。そのため、「gptid / 6557b52d-7b7f-11e4-9585-de9b81338d40」が悪いというエラーが表示された場合、どのドライブをプルするかをどのように知るのですか?その部分を理解するには、インストール時にある程度の作業が必要です。

  1. システムを構築するとき。すべてのドライブのシリアル番号を書き留め、そのドライブが挿入された場所も書き留めます。たとえば、両面JBODの場合、表/裏、行、および列に注意してください。
  2. FreeNASを起動するとき、Web 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として識別されるドライブのパーティション1です。Web GUIのリストには、ディスクのラベル「da3」のみが表示されます。

これで、gptid番号xyzのディスクにエラーがあるというエラーが発生した場合、シートを参照して、どのドライブをプル/交換する必要があるかを知ることができます。

これは元のポスターでは遅すぎることを知っています。しかし、おそらく他の人はこれが便利だと思うでしょう。


1
元の質問では、「glabel status」が重要な部分です。これにより、奇抜なIDと物理的なIDとの間のマッピングを把握できます。
ブライアンノブ

ワオ。いい答えですが、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が必要な場合があります
ブライアンミントン

2

ボリュームを見てください。

劣化したボリュームを選択します。

画面の下部に3つの選択肢があります... [ボリュームステータス]をクリックします

ボリュームのクローズアップと個々のハードドライブがada3p2、ada5p2、ada6p2、ada4p2などのようにリストされます。

劣化したドライブを選択します。

画面の下部に2つのオプションが表示されます。ディスクの編集と交換

[ディスクの編集]を選択します

劣化したディスクのシリアル番号が表示されます。

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

私が見つけた最も簡単な方法。

ストレージをクリックして、ビュードライブをクリックします。

1本のSATAケーブルを引き抜きます。ビューディスクから欠落しているドライブのラベルを印刷します。別名ada1はラベルをドライブの側面に貼り付けます。

ドライブを再接続します。印刷ラベルada2などから2番目のsataケーブルを引き抜きます

ドライブに障害が発生すると、ada2がわかります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.