ユーザ用ツール

サイト用ツール


serverapps:zfs:replace

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
serverapps:zfs:replace [2022/07/13 07:58] – [交換] hayashiserverapps:zfs:replace [2023/08/14 05:50] (現在) – [zpoolコマンドで置き換え] hayashi
行 1: 行 1:
-====== Diskの交換 ======+====== Diskの交換と容量拡張 ======
 ===== 環境 ===== ===== 環境 =====
   * Dell PERC6(LSI)につながれているディスクを交換します   * Dell PERC6(LSI)につながれているディスクを交換します
行 102: 行 102:
  
   mfiutil create raid0 3   mfiutil create raid0 3
 +  または
 +  mfiutil create jbod e1:s3
 +
 +上手くいけば**ONLINE**に変わるはず
 +
 +  # mfiutil show drives
 +   3 (  838G) ONLINE <SEAGATE STXXXMM0006 9999 serial=S0N345678\000\000??@> SCSI-6 E1:S3
 +
 +ここで、/var/log/messageなどで新しく作成したvolumeのdevice名を確認
 +
 +  Aug 14 14:22:19 kernel: mfi0: 80245 (745305162s/0x0002/info) - State change on PD 14(e0xf5/s4) from UNCONFIGURED_GOOD(0) to ONLINE(18)
 +  Aug 14 14:22:31 kernel: mfi0: 80246 (745305162s/0x0001/info) - VD 04/c is now OPTIMAL
 +  Aug 14 14:22:31 kernel: mfi0: 80247 (745305162s/0x0041/info) - Created VD 04/c
 +  Aug 14 14:22:31 kernel: mfid4 on mfi0
 +
 +  # mfiutil name mfid4 "slot4"
 +
 +
 +=== ここでエラーが出る場合 ===
 +以下のようなエラーが出る場合
 +
 +  mfiutil: Command failed: Status: 0x54
 +  mfiutil: Failed to add volume: Input/output error
 +
 +アダプタのキャッシュが悪さしてるので**MegaCli**コマンドでいじる((以下の手順で動いた))
 +
 +  # MegaCli -CfgForeign -Clear -a0  
 +  There is no foreign configuration on controller 0.
 +  Exit Code: 0x00
 +  
 +  root@ambrosia:~ # MegaCli -GetPreservedCacheList -a0                                   
 +  Adapter #0
 +  Virtual Drive(Target ID 33): Missing.
 +  Exit Code: 0x00
 +  
 +  # MegaCli -DiscardPreservedCache -Lall -a0
 +  Adapter #0
 +  Virtual Drive(Target ID 04): Preserved Cache Data Cleared.
 +  Exit Code: 0x00
 +
 +
 ==== GPTパーティション ==== ==== GPTパーティション ====
-GPTパーティション切られていましたの同様にパーティションを作成します+=== zfsrootない場合 ===
  
 まずは、GPTスキーマでディスクを登録 まずは、GPTスキーマでディスクを登録
   # gpart create -s gpt mfid#   # gpart create -s gpt mfid#
   mfid3 created   mfid3 created
 +
 +  gpart add -t freebsd-zfs -l slot# mfid#
 +
 +これでDiskとしてFreeBSDから使えるようになる
 +
 +=== zfs root用 ===
 +
 +GPTパーティションが切られていましたので同様にパーティションを作成します
 +
 +まずは、GPTスキーマでディスクを登録
 +  # gpart create -s gpt mfid#
 +  mfid# created
  
  
行 117: 行 170:
 FreeBSD カーネルとモジュールをロードする 2 番目のステージのブートローダパーティションを追加して、ブートコードを書き込む((zfs root用でufsの時は違うので注意)) FreeBSD カーネルとモジュールをロードする 2 番目のステージのブートローダパーティションを追加して、ブートコードを書き込む((zfs root用でufsの時は違うので注意))
   # gpart add -t freebsd-boot -b 40 -s 1024 mfid#   # gpart add -t freebsd-boot -b 40 -s 1024 mfid#
