Red Hat Bugzilla – Bug 254176
Full-virt 32 bit Solaris and FreeBSD guests disk I/O errors under load
Last modified: 2011-05-17 19:20:14 EDT
Description of problem:
When installing and/or running certain non-Linux operating systems,
fully virtualised, 32-bit, we see disk I/O errors.
The disk I/O errors happen much more frequently when the system is
generally under I/O load (eg. other guests or the dom0 has processes
doing a lot of I/O). The errors are very rare when the host is
Version-Release number of selected component (if applicable):
Solaris 10 U3, 32-bit, i386
FreeBSD 6.2, 32-bit, i386
Easily reproducible if there is load on the system.
Steps to Reproduce:
1. Download a Solaris 10 U3 DVD ISO.
2. Begin the install from the ISO using virt-manager
(tip: make sure to give Solaris at least 8 GB of space).
3. Start disk load in dom0 and/or other guests.
Solaris installer crashes. The characteristic message for
Solaris 10 is:
"/a/var/sadm/launcher: I/O error"
You may also see other I/O related errors.
Solaris should install.
For the FreeBSD case please see bug 240009 comment 9.
I have only tried this with file-backed disks, not with raw
Solaris install seems a lot happier under Fedora 7 (xen-3.1.0-2.fc8),
giving a preliminary indication that fixes in the upstream qemu-dm
may have improved disk I/O for fullvirt domains.
Ignore comment 2. After overnight testing (getting the installed Solaris
to apply updates, while the host was under a moderate load), I found that
the Solaris guest had crashed with a severely corrupted disk. So Fedora 7
is better but certainly not working.
I also tested this with a partition-backed block device instead
of file-backed and the same thing corruption happens (Solaris 32 bit full virt
guest, Fedora 7 host).
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
Today I retested Solaris and FreeBSD under QEMU (CVS version)
and KVM-36 (Fedora 8 version) in order to see whether upstream
versions of the QEMU device model might fix this.
Results are mixed-to-good.
FreeBSD appears to run perfectly under both QEMU (CVS) and
KVM-36. The QEMU case isn't very surprising or interesting
because FreeBSD is running so much more slowly, so any race
conditions are less likely to occur. However I think the
KVM case is significant and may indicate that some different
between the old QEMU in Xen & the new(er) QEMU in KVM has fixed
Solaris also installs and runs perfectly under QEMU. No disk errors
shown, again not very surprising because everything is going much
Under KVM, Solaris does not boot, although I think this is a different
problem. It can boot to a shell in single user mode. However a normal
boot hangs with a black screen (no messages).
(Note that tests are continuing, and early results like this don't
necessarily indicate that the problem has completely gone away).
I tested FreeBSD under load for 4 days (KVM-36 again) with no
disk errors in that time.
This request was previously evaluated by Red Hat Product Management
for inclusion in the current Red Hat Enterprise Linux release, but
Red Hat was unable to resolve it in time. This request will be
reviewed for a future Red Hat Enterprise Linux release.