Einleitung
Man führt einen simplen Befehl aus:
zpool clear BigData
Und erhält:
cannot open 'BigData': no such pool
Gleichzeitig zeigt zpool list, dass der Pool existiert.
Das wirkt wie ein Tippfehler – ist es aber nicht immer.
In seltenen Fällen liegt die Ursache in einem unsichtbaren Zeichen im Poolnamen.
Das Problem
Ein Pool wurde versehentlich mit einem nachgestellten Leerzeichen erstellt:
BigData␠
Im normalen zpool list sieht das identisch aus wie:
BigData
Technisch ist es aber ein anderer Name.
Deshalb schlägt jeder Befehl ohne das Leerzeichen fehl.
Wie erkennt man das?
Mit einem Hex-Dump:
zpool list -H -o name | od -An -tx1
Beispielausgabe:
42 69 67 44 61 74 61 20 0a
Das 20 steht für ein Leerzeichen am Ende.
![]()
Lösung
Den Pool mit Anführungszeichen ansprechen:
zpool clear "BigData "
Das Leerzeichen innerhalb der Anführungszeichen ist entscheidend.
Dauerhafte Bereinigung
Nach erfolgreichem Clear sollte der Pool korrekt umbenannt werden:
zpool export "BigData "
zpool import "BigData " BigData
Dadurch wird das trailing Space entfernt.
Warum ist das problematisch?
Ein Leerzeichen im Poolnamen führt zu:
- unerklärlichen „no such pool“-Fehlern
- Skriptproblemen
- Automationsfehlern
- unnötigem Troubleshooting
Gerade in produktiven Umgebungen kann das sehr irritierend sein.
Fazit
Wenn ein Pool laut zpool list existiert, aber nicht geöffnet werden kann, sollte man auch an unsichtbare Zeichen denken.
Ein einfacher Hex-Dump kann Stunden an Fehlersuche sparen.
