Skip to content


zpoolをdisk labelで組み直す

内蔵HDD構成では5本以上の構成ではケースの選択肢が限られるので、HDD本数を3TiB×5本から3TiB×7構成に変更するのに合わせて見直しを行った。

[変更前]

M/B: ASUSTek P8H77-I
HBA: HighPoint RocketRAID 2720SGL + SFF-8087 miniSAS->SATA(4分岐)ケーブル
HDD: Seagate ST3000DM001 3TiB × 5本 raidz2

[変更後]
M/B: Intel Desktop Board DQ77MK
HBA: LSI SAS 9200-8e + SFF-8088 miniSAS
HDD: Seagate ST3000DM001 3TiB × 7本 raidz2
HDD Enclosure: STARDOM ST8-U5

CPUやメモリ、電源はそのまま流用するためちょっとストックしていたM/Bを引っ張り出して再利用。
RR2720の時と違い、SAS9200-8eは特に何もしないでもFreeBSDで認識し使用できるのだけど、肝心のM/BがBIOS画面に行く前の段階で固まってしまい認識しない。
Intelのサポートサイトからファームウェアのバージョンをチェックしてみたら、搭載しているF/Wバージョンは一番最初の0034。最新は064で相当古い。
しかし、最新064には起動時にF7キーを押す方法では容量が足りないとエラーが表示されてアップデートが行われない。仕方ないのでマザーボード上のジャンパーピンを外して行うリカバリーアップデートを実行。問題なく認識するようになった。

リカバリーアップデートの詳しい手順はPDFに記載してありますが英語なので簡単に書いておくと。

  1. PDFの2ページ目に載ってる”Image 2: Jumper in place(BIOS Recovery Mode) (Normal Mode)”の様な目立つジャンパーピンを抜く。(電源コンセントを抜いた状態で!)
  2. あらかじめダウンロードしたファームウェアファイル(*.BIO)をコピーしておいたUSBメモリを挿す。
  3. 電源を入れて立ち上げる。
  4. F/Wのアップデートが始まるので、成功することを適切な神様に祈りながら待つ。
  5. アップデートが終了したら電源を切って電源プラグを抜きUSBメモリを外す。
  6. ジャンパーピンを元に戻す。
  7. 再起動がうまくいけば成功。

今度はあっさりとSAS9200-8eの認識成功。zpoolの作成は以前の手順と同じなので省略。
SAS9200-8e + ST8-U5の構成にして一つ困ったことはHDDに割り当てられるデバイス名が認識順のため、HDDが故障して交換等があると番号が変わってくる。
先日、da4に割り当てられていたHDDが故障したので又々(何回目だろう)RMAを使用して交換した。
Seagate ST3000DM001は耐久性が今一と言われており実際によく故障してる。しかし、RMAの返送先がSeagateは国内(千葉)にあるので手続きが非常に簡単で早いのと、WesternDigitalのコンシューマ向けHDDに搭載されているIntelliParkが嫌なので相変わらずSeagate。

交換用HDDが届いたので早速交換。その際のログがこちら。

しかし、交換後再起動したら問題発生。
実はda4に割り当てられていたHDDが故障したのでHDDを抜き取り、送付、交換用HDDが届くまで1週間位かかっているのだが、その間、故障してからずっとPCは動作させっぱなしだったので新しくHDDを挿した時にも空いていたda4が再度割り当てられていた。ここで再起動すると認識の順番が変わりda4->da6, da5->da4, da6->da5にずれてしまった。

何かある度にデバイスがずれてしまうと作業ミスが発生しやすくなるし、なにより見た目が宜しくない(本音)なので、これを機会にGPTラベルでの管理に変更する事とした。

まずzfsに割り当てるパーティションにGPTラベルを設定する。単純にdata poolのメンバーだから先頭からdata01~data07を割り当てる。

da4のパーティションインデックス”1″にラベル”data04″を割り当てるのは以下。

同様にしてdata poolの全てのメンバーにラベルを設定する。
次に、GPTラベルを使える様にkern.geom.label.gpt.enableの値をFreeBSDデフォルトの”1″となる様、以前に”0″と設定していた/boot/loader.confの以下の記述を修正(コメントアウト)する。

ここまで準備が出来たら設定を活かすために再起動する。
しかし、これだけではzpoolの表示は変わらない。有効とするためには以下の操作が必要。

シリアルNo.はSeagateではHDD表面のS/Nの箇所で確認できる。
また、diskinfoコマンドでも確認できるのでHDDが故障したときのために、GPTラベルに対応するHDD毎のシリアルNo.を記録しておく。

いざというときに慌てないためにも、一覧にして印刷した紙をST8-U5の側に貼っております。

Posted in FreeBSD.

Tagged with , , , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.