この設定でFreeBSD10のraidz1vdevが与えられた場合:
root@gw:~ # zpool status
pool: data
state: ONLINE
status: One or more devices are configured to use a non-native block size.
Expect reduced performance.
action: Replace affected devices with devices that support the
configured block size, or migrate data to a properly configured
pool.
scan: resilvered 26.1G in 0h43m with 0 errors on Sat Dec 21 07:07:41 2013
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ada1 ONLINE 0 0 0 block size: 512B configured, 4096B native
ada2 ONLINE 0 0 0
ada3 ONLINE 0 0 0 block size: 512B configured, 4096B native
errors: No known data errors
ブロックサイズを修正したいのですが。プールをオフラインにせずにブロックサイズを変更することは可能ですか?これらが実行するのに適切なコマンドであるかどうかを知りたかっただけです。聞かずにやってみることができたが、悪魔は眠らない….
zpool detach data ada1
zpool labelclear ada1
zpool attach data ada1
それは正しい方法ですか?
更新-私が試したこと:
「zpoolremove」を使用してada1を削除してから、クリアして再度追加することができます。ただし、「zpoolremove」はraidzvdevsをサポートしていません。
「zpoolreplace--f ada1」を使用して、新しいデバイスのようにada1を強制的に再構築できますが、zpoolは、すでにアクティブなデバイスの一部であるデバイスに対して、これを(強制的にではなくても)許可しません。
私はこれを次の方法で達成できると信じています。
これはうまくいくでしょうか?しかし、コンピュータを完全にシャットダウンした後でのみ。 :-(
あなたが探しているコマンドはzpool offline
だと思います。
zpool offline data ada1
zpool labelclear ada1
zpool replace data ada1 ada1
その最後のreplace
は、最初のada1
を指定しても機能しない可能性があります。そうでない場合は、zpool list
またはzdb
を使用してディスクGUIDを取得します。 https://askubuntu.com/questions/305830/replacing-a-dead-disk-in-a-zpool を参照してください