2TBのHDDで構成されるシングルドライブプールがあります。ミラーで使用できる1TBドライブが2つあります。プールに冗長性を追加したいと思います。
これらの2つのドライブを単一のデバイスとして接続して、ストライプミラーとして使用できるようにするにはどうすればよいですか?
私の2TBドライブをsda
、空の1TBドライブをsdb
とsdc
と呼びましょう。
私は試した: zfs attach tank sda sdb sdc
しかし、それはtoo many arguments
。
私は試した: zfs attach tank sda sdb
しかし、それはdevice is too small
私は試した: zfs attach tank sda sdb+sdc
しかし、それはno such device in /dev
私は試した: zfs attach tank sda sdb,sdc
しかし、それはno such device in /dev
マニュアルを読んでウェブを検索しましたが、アイデアがありません。
これら2つの1TBドライブから新しいストライププールを作成し、内部にzvolを作成して、それをプライマリプールのミラーとして使用することもできると思いますが、とにかくミラー用の十分な容量がないことに加えて、不必要なオーバーヘッドがたくさん。
これどうやってするの?
これは、ZFSを介して直接実行することはできません。 manページ から:
仮想デバイスはネストできないため、ミラーまたはraidz仮想デバイスに含めることができるのはファイルまたはディスクのみです。ミラーのミラー(または他の組み合わせ)は許可されていません。
私の提案は、2つの1 TBディスクで構成される新しいプールを作成し、 syncoid として何かを使用して、最初のプールのコンテンツを新しいプールに頻繁に送信することです。
---警告:以下の不格好な回避策!本当に確信が持てない場合は使用しないでください!!! ---
とにかく、本当に2つの1 TBディスクを最初の2のミラーとして追加したい場合TBディスク、回避策を試すことができます。device-mapper(LVM形式)を使用して2つのディスクを連結し、結果のボリュームを2 TBデバイス。例:
pvcreate /dev/sdb
pvcreate /dev/sdc
vgcreate zvg /dev/sdb
vgextend zvg /dev/sdc
lvcreate zvg --name zdev -l +100%FREE
zpool attach tank /dev/sda /dev/zvg/zdev
zpool status
Mdadmを使用して、RAID0デバイスを作成し、それをzpoolに接続することで、同様の(さらに良い)結果を得ることができます。
mdadm --create md127 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
zpool attach tank /dev/sda /dev/md127
zpool status
このアプローチは推奨されません。ご自身の責任で使用してください。
2つの新しいディスクをプールに追加するには、zpool add tank mirror sdb sdc
を使用できますが、これにより、新しいペアがミラーとして追加され、既存のディスクとストライプ化されます。 (これは冗長性を追加しません)。
zpool attach
コマンドを使用してディスクを既存のvdevに追加する必要がありますが、ミラーリングされたペアを使用して単一のディスクをバックアップすることはできません。新しい2TBディスクを追加してディスクを作成する必要があります。ミラーリングされたペア。