zfs-on-linux ディスク交換


6TBのHDDが安くなったので、低消費電力化と多少の低発熱を期待して

大容量のHDDに交換を図ってみたので、メモ書き

raidz2なのを良いことに無茶してますので、きちんとした対応はオフラインにしてからですよ

 

まずは、確認

$sudo zpool status

pool: zfs_pool
state: ONLINE
scan: scrub repaired 0 in 2h35m with 0 errors on Sun Jul 8 02:59:27 2018
config:

NAME                              STATE   READ WRITE CKSUM
zfs_pool                           ONLINE       0     0            0
raidz2-0                           ONLINE    0     0      0
ata-TOSHIBA_DT01ACA300_X46LZDJGS             ONLINE       0            0            0
ata-TOSHIBA_DT01ACA300_X46M52GGS            ONLINE       0     0             0
ata-TOSHIBA_DT01ACA300_X46LZB9GS             ONLINE       0            0             0
ata-TOSHIBA_DT01ACA300_X46LV2TGS                ONLINE       0            0             0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0YEYDK8         ONLINE        0            0             0
errors: No known data errors

とりあえず、問題ないことを確認

raidz2なので、電源OFFにして、いきなり1台交換した

 

HDDの入れ替え

$ sudo parted -l #入れ替えたHDDを確認

HDDをGPTに

$ sudo parted /dev/sde #今回は、sde

(parted) mklabel gpt  #gptに変更

Warning: The existing disk label on /dev/sdd will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes

(parted) quit    #quitで終了             .

Information: You may need to update /etc/fstab.

フォーマットはしなくて良い

 

一応、GUIでもできるが、コマンド打った方が早いね(以下、GUI使った場合)

$ sudo apt-get install gparted

再起動するとシステム→システム管理に GParted が表示されるので起動

GPartedのツールバーの右側にあるドロップダウンリストをクリックして対象のデバイスを選択する。
メニューバーのデバイスからパーティションテーブルの作成 を選択
gptを選択して「適用」ボタンをクリックするとGUID パーティションテーブルが作成される
未割り当てとなっているパーティションを右クリックして新規をクリック
パーティション作成のウィンドウが表示されるので、サイズを入力、
ファイルシステムを未フォーマットにして「追加」ボタンをクリック
メニューバーの緑色のチェック(レ点)をクリックして保留中の動作を適用させる

 

再確認

$ sudo zpool status

pool: zfs_pool
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using ‘zpool replace’.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: scrub repaired 0 in 2h35m with 0 errors on Sun Jul 8 02:59:27 2018
config:

NAME                           STATE   READ WRITE  CKSUM
zfs_pool                         DEGRADED   0    0    0
raidz2-0                       DEGRADED   0    0    0
ata-TOSHIBA_DT01ACA300_X46LZDJGS        ONLINE          0    0    0
ata-TOSHIBA_DT01ACA300_X46M52GGS       ONLINE          0    0    0
ata-TOSHIBA_DT01ACA300_X46LZB9GS         ONLINE         0    0    0
ata-TOSHIBA_DT01ACA300_X46LV2TGS         ONLINE         0    0    0
16053920286801522910               UNAVAIL       0    0    0 was /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0YEYDK8-part1

errors: No known data errors  #エラーある場合は、チェックしてからやった方が良いと思う

HDDをオフライン処置せずに交換したので、当然 DEGRADED 表示になった

HDDも UNAVAIL 表示になった

 

zpool replace をするように言われるので実行

その前にHDDのdisk-idを確認しておく

$ ls /dev/disk/by-id

ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0586098
ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0586098-part1
ata-WDC_WD60EZRZ-00GZ5B1_WD-WX61D38K3FFH
ata-WDC_WD60EZRZ-00GZ5B1_WD-WX61D38K3FFH-part1
ata-TOSHIBA_DT01ACA300_X46LZB9GS
ata-TOSHIBA_DT01ACA300_X46LZB9GS-part1
ata-TOSHIBA_DT01ACA300_X46LZB9GS-part9

こんな感じで表示されるので、新規に交換したHDDのIDを確認しておく

replaceコマンドを実行

# replace [-f] [-o property=value] <pool> <device> [new-device]  #コマンドリファレンス的な表示

$ sudo zpool replace -f zfs_pool /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0YEYDK8 /dev/disk/by-id/ata-WDC_WD60EZRZ-00GZ5B1_WD-WX61D38K3FFH

was以下が以前のHDDなので、それを記載してから、先程確認した新規HDDのIDを記載して実行

$ sudo zpool status

pool: zfs_pool
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Jul 19 22:55:08 2018
12.4G scanned out of 4.40T at 455M/s, 2h48m to go
2.48G resilvered, 0.28% done
config:

NAME                        STATE   READ  WRITE  CKSUM
zfs_pool                      DEGRADED   0    0     0
raidz2-0                         DEGRADED   0    0     0
ata-TOSHIBA_DT01ACA300_X46LZDJGS        ONLINE    0    0     0
ata-TOSHIBA_DT01ACA300_X46M52GGS          ONLINE    0    0     0
ata-TOSHIBA_DT01ACA300_X46LZB9GS         ONLINE   0     0     0
ata-TOSHIBA_DT01ACA300_X46LV2TGS         ONLINE   0     0     0
replacing-4                         DEGRADED    0     0     0
16053920286801522910                 UNAVAIL  0    0     0 was /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0YEYDK8-part1
ata-WDC_WD60EZRZ-00GZ5B1_WD-WX61D38K3FFH-part1 ONLINE  0    0     0 (resilvering)

errors: No known data errors

 

新しいHDDが認識されたので 古い方は削除する

$ sudo zpool detach zfs_pool 16053920286801522910

この調子で全部交換完了する

 

全て交換が終わると自動的に容量が増えてました

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


 

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)