ZFS state is UNKNOWN

Status
Not open for further replies.

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Hallo Forum,

ich habe leider ein Problem, nach dem Ausfall einer HDD in meinem FreeNAS bekomme ich immer die Meldung "CRITICAL: The volume vol (ZFS) state is UNKNOWN:".

Ursprünglich hatte das NAS Bootproblem und der HBA hat immer den Bootvorgang des FreeNAS abgebrochen, bevor das OS geladen wurde. Mit der Hilfe von Google und dem Stöbern in diesem Forum konnte ich einen Fehler in der Komunikation zwischen dem HBA und einer der Festplatten als Ursache feststellen.
Code:
(probe0:mps0:0:15:0): INQUIRY. CDB: 12 00 00 00 24 00 length 36 SMID 657 terminated ioc 804b scsi 0 state c xfer 0


Nach dem die defekte Fstplatte entferntworden war ist das FreeNAS zwar wieder gebootet aber ich bekomme immer die Meldung "CRITICAL: The volume vol (ZFS) state is UNKNOWN:".

Das FreeNAS hat ein Z2-Volumen bestehend auch 8 3TB Seagate Constellation Platten.

Code:
[root@freenas] ~#
[root@freenas] ~# zpool status -x
all pools are healthy
[root@freenas] ~#

Code:
[root@freenas] ~#
[root@freenas] ~# zpool status -v
  pool: freenas-boot
state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        freenas-boot  ONLINE       0     0     0
          ada0p2    ONLINE       0     0     0

errors: No known data errors
[root@freenas] ~#

Code:
[root@freenas] ~#
[root@freenas] ~# zpool status vol
cannot open 'vol': no such pool
[root@freenas] ~#

Code:
[root@freenas] ~#
[root@freenas] ~# zpool import
   pool: vol
     id: 17628013786977053580
  state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
        devices and try again.
   see: http://illumos.org/msg/ZFS-8000-6X
config:

        vol                                             UNAVAIL  missing device
          raidz2-0                                      ONLINE
            gptid/99a81bd7-ad47-11e4-8636-0cc47a3140d4  ONLINE
            gptid/9a02018e-ad47-11e4-8636-0cc47a3140d4  ONLINE
            gptid/9a69b9b5-ad47-11e4-8636-0cc47a3140d4  ONLINE
            gptid/9ac517ba-ad47-11e4-8636-0cc47a3140d4  ONLINE
            gptid/9b1afc10-ad47-11e4-8636-0cc47a3140d4  ONLINE
          gptid/a359ea31-b83c-11e4-b1e5-0cc47a3140d4    ONLINE
          gptid/b5b34249-b83c-11e4-b1e5-0cc47a3140d4    ONLINE

        Additional devices are known to be part of this pool, though their
        exact configuration cannot be determined.
[root@freenas] ~#

Code:
[root@freenas] ~#
[root@freenas] ~# glabel status
                                      Name  Status  Components
gptid/9a50b8df-ad47-11e4-8636-0cc47a3140d4     N/A  da0p1
gptid/9a69b9b5-ad47-11e4-8636-0cc47a3140d4     N/A  da0p2
gptid/99ef6121-ad47-11e4-8636-0cc47a3140d4     N/A  da1p1
gptid/9a02018e-ad47-11e4-8636-0cc47a3140d4     N/A  da1p2
gptid/998f188b-ad47-11e4-8636-0cc47a3140d4     N/A  da2p1
gptid/99a81bd7-ad47-11e4-8636-0cc47a3140d4     N/A  da2p2
gptid/a345608b-b83c-11e4-b1e5-0cc47a3140d4     N/A  da3p1
gptid/a359ea31-b83c-11e4-b1e5-0cc47a3140d4     N/A  da3p2
gptid/9b086c17-ad47-11e4-8636-0cc47a3140d4     N/A  da4p1
gptid/9b1afc10-ad47-11e4-8636-0cc47a3140d4     N/A  da4p2
gptid/9ab28223-ad47-11e4-8636-0cc47a3140d4     N/A  da5p1
gptid/9ac517ba-ad47-11e4-8636-0cc47a3140d4     N/A  da5p2
gptid/b59f6f56-b83c-11e4-b1e5-0cc47a3140d4     N/A  da6p1
gptid/b5b34249-b83c-11e4-b1e5-0cc47a3140d4     N/A  da6p2
gptid/09140038-a748-11e5-8c3b-0cc47a3140d4     N/A  ada0p1
[root@freenas] ~#

Code:
[root@freenas] ~# camcontrol devlist
<ATA ST3000NC002-1DY1 CN02>        at scbus0 target 0 lun 0 (pass0,da0)
<ATA ST3000NC002-1DY1 CN03>        at scbus0 target 1 lun 0 (pass1,da1)
<ATA ST3000NC002-1DY1 CN02>        at scbus0 target 2 lun 0 (pass2,da2)
<ATA ST3000VN000-1HJ1 SC60>        at scbus0 target 3 lun 0 (pass3,da3)
<ATA ST3000NC002-1DY1 CN03>        at scbus0 target 4 lun 0 (pass4,da4)
<ATA ST3000NC002-1DY1 CN03>        at scbus0 target 5 lun 0 (pass5,da5)
<ATA ST3000VN000-1HJ1 SC60>        at scbus0 target 6 lun 0 (pass6,da6)
<KingSpec KDM-SA.52-016GMJ 130206>  at scbus5 target 0 lun 0 (pass7,ada0)
[root@freenas] ~#

