Ich versuche, ein Durcheinander auf einem Ubuntu 12.04 LTS-Serversystem mithilfe von ZFS zu beseitigen. Folgendes zeigt der zpool-Status:
pool: TB2
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
TB2 UNAVAIL 0 0 0 insufficient replicas
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
sdh ONLINE 0 0 0
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
sds ONLINE 0 0 0
sdt UNAVAIL 0 0 0
pool: TB4
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: resilvered 2.52T in 16h41m with 0 errors on Tue Feb 6 09:27:46 2018
config:
NAME STATE READ WRITE CKSUM
TB4 DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAG9MBVS ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2311PAG8G71M ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAGH0LHV ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2331PAG8MV3T ONLINE 0 0 0
spare-4 DEGRADED 0 0 0
ata-Hitachi_HDS724040ALE640_PK2311PAG614MM UNAVAIL 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAGH0EAV ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2331PAGH2XRW ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAG7TGDS ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAGG3K0V ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2311PAG59PYM ONLINE 0 0 0
spares
ata-Hitachi_HDS724040ALE640_PK1331PAGH0EAV INUSE currently in use
errors: No known data errors
Ich möchte zwei Dinge tun: 1. Ersetzen Sie das fehlerhafte Laufwerk in Pool TB4. Das weiß ich zu tun. 2. Zerstören Sie den Pool TB2 vollständig und erstellen Sie ihn erneut.
Normalerweise zerstöre ich TB2 mit einem Zpool und beginne von vorne. Der vorherige Administrator verwendete jedoch sd * -Namen für TB2 und Platten-IDs für TB4. Bei einem Blick auf / dev / disk / by-id stellte ich fest, dass zwei der TB4-Laufwerke (... 71M und ... EAV) mit / dev / sdj bzw. / dev / sds verknüpft sind. Diese sdj und sds sind jedoch beide als Teil des TB2-Pools aufgeführt. Ich befürchte, dass durch die Zerstörung von TB2 durch zpool die Laufwerke im TB4-Pool beschädigt werden, da laut Dokumentation Schreibvorgänge auf die Mitgliederdatenträger zerstört werden. Gibt es eine Möglichkeit, ZFS dazu zu bringen, TB2 einfach zu vergessen, ohne tatsächlich zu schreiben?
Ich habe den vorherigen Administrator gefragt, warum er zwei verschiedene Methoden verwendet hat (/ dev / sd * und by-id). Er sagte, dass die Zuweisung von Laufwerksbuchstaben zu bestimmten Festplatten von Start zu Start nicht wiederholbar zu sein schien. Als er TB4 erstellte, verwendete er die By-ID. Ich vermute, diese Verstrickung von TB2 und TB4 ist eine Folge davon.
Mein aktueller Gedanke ist, dies zu tun:
- Maschine ausschalten
- ziehen Sie alle Laufwerke.
- Starten Sie neu.
- zpool destroy -f TB2
- Fahren Sie die TB4-Laufwerke herunter und installieren Sie sie erneut
- Formatieren Sie die TB2-Laufwerke auf einem anderen Computer neu
- Installieren Sie die TB2-Laufwerke neu und erstellen Sie einen neuen Pool mithilfe der Festplatten-IDs (nicht SD *).
Scheint das vernünftig? Gibt es einen einfacheren Weg?
Vielen Dank an alle, die mir aus diesem Schlamassel helfen können.
Michael
export
TB2 und dann richtig erstellen? Pools werden beim Herunterfahren ohnehin exportiert. In einem Pool, der derzeit nicht verfügbar ist, sollte dies keine Datenträgeränderungen verursachen.