# ZFS Boot problem after hard shutdown while resilvering RAIDZ1



## Morrison (Mar 6, 2010)

Hello folks.

*Here are my specs:*

​FreeBSD Current 8.0 (amd64)
​3x 2TB HDD combined to a RAIDZ1
​GPT
​Root is running on ZFS,
​I used the following Guideline (http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/RAIDZ1)


*This is the problem:*

I had to replace a drive, but chose by accident a spare which hat some strange malfunction as well.
I used the command: 

```
zpool replace zroot gpt/disk1
```


```
zpool status
```
gave me the information that resilvering would take 2500h (increasing).
After a couple of MB were resilvered (very slowly), I decided to shut the system down safely, which didn't work, so I powered it off by holding the power switch.
I detached the malfunctioned spare drive and tried to start the system with the two HDDs, but now I am getting


```
ZFS: can only boot from disk, mirror or raidz vdevs
ZFS: i/o error - all block copies unavailable
ZFS: can't read object set for dataset lld
Can't find root filesystem - giving up
ZFS: unexpected object set type lld
ZFS: unexpected object set type lld

FreeBSD/i386 boot
Default: zroot:/boot/kernel/kernel
boot:
ZFS: unexpected object set type lld

FreeBSD/i386 boot
Default: zroot:/boot/kernel/kernel
boot:_
```

I used my LiveFS USB and tried with Fixit, after loading opensolaris.ko and zfs.ko:

```
zpool import -f zroot
```

After that, all HDDs started making noises as if they try to heal/restore them self. But all commands I entered then, gave me errors like:

```
/libexec/ld-elf.so.1: Shared object "libavl.so.2" not found, required by "zpool"
```
Even simple commands like "ls" produce simular messages.
I waited one night until the HDDs went silent and rebooted, but without any luck.


*Question:*

​Is there any way of getting this system up again?


Regards,
Morrison


----------



## Morrison (Mar 6, 2010)

The solution came from a user of the freebsd-fs mailing-list.
He recommended:


> I have the same problem. You can do three things: 1) do nothing and wait, because ZFS pool starts resilvering 2) set LD_LIBRARY_PATH to /zroot and use all utilites 3) Exit from fixit after import and enter it again. ZFS will be mounted and shell will be functional.


I went for option 3. I did _*zpool scrub zroot*_ afterwards on the two disks, no errors. I connect the faulty drive again to stop the resilvering with _*zpool scrub -s zroot*_. After a restart and _*zpool clear zroot gpt/disk1*_ the system booted again, but cause the spare was malfunction, I disconnected it and the system started afterwards in a normal degraded state. I bought a new HDD just now and my system is resilvering the disk with a normal amount of time.

Morrison


----------