Code:
[root@freenas] ~#
[root@freenas] ~# gpart show ada0
=>      34  31277165  ada0  GPT  (14G)
        34      1024     1  bios-boot  (512k)
      1058         6        - free -  (3.0k)
      1064  31276128     2  freebsd-zfs  (14G)
  31277192         7        - free -  (3.5k)

[root@freenas] ~#


Leider weiss ich nicht, wie ich den zpool wieder online bekomme. Wenn ihr mir weiter helfen könnt wäre das echt gut.
 

mkninc

Dabbler
Joined
Jan 8, 2014
Messages
23
Bestand der Pool schon immer aus 8 Platten? Oder wurde der später erweitert?
Weil in der "zpool import" Ausgabe sieht das so aus, als wenn die unteren beiden Platten nicht mit im raidz2-0 wären. Also ohne Redundanz. Wenn die fehlende Platte auch so eingebunden war, dann sieht das nicht gut aus.
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin mkninc,

der zpool bestand anfangs aus 5 Festplatten und wurde dann um 3 Festplatten erweitert. Aber ich gehe eigentlich davon aus, das die Platten mit denen ein pool erweitert wird wie alle anderen in der Z2-vol angebunden werden.
 

mkninc

Dabbler
Joined
Jan 8, 2014
Messages
23
Aber ich gehe eigentlich davon aus, das die Platten mit denen ein pool erweitert wird wie alle anderen in der Z2-vol angebunden werden.
Nein, das geht nicht. Ein vdev, z.B. dein raidz2-0, kann man nicht um weitere Platten erweitern. Also aus einem 5 Platten Raid-Z2 eines mit 8 Platten machen. Man kann nur weitere vdevs hinzufügen, die dann z.B. wieder ein Raid-Z2 bilden.
So hab ich das bei mir auch gemacht. Anfangs hatte ich nur 6 Platten als Raid-Z2, und später habe ich nochmal 6 als Raid-Z2 hinzugefügt.

Dann sieht es bei dir allerdings wirklich nicht gut aus. Wenn du kein Backup der Daten hast, muss du die defekt Platte wieder zum laufen bekommen.
Meine Rettungsprozedur würde so aussehen:
Neue Platte kaufen, und versuchen, mit "dd_rescue" die defekte Platte zu kopieren. Falls das klappen sollte, kann man evtl. den Pool wieder mounten.
 

xaibex

Patron
Joined
Mar 19, 2013
Messages
340
Moin mkninc,

der zpool bestand anfangs aus 5 Festplatten und wurde dann um 3 Festplatten erweitert. Aber ich gehe eigentlich davon aus, das die Platten mit denen ein pool erweitert wird wie alle anderen in der Z2-vol angebunden werden.

nochmal zur erklärung:
was du gemacht hast ist in der Reihenfolge:
  1. Ein Raidz2 (Raid6) aus 5 Festplatten. (Doppelte Redundanz)
  2. Ein stripe (Raid0) aus dem Raid6 und weiteren 3 Festplatten (keine Redundanz)
Ergibt stripe(raidz2(hdd1,hdd2,hdd3,hdd4,hdd5),hdd6,hdd7,hdd8)

Wenn eine der drei zusätzlichen Platten ausfällt ist der ganze zpool defekt. Nur bei Ausfall von maximal zwei der ersten 5 Platten wäre der pool noch gelaufen.

Leider ein Anfängerfehler der immer wieder gemacht wird. Denn einen solchen Pool kannst du nun leider nicht mehr anders retten als die eine defekte Platte wieder zum laufen zu bringen (wie schon von mknicnc erwähnt). Andernfalls hoffe ich dass du ein Backup hast.
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin,

hab gerade noch mal versucht die defekte HDD direkt an das Motherboard anzuschließen um die Fehlermeldung des HBAs zu umgehen, leider ohne Erfolg. Als nächstes wollte ich noch mal versuchen die HDD 1:1 auf eine neue Festplatte zu clonen.

nochmal zur erklärung:
was du gemacht hast ist in der Reihenfolge:
  1. Ein Raidz2 (Raid6) aus 5 Festplatten. (Doppelte Redundanz)
  2. Ein stripe (Raid0) aus dem Raid6 und weiteren 3 Festplatten (keine Redundanz)
Ergibt stripe(raidz2(hdd1,hdd2,hdd3,hdd4,hdd5),hdd6,hdd7,hdd8)

Wenn eine der drei zusätzlichen Platten ausfällt ist der ganze zpool defekt. Nur bei Ausfall von maximal zwei der ersten 5 Platten wäre der pool noch gelaufen.

Leider ein Anfängerfehler der immer wieder gemacht wird. Denn einen solchen Pool kannst du nun leider nicht mehr anders retten als die eine defekte Platte wieder zum laufen zu bringen (wie schon von mknicnc erwähnt). Andernfalls hoffe ich dass du ein Backup hast.

Bitte nicht böse sein aber wer denkt sich so einen Sch... aus? Bei jeden Hardware RAID werden, nachträglich hinzugefügte Festplatten in das Array mit eingerechnet. Das ist, für mein Verständnis, im Storage-Bereich eigentlich selbstverständlich. Auf die Idee, dass die Festplatten einfach (ohne Redundanz) hinten dran gehängt werden, wäre ich nie gekommen. Vor allem da ZFS behauptet, besser zu sein als ein herkömmliches Hardware RAID und darüber hinaus auch noch damit wirbt, wie leicht es ist zpools zu erweitern. Aber solche Einschränkungen sind eigentlich schon fast ein Ausschlusskriterium für ZFS. Zum Glück habe ich von allem wichtigen ein Backup, so dass ich nicht all zu viele Daten verlieren werde.
 
Status
Not open for further replies.
Top