HDD交換@gvinum

えーと、どうやるんだっけ ^^;

1TBディスクが壊れて、予備でとっておいた別の1TBディスクを入れたときの 初期状態。

gvinum l
3 drives:
D d0                    State: up       /dev/da3s1f     A: 6143/10239 MB (59%)
D d4                    State: up       /dev/da2        A: 0/953869 MB (0%)
D d5                    State: down     /dev/???        A: 0/0 MB (0%)

4 volumes:
V local                 State: up       Plexes:       1 Size:       4096 MB
V home                  State: up       Plexes:       2 Size:        200 GB
V pub                   State: up       Plexes:       2 Size:        200 GB
V pacific               State: up       Plexes:       2 Size:        531 GB

7 plexes:
P local.p0            C State: up       Subdisks:     1 Size:       4096 MB
P home.p0             C State: up       Subdisks:     1 Size:        200 GB
P home.p1             C State: down     Subdisks:     1 Size:        200 GB
P pub.p0              C State: up       Subdisks:     1 Size:        200 GB
P pub.p1              C State: down     Subdisks:     1 Size:        200 GB
P pacific.p0          C State: up       Subdisks:     1 Size:        531 GB
P pacific.p1          C State: down     Subdisks:     1 Size:        531 GB

7 subdisks:
S local.p0.s0           State: up       D: d0           Size:       4096 MB
S home.p0.s0            State: up       D: d4           Size:        200 GB
S home.p1.s0            State: down     D: d5           Size:        200 GB
S pub.p0.s0             State: up       D: d4           Size:        200 GB
S pub.p1.s0             State: down     D: d5           Size:        200 GB
S pacific.p0.s0         State: up       D: d4           Size:        531 GB
S pacific.p1.s0         State: down     D: d5           Size:        531 GB

おーのー、交換後に入れたHDD(da3)にFreeBSDなラベルが残っていて drive d0 にくっついてしまった。しかも local という名前のvolumeを 形成してる。記憶にない。そのパーティションのmountもできないから消してよし。 一度driveにくっついちゃったのを消すにはgvinumを停めてからでないとだめやね。

shutdown now
gvinum stop
dd if=/dev/zero of=/dev/da3 count=64
gvinum start
gvinum ld
2 drives:
D d4                    State: up       /dev/da2        A: 0/953869 MB (0%)
D d5                    State: down     /dev/???        A: 0/0 MB (0%)

よし、消えた。あとはちまちまと追加。まずは d5 ドライブを 再構築してから、 pub ボリュームの再構築。

EDITOR=ed gvinum
rm d5
create
a
drive d5 device /dev/da3
.
wq
rm -r pub.p1
lp
5 plexes:
P home.p0             C State: up       Subdisks:     1 Size:        200 GB
P home.p1             C State: down     Subdisks:     1 Size:        200 GB
P pub.p0              C State: up       Subdisks:     1 Size:        200 GB
P pacific.p0          C State: up       Subdisks:     1 Size:        531 GB
P pacific.p1          C State: down     Subdisks:     1 Size:        531 GB
create
$a
plex name pub.p1 org concat vol pub
 sd drive d5 length 200g
.
wq
lp
6 plexes:
P pub.p1              C State: down     Subdisks:     1 Size:        200 GB
P home.p0             C State: up       Subdisks:     1 Size:        200 GB
P home.p1             C State: down     Subdisks:     1 Size:        200 GB
P pub.p0              C State: up       Subdisks:     1 Size:        200 GB
P pacific.p0          C State: up       Subdisks:     1 Size:        531 GB
P pacific.p1          C State: down     Subdisks:     1 Size:        531 GB
start pub.p1
# 少し待って
lv -r pub
V pub                   State: up       Plexes:       2 Size:        200 GB
P pub.p1              C State: S 0%     Subdisks:     1 Size:        200 GB
S pub.p1.s0             State: I 0%     D: d5           Size:        200 GB
P pub.p0              C State: up       Subdisks:     1 Size:        200 GB
S pub.p0.s0             State: up       D: d4           Size:        200 GB

とここまでやって、いったんリブートしてみたら、 以前のdriveと同じジオメトリのdriveを同じ名前で突っこんでおけば plex/subdisk情報も引き継いでくれることが分かった。なので いちいち plex と subdisk を作り直さなくていいようだ。

てことであとは、

start home.p1
start pacific.p1

しておしまい。なのだが… マルチユーザモードで homeパーティションを使いながらやってたらハングアップした……。 ダメなん? gmirror とか落ちたことないのにな。 しゃーないシングルユーザモードでやろう。外付けおせー。