ZFSシングルディスクのプールをミラーに変更する

20210724 ZFSシングルディスクのプールをミラーに変更する

前提

  • 以下の作業は root ユーザーでSSHした状態で行っている。
  • 追加するSSDは容量が同じだが、別のOSで使っていたものである。
  • FreeBSD 12.2-RELEASE-p6 df578562304(HEAD) TRUENAS

現状確認

追加するプールは kube である。実行前の状態を確認する。
追加するディスクは da2 として認識されている。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# ls /dev/da*
/dev/da0 /dev/da3 /dev/da4p2 /dev/da6p1
/dev/da0p1 /dev/da3p1 /dev/da5 /dev/da6p2
/dev/da0p2 /dev/da3p2 /dev/da5p1
/dev/da1 /dev/da4 /dev/da5p2
/dev/da2 /dev/da4p1 /dev/da6

# zpool iostat

NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
boot-pool 9.50G 6.89G 2.61G - - 15% 72% 1.00x ONLINE -
kube 222G 71.5G 151G - - 17% 32% 1.00x ONLINE /mnt
pool 10.9T 9.41T 1.47T - - 19% 86% 1.00x ONLINE /mnt

# zpool status kube
pool: kube
state: ONLINE
config:

NAME STATE READ WRITE CKSUM
kube ONLINE 0 0 0
da1 ONLINE 0 0 0

追加するディスクの準備

da2 が追加するディスクなので準備を行っていく。
今回は、ディスクをまるごとZFSプールに追加するのでパーティションは切らない。
ちなみに、この追加の仕方をすると gpart list をしたときにリストに表示されなくなる。

1
2
3
4
5
# gpart destroy -F /dev/da2
da2 destroyed

# gpart create -s gpt /dev/da2
da2 created

ZFSプールにディスクを追加してミラーに

1
2
3
4
# zpool attach kube /dev/da1 /dev/da2

/dev/da1 は既存のディスクのデバイス名
/dev/da2 は追加するディスクのデバイス名