Import eines zpools mit fehlendem slog-device

R

ron2105

Grünschnabel
Hallo,

ich verzweifele gerade an einem Problem mit meinem OpenSolaris-BackupServer.
Leider habe ich mir vor einiger Zeit selbst ins Knie geschossen.
Mein Backup-Server mit einem zpool (rpool 20GB) und einem raidz2 (7x1TB + log-device 8GB) für Daten hat sich verabschiedet. Da ich sowieso aus diesem alten PC einen IPCop aufsetzen wollte (dafür die 8GB-HDD) und der neue Backup-Server ein neues log- und cache-device als mirror aus zwei SDDs bekommen sollte, habe ich mich erst einmal an den IPCop gesetzt (GROBER FEHLER !!!). Cop läuft ...... nun der neue Backup-Server ........ OpenSolaris 2009.06 installiert, wegen dedup Repo auf /dev umgestellt und auf snv_134 upgedatet, upgrade des ZFS auf Version 22. Nun nur noch den Daten-zpool importieren ... fertig! .... DENKSTE !!!!!

# zpool import
pool: tank1
id: 5048704328421749681
state: UNAVAIL
status: The pool was last accessed by another system.
action: The pool cannot be imported due to damaged devices or data.
see: http://www.sun.com/msg/ZFS-8000-EY
config:

tank1 UNAVAIL missing device
raidz2-0 ONLINE
c7t5d0 ONLINE
c7t0d0 ONLINE
c7t6d0 ONLINE
c7t3d0 ONLINE
c7t1d0 ONLINE
c7t4d0 ONLINE
c7t2d0 ONLINE

Bis jetzt ja noch logisch, also ein:

# zpool import -f tank1
cannot import 'tank1': one or more devices is currently unavailable
Destroy and re-create the pool from
a backup source

aber da fehlt ja nur das, aus meiner Sicht unwichtige, log-device, der Rest sollte importierbar sein.

Danach habe ich eine Woche mit Tante Google verbracht und ca. 100 verschiedene Tipps probiert.

Auch jeder Importversuch mit den Optionen -f, -F, -X, -V,- D und allen Kombinationen aus diesen half nichts. Der Import mit der Option -D funktioniert wohl nur bei vorhandener zpool.cache.
Auch meine Versuche wieder ein neues log-Device hinzuzufügen, es zu ersetzen, zu entfernen usw. (die üblichen Tipps aus dem Troubleshoootingguide) enden damit, dass er es nicht kann, weil er angeblich den zpool nicht kennt, wenn er nicht importiert ist.

Ich drehe mich im Kreis:
- kein Import, weil device fehlt
- kein replace / attach / detach / remove ......., weil zpool nicht importiert.

Zum Zeitpunkt des Crashs wurden auch keine Schreiboperationen auf den Datenpool ausgeführt, sodass ich sehr gut auf die informationen aus den slog verzichten kann, und selbst wenn... ich verzichte lieber auf die letzten 30 Sekunden, als auf meine
kompletten Daten. Das ZFS scheint aber nach dem Motto zu handeln: Wenn nicht garantiert werden kann, dass ALLE Daten konsistent sind, dann taugen auch ALLE Daten nichts und sind Schrott, den man nicht braucht.

Ein Reparaturversuch mit dem logfix-Tool brachte ebenfalls nichts, da mir die GUID des alten slogs fehlt.

Folgende Informationen kann ich noch liefern:

eee@opensolaris:~# zdb -e tank1

