現在地

NetBSDマシンに6TB HDDを追加した話


カテゴリー:

とあるパーティションが手狭になってきたので6TB HDDを追加しました。

これは元々容量に余裕のあったNASに置いていたのですが、小さなファイルが大量にあるという条件のためかNASのパフォーマンスがあまり出ていませんでした。そこで余っていた(NASトラブルでTS-410から外した)2TBのHDDに移していたのですが、遂に使用率が容量の80%・i-nodeの95%に達してしまい増設することにしました。

2TB→6TBと容量は3倍ですが、容量当たりのi-nodeを倍にする予定なので実質4倍近くになります。

ということでNASでも実績のあるWD Red PlusシリーズのWD60EFZXを調達しました。

これまでローカルに2TBを超えるHDDを接続したことはありませんのでずっとdisklabelを使っていた(しかもfdiskパーティション無し・PC入替(その2)参照)のですが、NetBSDの昔ながらのdisklabelでは2TBまでのドライブしか対応していません。調べると全体を1 disklabelパーティションにする(/dev/wd?dを使う)なら出来ないことは無いらしいのですが、後々面倒みたいなので今回は諦めてwedgeを使うことにします。

まずはGPTパーティションを作成します。

mercury [7] # gpt create wd2

続いてNetBSDの領域を確保します。

mercury [17] # gpt add -b 128 wd2
/dev/rwd2: Partition 1 added: 49f48d5a-b10e-11dc-b99b-0019d1879648 128 11721045007

128セクタのオフセットを付けているのはこのドライブが4kセクタなので8の倍数にするため、少し余裕を見て128にしましたが34以上なら良いので40とかでもOKなはずです。

プロンプトの番号が連続していないのは打ち間違えてエラーになったり試行錯誤したものを省いたためです...

さらにこの領域をNetBSDから使えるようにします。

mercury [32] # dkctl wd2 addwedge maps 128 11721045007 ffs
dk0 created successfully.

これで/dev/dk0でアクセスできるようになりました。

ここまで作成したパーティション・wedgeを表示して確認しておきます。

mercury [33] # gpt show wd2
        start         size  index  contents
            0            1         PMBR
            1            1         Pri GPT header
            2           32         Pri GPT table
           34           94         Unused
          128  11721045007      1  GPT part - NetBSD FFSv1/FFSv2
  11721045135           32         Sec GPT table
  11721045167            1         Sec GPT header

mercury [34] # dkctl wd2 listwedges
/dev/rwd2: 1 wedge:
dk0: maps, 11721045007 blocks at 128, type: ffs

思ったより簡単でしたが、個人的にはdisklabelに愛着があります。以前 8パーティションから16パーティションに拡張したように64bit対応できなかったのかなぁ。

ここから先はdisklabelの場合と大差ありません。

mercury [40] # newfs -O2 -b16k /dev/dk0
/dev/rdk0: 5723166.5MB (11721045004 sectors) block size 16384, fragment size 2048
        using 30947 cylinder groups of 184.94MB, 11836 blks, 22976 inodes.
super-block backups (for fsck_ffs -b #) at:
160, 378912, 757664, 1136416, 1515168, 1893920, 2272672, 2651424, 3030176,
...............................................................................

この容量だとブロックサイズは標準で32kB(もっと大きくすることも)ですが、小さなファイルばかりという事情からあえて16kBに変更しています。これと連動してi-nodeも倍になるので-iオプションは特に指定していません。

あとは/mntにでもマウントし、問題なければ/etc/fstabを変更します。

ここで既存の2TB HDDからコピーを始めたのですが、しばらくして止まってしまいました。

コンソールのログを確認すると「soft error (corrected)」のようなエラー(すみませんログ保存し忘れました)とリトライを繰り返しています。

不良品を引き当ててしまったのか...

でも交換してもらうにはNetBSDでの話では通らないでしょう。

ちょうどRAID 6で動いているNASのHDDが1台警告を出しているのでそれと交換してみることにしました。(1台外してもまだ冗長性は残るので...)

ところがSMARTのテストも通ってしまい、リビルドも問題なく進んでいきます。

HDDに問題が無いとすると何でしょう?

  1. 電源容量
  2. SATAケーブル
  3. 放熱

電源は余裕のあるものを積んでいますし、他のHDDには問題は発生していません。放熱の問題にしても他のHDDと比較して特に条件が悪いようには思えません。

というわけでSATAケーブルを追加で調達しました。

一度NASに接続してパーティション等壊れているので、上記の手順をやり直して再度コピーしているところです。今のところ問題はありませんが、もう少し様子見ですね。


コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。