Re: GPT boot with ZFS RAIDZ "ZFS: i/o error - all block copies unavailable"

From: Robert Noland <rnoland_at_FreeBSD.org>
Date: Mon, 26 Oct 2009 10:34:59 -0500
On Mon, 2009-10-26 at 10:23 +0100, Merijn Verstraaten wrote:
> On Mon, 26 Oct 2009 01:31:46 +0100, Robert Noland <rnoland_at_freebsd.org>  
> wrote:
> >> After installing 8.0-RC1 (amd64) from USB stick this installation works
> >> fine. If I csup to RELENG_8 (amd64) and compile + install world and  
> >> kernel
> >> booting from the ZFS fails. The initial installation I did just this, on
> >> another attempt I ran "gpart bootcode -b /boot/pbmr -p /boot/gptzfsboot
> >> adX" on all disks before rebooting to see if that had any effect. The  
> >> end
> >> result is the same. After rebooting the machine I get the following
> >> prompt(s):
> >>
> >>          ZFS: i/o error - all block copies unavailable
> >>          Invalid format
> >>
> >>          FreeBSD/i386 boot
> >>          Default: tank:/boot/kernel/kernel
> >>          boot:
> >
> > Could you type "status" at this point and tell what it shows?
> 
> If I type status at this point I get:
> 
>    pool: tank
>    config:
>        NAME    STATE
>        tank   ONLINE
>      raidz1   ONLINE
>       ad4p3   ONLINE
>       ad6p3   ONLINE
>       ad8p3   ONLINE
>      ad10p3   ONLINE
> 
> Which seems odd, since that's all the drives there are. So if it finds  
> these it's already found all drives. My optimistic "Oh! I'll try and boot  
> again" spirit was however crushed since it just results in the same error.

Ok, that is both good and frustrating... I haven't produced any boot
failures with all of the drives visible.  Do, note that I just added
support for reading gang blocks to the loader. (basically untested,
since I haven't managed to create them at will)  You will need to update
your partition boot code for it to be supported during early boot.  i.e.
gpart bootcode -p /boot/gptzfsboot -i <boot partition> <disk>

The "all block copies unavailable" is a frustrating error, since all it
means is a failed read, but we don't get a clue what failed or why.
With the code that is in -CURRENT it will report gang blocks if found,
even if it fails to read them.
 
robert.
 
> Kind regards,
> Merijn
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
-- 
Robert Noland <rnoland_at_FreeBSD.org>
FreeBSD
Received on Mon Oct 26 2009 - 14:35:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:57 UTC