Configuration for import:
vdev_children: 2
version: 22
pool_guid: 5048704328421749681
name: 'tank1'
state: 0
hostid: 946038
hostname: 'opensolaris'
vdev_tree:
type: 'root'
id: 0
guid: 5048704328421749681
children[0]:
type: 'raidz'
id: 0
guid: 16723866123388081610
nparity: 2
metaslab_array: 23
metaslab_shift: 30
ashift: 9
asize: 7001340903424
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 6858138566678362598
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@0,0:a'
whole_disk: 1
DTL: 4345
create_txg: 4
path: '/dev/dsk/c7t5d0s0'
devid: 'id1,sd@SATA_____SAMSUNG_HD103UJ_______S13PJ1BQ709050/a'
children[1]:
type: 'disk'
id: 1
guid: 16136237447458434520
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@1,0:a'
whole_disk: 1
DTL: 4344
create_txg: 4
path: '/dev/dsk/c7t0d0s0'
devid: 'id1,sd@SATA_____SAMSUNG_HD103UJ_______S13PJDWQ317311/a'
children[2]:
type: 'disk'
id: 2
guid: 10876853602231471126
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@2,0:a'
whole_disk: 1
DTL: 4343
create_txg: 4
path: '/dev/dsk/c7t6d0s0'
devid: 'id1,sd@SATA_____Hitachi_HDT72101______STF604MH14S56W/a'
children[3]:
type: 'disk'
id: 3
guid: 2384677379114262201
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@3,0:a'
whole_disk: 1
DTL: 4342
create_txg: 4
path: '/dev/dsk/c7t3d0s0'
devid: 'id1,sd@SATA_____SAMSUNG_HD103UJ_______S13PJ1NQ811135/a'
children[4]:
type: 'disk'
id: 4
guid: 15143849195434333247
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@4,0:a'
whole_disk: 1
DTL: 4341
create_txg: 4
path: '/dev/dsk/c7t1d0s0'
devid: 'id1,sd@SATA_____Hitachi_HDT72101______STF604MH16V73W/a'
children[5]:
type: 'disk'
id: 5
guid: 11627603446133164653
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@5,0:a'
whole_disk: 1
DTL: 4340
create_txg: 4
path: '/dev/dsk/c7t4d0s0'
devid: 'id1,sd@SATA_____SAMSUNG_HD103UJ_______S13PJDWQ317308/a'
children[6]:
type: 'disk'
id: 6
guid: 15036924286456611863
phys_path: '/pci@0,0/pci8086,244e@1e/pci11ab,11ab@9/disk@6,0:a'
whole_disk: 1
DTL: 4338
create_txg: 4
path: '/dev/dsk/c7t2d0s0'
devid: 'id1,sd@SATA_____Hitachi_HDS72101______JP2921HQ0KMEZA/a'
children[1]:
type: 'missing'
id: 1
guid: 0


Ich bin am Ende mit meinem Latein und meinen Nerven.
Kann mir jemand helfen, dem ZFS beizubringen, das (fehlende) slog zu ignorieren (kann man die Abfrage nach der Vollständigkeit des Pools beim Import unterdrücken?), ihm zu sagen, es hat keins, oder dem Pool zum Schein wieder ein slog unterzuschieben?
Vielleicht kann man den Pool auch unter einem anderen OS (Linux mit Fuse oder Kernelmodul, BSD), das nicht so pedantisch ist, kurz importieren, ihn "reparieren", exportieren und dann unter OpenSolaris wieder importieren?
Vielen Dank für die Bemühungen.

Viele Grüße
Ronny
 
Hallo,

ich habe das Problem nun in dev. Foren gepostet und leider keine funktionierenden Lösungsansätze erhalten. Leider benötige ich die auf der Maschine vorhandenen Daten.
Nun bleibt mir wohl nichts anderes übrig, als mich mit einer Supportanfrage an Sun/Oracle zu wenden. Supporten die Leute überhaupt OpenSolaris-Installationen bzw. das ZFS auf den Maschinen und wenn ja zu welchen Kosten mit welchen Verträgen?
Eine andere Frage wäre noch, ob es deutschen Support gibt, denn mein Englisch ist für den Normalgebrauch und zur Administration zwar ausreichend, aber ich befürchte mein aktives Englisch in einem Supportgespräch wird wohl nicht ausreichen.

Vielen Dank
Ron
 
Oracle supported OSol-Installationen meines Wissens nach nicht mehr. Sun bot mal einen entsprechenden (kostenpflichtigen) Support an. OSol ist aber dank Oracle tot.
 
Derartiges hatte ich schon befürchtet. Wie sieht es denn mit den Implementationen von ZFS in andere Betriebssysteme (z.B. Linux) aus, mit denen ich dann eventuell einen sauberen Import hinbekommen könnte?

Gruß
Ron
 
Lediglich BSD hat noch eine vollständige ZFS-Implementierung, die man als benutzbar bezeichnen kann.
 

Ähnliche Themen

E/A-Fehler (.snapshots is not a btrfs subvolume).

Debian Routing Problem

Shellskript - Fehler in Cron

Rollei Mini Wifi Camcorder

Neue Partition unter openSUSE 12.2 erstellen

Zurück
Oben