ZFS: can't read MOS of pool

Trond Endrestøl Trond.Endrestol at fagskolen.gjovik.no
Thu Jul 25 16:40:55 UTC 2013


On Mon, 22 Jul 2013 18:18+0200, ?ukasz W?sikowski wrote:

> Hi,
> 
> I've got a problem with booting zfs-on-root FreeBSD 9.2-PRERELEASE. I'm
> getting:
> 
> ZFS: i/o error - all block copies unavailable
> ZFS: can't read MOS of pool klawisz
> gptzfsboot: failed to mount default pool klawisz
> 
> Machine is VM running under KVM on Proxmox 2.3-13. VM has 8 GB of RAM,
> 400 GB of local storage with SCSI Controller type: Default (lsi).
> 
> I'm not sure what I did to make this VM unbootable. I've installed
> 9.2-PRERELEASE, did source based upgrade to r253470, mergemaster,
> reinstalled bootcode and rebooted. To this point VM was bootable.
> 
> Then I did installworld from /usr/src to ezjail's basejail (ezjail-admin
> update -i), did mergemaster for jails, install some ports - none of this
> should mess with booting. I rebooted VM and got unbootable system.
> 
> When I boot from liveCD I can import this pool (scrub shows no errors),
> mount it, chroot to it, and work with it. I just can't get it to boot.
> 
> Some information about the system:
> http://pastie.org/private/mtfhkx0wx0vve29xn0plw
> 
> I've tried to downgrade to r252316 - no luck, system is still unbootable.
> 
> Any hints how to go from here?

I'm only subscribed to freebsd-stable@, but as far as I can tell, no 
one from freebsd-fs@ nor freebsd-stable@ has yet replied. I'm only 
replying to freebsd-stable at .

First, just some quick questions:

Have you by chance upgraded the pool format without upgrading the boot 
blocks? Or was the pool already at 5000?

You didn't mention if you have made any attempt at updating the boot 
blocks after playing with ezjail-admin.

Perhaps you should consider updating the boot blocks once more:

1. Boot from the live CD.

2. Import the pool read-only without mounting any fs:

zpool import -f -N -o readonly=on klawisz

3. Mount the root fs read-only:

mount -r -t zfs klawisz/ROOTFS /tmp/zroot

4. Update the boot blocks from the files stored in the root fs:

gpart bootcode -b /tmp/zroot/boot/pmbr -p /tmp/zroot/boot/gptzfsboot -i 1 ada0

5. Unmount the root fs:

umount /tmp/zroot

6. Reboot the system, do NOT export the pool.

Hopefully, the updated gptzfsboot stored in ada0p1 will be able to 
read the MOS.

That's all I can think of at the moment.

Best of luck.

-- 
+-------------------------------+------------------------------------+
| Vennlig hilsen,               | Best regards,                      |
| Trond Endrestøl,              | Trond Endrestøl,                   |
| IT-ansvarlig,                 | System administrator,              |
| Fagskolen Innlandet,          | Gjøvik Technical College, Norway,  |
| tlf. mob.   952 62 567,       | Cellular...: +47 952 62 567,       |
| sentralbord 61 14 54 00.      | Switchboard: +47 61 14 54 00.      |
+-------------------------------+------------------------------------+


More information about the freebsd-stable mailing list