web-dev-qa-db-ja.com

ZFSは単一のディスクプールを自動的にミラーリングできますか?

ホームネットワークに別のサーバーを追加する準備をしています。私は現在それのために1つのストレージドライブを持っています。最初のドライブをミラーリングするために別のドライブを追加したいのですが、2番目のドライブを数週間から1か月間購入できません。ミラーリングされたストレージドライブでZFSを使用したい。単一のストレージドライブへのデータのコピーを開始し、後で2番目のドライブを追加して、ZFSに最初のドライブのデータをミラー内の2番目のドライブにコピーさせることはできますか?

2
marcerickson

はい、既存のvdevをミラーリングするために2番目のドライブを追加するのは非常に簡単です。

このようにプールを作成したとしましょう。 zfs-d1のようなGPTパーティションラベルを使用して、名前をニース/信頼できるものにします。

zpool create zfs1 -o ashift=12 -m none /dev/disk/by-partlabel/zfs-d1

  pool: zfs1
 state: ONLINE
config:

    NAME         STATE     READ WRITE CKSUM
    zfs1         ONLINE       0     0     0
      zfs-d1     ONLINE       0     0     0

Zfs-d1のミラーになるために別のドライブを追加するのは簡単です。新しいラベルにzfs-d2というラベルを付けます。

zpool attach zfs1 /dev/disk/by-partlabel/zfs-d1 /dev/disk/by-partlabel/zfs-d2

これは、このようなプールになるはずだと私は信じています。再同期するまでしばらく待つ必要がありますが、実際にはそれほど多くのことをする必要はありません。

  pool: zfs1
 state: ONLINE
config:

    NAME         STATE     READ WRITE CKSUM
    zfs1         ONLINE       0     0     0
      mirror-0   ONLINE       0     0     0
        zfs-d1   ONLINE       0     0     0
        zfs-d2   ONLINE       0     0     0

とにかく、これをVM非常に迅速に試すことを強くお勧めします。VMを構築して、いくつかの小さな仮想ディスクを追加し、それらをプールに追加してみてください。 VMでテストすると、試してみる場所ができます。失敗しても何も失われません。

3
Zoredache