Wie befestige ich einen 2-teiligen Streifenspiegel an einem Pool?

Wie befestige ich einen 2-teiligen Streifenspiegel an einem Pool?

Ich habe einen Einzellaufwerkpool, der aus einer 2-TB-Festplatte besteht. Ich habe zwei 1-TB-Laufwerke, die ich als Spiegel verwenden kann – ich möchte meinem Pool Redundanz hinzufügen.

Wie kann ich diese beiden Laufwerke als ein einziges Gerät verbinden, sodass sie als Striped Mirror verwendet werden können?

Sagen wir, mein 2-TB-Laufwerk ist sda, die leeren 1-TB-Laufwerke sind sdbund sdc.

Ich habe es versucht:, zfs attach tank sda sdb sdcaber da steht too many arguments.

Ich habe es versucht: zfs attach tank sda sdbaber da stehtdevice is too small

Ich habe es versucht: zfs attach tank sda sdb+sdcaber da stehtno such device in /dev

Ich habe es versucht: zfs attach tank sda sdb,sdcaber da stehtno such device in /dev

Ich habe das Handbuch gelesen und im Internet gesucht – mir fallen keine Ideen mehr ein.

Ich könnte wohl versuchen, aus diesen beiden 1-TB-Laufwerken einen neuen Stripeset-Pool zu erstellen, darin ein Zvol zu erstellen und dieses als Spiegel für meinen primären Pool zu verwenden. Wahrscheinlich würde mir das aber ohnehin nicht genügend Kapazität für einen Spiegel bescheren und außerdem würde es eine Menge unnötigen Overhead verursachen.

Wie kann ich das machen?

Antwort1

Dies kann nicht direkt über ZFS erfolgen. Von dermanpage:

Virtuelle Geräte können nicht verschachtelt werden, daher kann ein virtuelles Mirror- oder Raidz-Gerät nur Dateien oder Datenträger enthalten. Mirrors von Mirrors (oder andere Kombinationen) sind nicht zulässig.

Mein Vorschlag ist, einen neuen Pool aus den beiden 1-TB-Festplatten zu erstellen und etwas alssynoidum den Inhalt des ersten Pools häufig an den neuen Pool zu senden.

--- ACHTUNG: Unten finden Sie eine umständliche Problemumgehung! NICHT verwenden, wenn Sie sich nicht WIRKLICH sicher sind!!! ---

Wie auch immer, wenn SieWirklichWenn Sie die beiden 1-TB-Festplatten als Spiegel der ersten 2-TB-Festplatten hinzufügen möchten, können Sie einen Workaround versuchen. Sie können Device-Mapper (in seiner LVM-Form) verwenden, um die beiden Festplatten zu verknüpfen und das resultierende Volume an das 2-TB-Gerät anzuhängen. Beispiel:

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

Sie können ein ähnliches (sogar besseres) Ergebnis mit mdadm erzielen, indem Sie ein RAID0-Gerät erstellen und es an den Z-Pool anschließen:

mdadm --create md127 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
zpool attach tank /dev/sda /dev/md127
zpool status

Dieser Ansatz istnichtempfohlen. Die Nutzung erfolgt auf eigene Gefahr.

Antwort2

Um die beiden neuen Festplatten zum Pool hinzuzufügen, können Sie verwenden. zpool add tank mirror sdb sdcDadurch wird das neue Paar jedoch als Spiegel hinzugefügt und mit der vorhandenen Festplatte kombiniert. (Dadurch wird keine Redundanz hinzugefügt.)

Sie müssten den zpool attachBefehl verwenden, um die Festplatten an das vorhandene vdev anzuhängen, Sie können jedoch kein gespiegeltes Paar zum Sichern einer einzelnen Festplatte verwenden. Sie müssten eine neue 2-TB-Festplatte hinzufügen, um ein gespiegeltes Paar daraus zu machen.

verwandte Informationen