Wie entferne ich einen Pool aus ZFS?

8

Mein Ubuntu 12.04-System verfügt über zwei zpools: rpool (enthält das Root-Dateisystem) und rdata (enthält alle anderen Daten). rdata war ursprünglich 2 x 1 TB Festplatten gespiegelt.

Da ich rdata nicht auf 3-TB-Festplatten aktualisieren konnte (falsches Ashift), musste ich aus den neuen 3-TB-Festplatten einen neuen Zpool erstellen: ursprünglich Datapool genannt. Ich habe dann alle Daten rsynciert, rdata exportiert, den Datenpool als rdata importiert und Bob ist dein Onkel. Ich habe mich dann ausgeschaltet und die alten Festplatten entfernt. Jedoch...

Beim erneuten Einschalten wird der Zpool-Status angezeigt

  pool: rdata
 state: UNAVAIL
status: One or more devices could not be used because the label is missing 
    or invalid.  There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
    a backup source.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
  scan: none requested
config:

NAME                                                 STATE     READ WRITE CKSUM
rdata                                                UNAVAIL      0     0     0         insufficient replicas
  mirror-0                                           UNAVAIL      0     0     0  insufficient replicas
    scsi-SATA_WDC_WD10EADS-00_WD-WCAU47275172-part1  UNAVAIL      0     0     0
    scsi-SATA_WDC_WD10EADS-00_WD-WCAU47283913-part1  UNAVAIL      0     0     0

  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 0h23m with 0 errors on Tue Jun  4 11:33:29 2013
config:

NAME                                 STATE     READ WRITE CKSUM
rpool                                ONLINE       0     0     0
  ata-Maxtor_6Y120L0_Y31J3CLE-part2  ONLINE       0     0     0

errors: No known data errors

Wie Sie sehen können, zeigt der Zpool-Status immer noch die alten Daten an. welches nicht verfügbar ist.

zpool import zeigt

   pool: rdata
     id: 7033445233439275442
  state: ONLINE
 action: The pool can be imported using its name or numeric identifier.
 config:

rdata                                   ONLINE
  mirror-0                              ONLINE
    scsi-SATA_ST3000DM001-1CH_W1F1EE1G  ONLINE
    scsi-SATA_ST3000DM001-1CH_W1F25SE2  ONLINE

Dies sind die richtigen Daten

Frage: Wie kann ich Ubuntu dazu bringen, den alten Zpool zu vergessen?

Gareth
quelle

Antworten:

10
sudo zpool destroy rdata

zerstört den alten Pool (möglicherweise müssen Sie -f erzwingen).

sudo zpool export rdata

trennt den Pool.

sudo zpool import 7033445233439275442

importiert den neuen Pool. Sie müssen die ID-Nummer verwenden, da zwei "rdata" -Pools vorhanden sind.

Wenn Sie mit einem ZFS-Stammverzeichnis arbeiten, müssen Sie nur noch die initramfs neu erstellen, um die Pools zu aktualisieren:

sudo update-initramfs -c -k all
sudo update-grub

Neustart und alles ist gut. :) :)

Jonathon
quelle
Entschuldigung, das machte keinen Unterschied. Ich habe versucht, ein Zpool zu zerstören, und es ist in Ordnung. Ich habe dann neu gestartet und der alte Datenpool war wieder in Position. Ich hatte bereits einen Zpool-Export ohne Wirkung versucht
Gareth
Möglicherweise wird beim Booten der alte und nicht der neue Zpool importiert, da zwei Pools mit demselben Namen vorhanden sind. Sie können versuchen, die neue anhand ihrer ID mit einem anderen Poolnamen zu importieren (sudo zpool import 7033445233439275442 newdata), die alte zu exportieren und dann die neue zu exportieren und erneut zu importieren.
Jonathon
Weißt du, ich denke wirklich, dass das funktionieren könnte, aber nein. Es ist das gleiche. Ich werde einen Neustart zwischen dem Export und Import versuchen
Gareth
Nein, keine Veränderung. Wo um alles in der Welt findet man die Informationen über den alten Pool? Es gibt nichts in /etc/zfs/zpool.cache
Gareth
1
Jonathan, du bist ein Star!
Gareth
-1

Sie können den Pool innerhalb eines Befehls zerstören.

sudo zpool destroy <poolname>

Überprüfen Sie den Status des Pools

sudo zpool status <poolname>
Ketan Patel
quelle