Bei der Einrichtung des PCs war ich eigentlich von einem Mirror als Datenspeicher ausgegangen. Da ich nun aber doch noch etwas mehr Speicher benötige, wollte ich noch eine zusätzliche Platte dazuhängen und ein RaidZ draus machen.
Leider kann man diesen Vorgang nicht direkt ausführen, sondern muss ein bisschen Daten hin und her kopieren. Benötigt werden hier die 3 Platten für das RaidZ (2 davon aktuell im Mirror), außerdem noch eine Platte für die temporäre Speicherung der Daten im Mirror.
Der Mirror besteht aus c0d0s7 und c1d0s7. Hier ersetze ich ersteinmal eine Platte durch die Temporäre:
# zpool replace tank c1d0s7 c3d0s7
Danach entferne ich die zweite Platte
# zpool detach tank c0d0s7
Dann bleibt noch ein Mirror mit einer Platte (c3d0s7) übrig.
Als nächstes wird ein RaidZ erstellt
# zpool create store raidz c0d0s7 c1d0s7 c2d0s7
und für jedes Dateisystem ein Snapshot gemacht:
# zfs snapshot tank/home@home & zfs snapshot tank/opt@opt & zfs snapshot tank/xen@xen
Danach sollte der Pool so aussehen:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
store 448K 320G 24,0K /store
tank 6,01G 222G 18K /tank
tank/home 2,82G 222G 2,82G /export/home
tank/home@home 0 - 2,82G -
tank/opt 2,62G 222G 2,62G /opt
tank/opt@opt 0 - 2,62G -
tank/xen 583M 222G 583M /export/xen
tank/xen@xen 0 - 583M -
Um nun die Daten von tank auf store zu bekommen, verwende ich ein zfs send | zfs receive:
# zfs send tank/home@home | zfs receive store/home
# zfs send tank/opt@opt | zfs receive store/opt
# zfs send tank/xen@xen | zfs receive store/xen
Schon sind die Daten sowohl in tank als auch store:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
store 6,04G 314G 29,3K /store
store/home 2,82G 314G 2,82G /store/home
store/home@home 0 - 2,82G -
store/opt 2,66G 314G 2,66G /store/opt
store/opt@opt 0 - 2,66G -
store/xen 583M 314G 583M /store/xen
store/xen@xen 0 - 583M -
tank 6,01G 222G 18K /tank
tank/home 2,82G 222G 2,82G /export/home
tank/home@home 1,51M - 2,82G -
tank/opt 2,62G 222G 2,62G /opt
tank/opt@opt 0 - 2,62G -
tank/xen 583M 222G 583M /export/xen
tank/xen@xen 0 - 583M -
Jetzt müssen nur noch tank gelöscht und die Mountpoints angepasst werden und schon ist das RaidZ fertig…
Bei der Einrichtung des PCs war ich eigentlich von einem Mirror als Datenspeicher ausgegangen. Da ich nun aber doch noch etwas mehr Speicher benötige, wollte ich noch eine zusätzliche Platte dazuhängen und ein RaidZ draus machen.
Leider kann man diesen Vorgang nicht direkt ausführen, sondern muss ein bisschen Daten hin und her kopieren. Benötigt werden ...