GNU/Linux >> Linux の 問題 >  >> Linux

非冗長 ZFS プール内のディスクを交換するにはどうすればよいですか?

zpool attach pool old-disk new-disk

これにより、古いディスクが古いディスクと新しいディスクの両方を持つミラーに変換され、再同期が開始された後、古いディスクを切り離すことができます。

zpool detach pool old-disk

ループ デバイスでテスト済み:

# truncate -s 1G a b
# truncate -s 1200M c
# losetup  /dev/loop0 a
# losetup  /dev/loop1 b
# losetup  /dev/loop2 c
# zpool create test loop{0,1}
# zpool attach test loop1 loop2
# zpool status
      pool: test
 state: ONLINE
  scan: resilvered 62K in 0h0m with 0 errors on Wed Jul 31 13:43:19 2013
config:

        NAME        STATE     READ WRITE CKSUM
        test        ONLINE       0     0     0
          loop0     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            loop1   ONLINE       0     0     0
            loop2   ONLINE       0     0     0
# zpool detach test loop1
# zpool status
  pool: test
 state: ONLINE
  scan: resilvered 62K in 0h0m with 0 errors on Wed Jul 31 13:43:19 2013
config:

        NAME        STATE     READ WRITE CKSUM
        test        ONLINE       0     0     0
          loop0     ONLINE       0     0     0
          loop2     ONLINE       0     0     0

`13 で状況がそれほど異なっていたかどうかはわかりませんが、「zfs replace」は非冗長プールで機能します。最初にデタッチする代わりに、1 つのコマンドを実行するだけです。

d1 は 1G、d2 は 2G、両方とも /tmp 内の空のファイルです:

/t/test #> zpool create test /tmp/test/d1
/t/test #> zpool set autoexpand=on test
/t/test #> zpool status
  pool: test
 state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      /tmp/test/d1  ONLINE       0     0     0

errors: No known data errors
/t/test #> zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
test   1008M   258K  1008M         -     0%     0%  1.00x  ONLINE  -


/t/test #> zpool replace test /tmp/test/d1 /tmp/test/d2


/t/test #> zpool status
  pool: test
 state: ONLINE
  scan: resilvered 61K in 0h0m with 0 errors on Sun Sep 18 18:55:32 2016
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      /tmp/test/d2  ONLINE       0     0     0

errors: No known data errors
/t/test #> zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
test   1.98G   408K  1.98G         -     0%     0%  1.00x  ONLINE  -

Linux
  1. ファイル内の文字列を置き換える方法は?

  2. zpool コマンドの例を使用して Linux で ZFS ファイルシステムをセットアップする方法

  3. /var を別のマウント ポイントとして別のディスクに移動する方法 (オンライン)

  1. ディスク io を監視するにはどうすればよいですか?

  2. Linux RAID5 アレイでまだ故障していないディスクを安全に交換するにはどうすればよいですか?

  3. 仮想ディスクの拡張後に Linux PV パーティションをオンラインで拡張する方法

  1. Linuxでディスクをパーティション分割する方法

  2. /tmp を別のマウント ポイントとして別のディスクに移動する方法 (オンライン)

  3. ZFS プールが Linux 上の ZFS を使用して拡張されないのはなぜですか?