-  # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 mfid#+  # gpart bootcode -p /boot/gptzfsboot -i 1 mfid#
  
 ブートコードを1度に書くこともできる模様 ブートコードを1度に書くこともできる模様
-  # gpart bootcode -p /boot/gptzfsboot -i 1 mfid#+  # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 mfid#
  
 swapとzfs用パーティションを追加 swapとzfs用パーティションを追加
行 135: 行 188:
     1756888064         984         - free -  (492K)     1756888064         984         - free -  (492K)
  
-=== パーティション削除の例 ===+== パーティション削除の例 ==
  
   # gpart delete -i 3 mfid#   # gpart delete -i 3 mfid#
行 142: 行 195:
   # gpart destroy mfid#   # gpart destroy mfid#
 ==== zpoolコマンドで置き換え ==== ==== zpoolコマンドで置き換え ====
 +=== 状態確認 ===
 +
 +# zpool status
 +  pool: Zhdd
 +  state: DEGRADED
 +  ......
 +            gpt/slot3             ONLINE               0
 +            10913389982825355046  OFFLINE      0          was /dev/gpt/slot4
 +            gpt/slot5             ONLINE               0
 +
 +
 +
 +=== rebuild ===
  
   # zpool replace zroot mfid3p3   # zpool replace zroot mfid3p3
 +  または
 +  # zpool replace Zhdd 10913389982825355046  /dev/gpt/slot4
  
 rebuildが開始されます rebuildが開始されます
行 172: 行 240:
 </code> </code>
  
 +==== 容量の拡張 ====
 +以前は、Diskをすべて交換すればpoolも自動的に大きくなったが現在はそうならない((13.1で確認))((先にautoexpandをonにしてからDisk交換すれば自動で大きくなるはず))
 +  # zpool get autoexpand
 +  NAME   PROPERTY    VALUE   SOURCE
 +  zroot  autoexpand  off     default
 +
 +zpool listでsizeを確認する
 +
 +  # zpool list -v
 +  NAME          SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
 +  zroot         532G  1.47G   531G        -     2.74T     0%     0%  1.00x    ONLINE  -
 +    raidz1-0    532G  1.47G   531G        -     2.74T     0%  0.27%      -    ONLINE
 +      mfid3p3      -      -      -        -              -      -      -    ONLINE
 +      mfid2p3      -      -      -        -              -      -      -    ONLINE
 +      mfid1p3      -      -      -        -              -      -      -    ONLINE
 +      mfid0p3      -      -      -        -              -      -      -    ONLINE
 +
 +2.74T拡張可能の模様
 +
 +実際に拡張する((デバイスは1つ指定すれば良い模様))
 +  zpool online -e zroot mfid3p3
 +
 +  # zpool list -v
 +  NAME          SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
 +  zroot        3.26T  1.47G  3.26T        -             0%     0%  1.00x    ONLINE  -
 +    raidz1-0   3.26T  1.47G  3.26T        -             0%  0.04%      -    ONLINE
 +      mfid3p3      -      -      -        -              -      -      -    ONLINE
 +      mfid2p3      -      -      -        -              -      -      -    ONLINE
 +      mfid1p3      -      -      -        -              -      -      -    ONLINE
 +      mfid0p3      -      -      -        -              -      -      -    ONLINE
 +      
 +
 +===== 参考 =====
 +
 +  * [[https://stevendouglas.me/posts/freebsd-replace-a-root-disk-from-bsdinstall-connected-to-a-raid-controller/|FreeBSD replace a root disk from bsdinstall connected to a RAID controller]]
 +  * [[https://github-wiki-see.page/m/shawfdong/hyades/wiki/Replacing-Hard-Drive-In-Ambrosia|Replacing Hard Drive In Ambrosia - shawfdong/hyades GitHub Wiki]]
serverapps/zfs/replace.1657699123.txt.gz · 最終更新: 2022/07/13 07:58 by hayashi