ZFS: i/o error - all block copies unavailable

Dan Langille dan at langille.org
Wed Feb 24 00:10:23 UTC 2016

> On Feb 22, 2016, at 1:30 PM, Mike Tancsa <mike at sentex.net> wrote:
> On 2/22/2016 12:41 PM, Dan Langille wrote:
>> I have a FreeBSD 10.2 (with freebsd-update applied) system at home
>> which cannot boot. The message is: ZFS: i/o error - all block
>> copies unavailable ZFS: can't read MOS of pool system gptzfsboot:
>> failed to mount default pool system
>> I booted the box via mfsBSD thumb drive, and was able to import
>> the zpool: https://gist.github.com/dlangille/6da065e309301196b9cd
>> <https://gist.github.com/dlangille/6da065e309301196b9cd>
>> I have also run: "gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot
>> -i 1 XXX" against each drive. I did with the the files provided
>> with mfsBSD and with the files from my local 10.2 system.  Neither
>> solution changed the booting problem.
> This is a longshot, but I ran into an odd situation like this as well a
> few weeks ago.
> It seems on the motherboard I was using, when the "DUAL" boot option
> is enabled in the BIOS, present all the disks to the loader early in
> the boot process.
> So, when you escape to the loader prompt, and do
> OK lsdev
> cd devices:
> disk devices:
> disk0:BIOS drive C:
> disk1:BIOS drive D:
> disk2:BIOS drive E:
> disk3:BIOS drive F:
> pxe devices:
> zfs devices:
> zfs:zroot
> OK
> In this case, 4 of the disks that are normally part of the zroot were
> not there resulting in
> ZFS: i/o error - all block copies unavailable
> Disabling the "DUAL" option in the BIOS and going back to legacy and
> listing all the drives as possible boot drives, then presents to the
> zfsloader all the disks, so we see the familiar
> BIOS drive C: is disk0
> BIOS drive D: is disk1
> BIOS drive E: is disk2
> BIOS drive F: is disk3
> BIOS drive G: is disk4
> BIOS drive H: is disk5
> BIOS drive I: is disk6
> BIOS drive J: is disk7
> This is a Supermicro SYS-7048R-C1RT4+ X10DRC-T4+ (BIOS 01/29/2015)
> Prior to the reboot, the other drives were not used by the zfs pool, but
> were added. Since the old pool didnt need them, it didnt matter.
> Its a longshot that this is your problem, but I will takes the chances
> today :)

Since we last posted:

- a drive partition issue was identified and fixed.  glabel status output disagreed with gpart output. (thanks to Josh Paetzel)
- the drive was repartitioned and a resilvering occurred overnight.
- the system would not boot this morning:

ZFS: i/o error - all block copies unavailable
ZFS: can't read MOS object directory
ZFS: can't find root filesystem
gptzfsboot: failed to mount default pool system

FreeBBSD/x86 boot
ZFS: i/o error - all block copies unavailable
ZFS: can't find dataset u
Default: system/<0x0>:

- While booting into mfsBSD to issue zpool set cachefile, I noticed that I saw only three drives while booting.
I looked in BIOS but didn't find what I was looking for, but I did find it in the LSI card setting. During the
debugging of the original problem, I changed the Boot Support setting on the LSI card from BIOS & OS to
OS Only. It did not help, but the debugging change was never reverted.

- I made that change, rebooted the server, and it's back.

see also: https://forums.freebsd.org/threads/55227/#post-312830 <https://forums.freebsd.org/threads/55227/#post-312830>

Thank you.

Mike: You were right. :)

Dan Langille - BSDCan / PGCon
dan at langille.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 971 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20160223/df9087c7/attachment.sig>

More information about the freebsd-questions mailing list