ディスクを交換してZFS poolの容量を増やす方法

今回のサーバ更新では、3TBのHDDを2台ミラー構成してZFS poolを作成した。今はこれで十分な容量だけど、将来的に容量が不足した場合はどうにかして容量を増やす必要がある。この場合、だいたい以下2つの方法がある。

  • 別にミラーのZFS poolを作成して、既存のpoolにzpool addする
  • ミラーを構成するHDDを3TBから、より大容量のHDDに交換する

前者は、ディスク増設の物理的なスペースが必要になる、一度addしたら解除できない、などいろいろと考えることが多いので、後者でいきたいところ。
将来に備えて、手順をメモしておく。

  1. 1台目のHDDを交換する
  2. zpool replace "プール名" "ディスク名"で交換したHDDを認識させる
  3. resilver完了まで待つ
  4. 2台目のHDDを交換する
  5. zpool replace "プール名" "ディスク名"で交換したHDDを認識させる
  6. resilver完了まで待つ
  7. zpool online -e "プール名"でZFSが認識する容量を拡張する

プール名とディスク名は、そのときの状況によって読み替えるべし。poolのautoexpandが有効になっていれば、最後の手順は不要かも。