
Auf einem Solaris 11.4-System hatte ich einen ZFS-Pool, der drei Laufwerke belegte. Während das System ausgeschaltet war, wurden diese drei Laufwerke physisch entfernt, aber weder zpool export
noch zpool destroy
wurden sie ausgeführt, sodass das System im Prinzip davon ausging, dass der Pool noch existiert. Dieser Pool ist unerwünscht.
Jetzt werde ich jedes Mal, wenn ich mich anmelde, mit einer Meldung konfrontiert:
NOTE: system has 3 active faults; run 'fmadm list' for details.
Wenn ich das tue, erhalte ich viele Seiten mit Informationen zu den entfernten Datenträgern mit Schweregrad Major
, Meldungs-IDs von ZFS-8000-CS
und ZFS-8000-PE
, Problemstatus von isolated
, Problemklasse von fault.fs.zfs.pool
und fault.fs.zfs.no_replicas
, Status faulted and taken out of service
und FRU-Status von faulty/not present
.
Das ist an sich sinnvoll, aber ein verwirrender Aspekt ist, dass Fault Manager sich des „Problems“ bewusst ist, ZFS jedoch nicht. ZFS scheint überhaupt kein Konzept für den fehlenden Pool zu haben. Wenn ich ausführe, zpool list
sehe ich nur die rpool
(es gibt keine anderen Pools). Dasselbe gilt für zpool status
und zdb
; beide listen nur die gesunden auf rpool
, geben keine Fehler, Störungen oder Verschlechterungen an und erwähnen den fehlerhaften Pool überhaupt nicht. Wenn ich versuche zpool status badpool
, erhalte ich:
cannot open 'badpool': no such pool
Da ich diesen Pool nicht möchte, habe ich es versucht zpool destroy badpool
, aber das führt auch zu:
cannot open 'badpool': no such pool
-f
hilft nicht, es wird vorhersehbar die gleiche Meldung ausgegeben.
Ich weiß nicht, was das System in diesen Zustand gebracht hat, in dem ZFS kein Konzept des Pools hat, während Fault Manager sich immer noch darüber beschwert. Es ist möglich, dass jemand bereits ZFS-Befehle ausgeführt hat, um es zu zerstören, nachdem die Verbindung getrennt wurde.
Ich habe die Manpage für fmadm
"Managing Faults, Defects, and Alerts in Oracle® Solaris 11.4" überflogen, aber die Schnittstelle scheint eine klaffende Lücke zu haben: Sie erwartet, dass Sie Geräte "reparieren", "ersetzen" oder "freigeben", aber es gibt keinerlei Erwähnung, was zu tun ist.wenn Sie das Gerät oder den damit bereitgestellten Dienst nicht mehr möchten.
Meine Fragen sind also:
Warum erinnert sich der Fault Manager möglicherweise noch an einen Pool, den ZFS scheinbar vergessen hat? Und,
Wie kann ich den Fault Manager dazu bringen, es zu vergessen?
Die Ausgabe von ist zpool status
, abgesehen vom Weglassen des fehlenden Pools, unauffällig und lautet:
pool: rpool
id: 3268360325047915522
state: ONLINE
scan: scrub repaired 0 in 54s with 0 errors on Tue Sep 19 20:05:51 2023
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
errors: No known data errors