GPT boot with ZFS RAIDZ "ZFS: i/o error - all block copies
unavailable"
Radek Valášek
valin at buchlovice.org
Tue Oct 27 10:15:24 UTC 2009
Robert Noland napsal(a):
> 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.
>
So I switched to -CURRENT:
1, overwriting /boot/loader.conf results with:
BTX loader 1.00 BTX version is 1.02
Consoles: internal video/keyboard
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS drive E: is disk2
BIOS drive F: is disk3
BIOS 627kB/3405248kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
(root at ztest, Mon Oct 26 14:01:44 CEST 2009)
Loading /boot/defaults/loader.conf
ZFS: i/o error - all block copies unavailable
Warning: error reading file /boot/loader.conf
so basically the same as in RELENG_8
2, + overwriting /boot/loader results with:
ZFS: i/o error - all block copies unavailable
Invalid format
FreeBSD/i386 boot
Default: z:/boot/kernel/kernel
boot:
\
int=00000001 err=00000000 efl=00000087 eip=0018d27d
eax=0018d2af ebx=18bf9925 ecx=540d8ef2 edx=00000000
esi=00009401 edi=000919d0 ebp=36571125 esp=80000000
cs=0008 ds=0010 es=0010 fs=0010 gs=0010 ss=0010
cs:eip=1f 68 e2 c6 7d 75 0c 5d-45 58 c7 80 f5 99 bd 9e
fe 68 2d 3e 3c 35 5e 67-61 12 fe 50 c9 0b e4 70
ss:esp=00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
BTX halted
3, I also try the 'status' as you told to Merijn before BTX halted:
ZFS: i/o error - all block copies unavailable
Invalid format
FreeBSD/i386 boot
Default: z:/boot/kernel/kernel
boot: status pool: z
config:
NAME STATE
z ONLINE
raidz1 ONLINE
ad6p2 ONLINE
ad8p2 ONLINE
ad10p2 ONLINE
ad12p2 ONLINE
radek.
>
>
>> 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"
>>
More information about the freebsd-current
mailing list