彷徨えるフジワラ

年がら年中さまよってます

ZFS プールの HDD を再利用

自宅 Solaris サーバの ZFS rpool の HDD 構成を変更。以前は別の ZFS プールに使用していた HDD の rpool 組み入れを目論む。

rpool で使用する場合はブート用スライスを確保する必要がある(本当に必須なのかは個人的には「?」。後で調べようと思ってすっかり放置状態....)のだけど、そもそもどの程度ブート用スライスを確保すればよいのかわからなかったので:

  1. USB でブートし、対象 HDD に OpenSolaris をインストール
  2. シャットダウン後に対象 HDD を取り外し
  3. 通常起動用の HDD でブート
  4. 対象 HDD を接続(= SATA ホットプラグ)し、cfgadm で有効化
  5. zpool attach で対象 HDD のスライス0(= s0)を組み入れ

という手順を実施。

組み込み予定 HDD 2本のうち1本は無事に組み込みが成功したので、残りの HDD は「組み込み済み HDD の prtvtoc 出力を使って fmthard でスライス作成」作戦で行く事に。...が、なんか上手く書き込めない > fmthard
「スライス2(= HDD 全域指定)がアレだよ?」みたいなメッセージが出るのだが、原因を特定できるほどの情報は無し。そういえば、もう一本の HDD の prtvtoc 出力にはスライス2が無いなぁ。

どうせ消えて困るデータは入ってないので fdisk からやり直すか?ということで、format コマンドから fdisk を掛けようとしたら .... あれ? EFI パーティション?あ、そーゆー事か! > fmthard の失敗

つまり、ZFS でプール作成する際に HDD 全体を組み込み対象にすると、FDISK パーティションではなく、EFI パーティションになっちゃうのね。

ということで、ZFS のプールに使用されていた HDD を再利用する場合は要注意。