qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] New Guess OS Creation Problem


From: takizo
Subject: Re: [Qemu-devel] New Guess OS Creation Problem
Date: Mon, 12 Dec 2011 23:50:09 +0800

On Dec 12, 2011, at 11:33 PM, Stefan Hajnoczi wrote:

> On Mon, Dec 12, 2011 at 3:19 PM, takizo <address@hidden> wrote:
>> 
>> On Dec 12, 2011, at 11:08 PM, Stefan Hajnoczi wrote:
>> 
>>> On Mon, Dec 12, 2011 at 2:50 PM, takizo <address@hidden> wrote:
>>>> 
>>>> On Dec 12, 2011, at 6:56 PM, Stefan Hajnoczi wrote:
>>>> 
>>>>> On Sun, Dec 11, 2011 at 4:40 PM, takizo <address@hidden> wrote:
>>>>>> LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none 
>>>>>> /usr/libexec/qemu-kvm -S -M rhel6.1.0 -enable-kvm -m 4096 -smp 
>>>>>> 1,sockets=1,cores=1,threads=1 -name database -uuid 
>>>>>> f3e9f320-7826-7e50-94bb-1833f7fd9dfb -nodefconfig -nodefaults -chardev 
>>>>>> socket,id=charmonitor,path=/var/lib/libvirt/qemu/database.monitor,server,nowait
>>>>>>  -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc 
>>>>>> -no-reboot -drive 
>>>>>> file=/opt/cibai/database,if=none,id=drive-ide0-0-0,format=raw,cache=none,aio=threads
>>>>>>  -device 
>>>>>> ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 
>>>>>> -drive 
>>>>>> file=/opt/ISO-Download/FreeBSD-8.2-RELEASE-amd64-disc1.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,aio=threads
>>>>>>  -device 
>>>>>> ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 
>>>>>> -netdev tap,fd=22,id=hostnet0 -device 
>>>>>> e1000,netdev=hostnet0,id=net0,mac=52:54:00:77:a5:a6,bus=pci.0,addr=0x3 
>>>>>> -chardev pty,id=charserial0 -device 
>>>>>> isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:2,password 
>>>>>> -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
>>>>>> char device redirected to /dev/pts/6
>>>>>> Using CPU model "cpu64-rhel6"
>>>>>> 
>>>>>> block I/O error in device 'drive-ide0-0-0': Invalid argument (22)
>>>>> 
>>>>> Is /opt/cibai/database on a special filesystem or exotic storage setup?
>>>>> 
>>>>> Please check dmesg on the host for any kernel messages regarding I/O 
>>>>> errors.
>>>>> 
>>>>> Please try reading the file on the host to check whether the I/O error
>>>>> is happening on the host and not related to KVM:
>>>>> 
>>>>> $ dd if=/opt/cibai/database of=/dev/null iflag=direct
>>>>> 
>>>>> Stefan
>>>> 
>>>> Hi Stefan,
>>>> 
>>>> When I quit the installation, further see the error messages
>>>> 
>>>> ide_dma_cancel: aiocb still pendingide_dma_cancel: BM_STATUS_DMAING still 
>>>> pendingide_dma_cancel: aiocb still pendingide_dma_cancel: BM_STATUS_DMAING 
>>>> still pendingide_dma_cancel: aiocb still pendingide_dma_cancel: 
>>>> BM_STATUS_DMAING still pendingide_dma_cancel: aiocb still 
>>>> pendingide_dma_cancel: BM_STATUS_DMAING still pendingide_dma_cancel: aiocb 
>>>> still pendingide_dma_cancel: BM_STATUS_DMAING still pendingide_dma_cancel: 
>>>> aiocb still pendingide_dma_cancel: BM_STATUS_DMAING still 
>>>> pending2011-12-12 22:47:51.427: shutting down
>>>> 
>> 
>> Hi Stefan
>> 
>>> Okay, so if I understand correctly you have CentOS 6.1 host running
>>> FreeBSD and CentOS guest installs to emulated IDE drives.  You're
>>> getting failed I/O requests with EINVAL (22).  You have verified that
>>> dd if=/opt/vm/database.img of=/dev/null iflag=direct reads the image
>>> file without errors.
>> 
>> That is right, both also emulated on IDE drive
>> 
>>> 
>>> Can you please try the CentOS guest install with a virtio-blk drive
>>> instead of IDE?  This should show whether this problem is related to
>>> IDE or a general issue in how QEMU accesses the host file.
>> 
>> Took your advice installed Centos on VirtIO drive and it's ok.
>> 
>> Does it means it's IDE problem on the OS itself?
> 
> The physical drive in your machine is probably fine.  QEMU emulates an
> IDE controller and disks for the guest.  It looks like there is a bug
> in the IDE emulation code inside QEMU which leads to these errors.

I suspect the problem might came from QEMU, because day before it was working 
before before I upgrade to latest QEMU. 
> 
> In general virtio-blk is the recommended storage interface because it
> delivers better performance.  I'm not up-to-speed on how stable the
> FreeBSD virtio drivers are but I think they are available if you
> search.

Unfortunately I am running FreeBSD 8.2, it's not natively supported yet. I 
guess now interim solutions will be duplicate from some current running VM. 

> 
>> 2011-12-12 23:15:06.759: starting up
>> LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none 
>> /usr/libexec/qemu-kvm -S -M rhel6.1.0 -enable-kvm -m 1024 -smp 
>> 1,sockets=1,cores=1,threads=1 -name centos -uuid 
>> 0752c74e-1d51-d529-f66f-8df9a28670ed -nodefconfig -nodefaults -chardev 
>> socket,id=charmonitor,path=/var/lib/libvirt/qemu/centos.monitor,server,nowait
>>  -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot 
>> -drive 
>> file=/opt/vm/centos.img,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=threads
>>  -device 
>> virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2
>>  -drive 
>> file=/opt/ISO-Download/CentOS-6.0-x86_64-minimal.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,aio=threads
>>  -device 
>> ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 
>> -netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=26 -device 
>> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:10:bc:5d,bus=pci.0,addr=0x3
>>  -chardev pty,id=charserial0 -device 
>> isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 
>> -vnc 127.0.0.1:3,password -vga cirrus -device 
>> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
>> char device redirected to /dev/pts/9
>> Using CPU model "cpu64-rhel6"
> 
> At this stage of debugging I would try enabling SystemTap probes in
> QEMU related to block I/O.  This produces a detailed log of what is
> happening inside QEMU.
> 
> strace -f -p $PID_OF_QEMU might also reveal how the I/O is failing.
> 
> Finally, gdb could be of use.
> 
> I'm not sure how familiar or easy it is for you to try these so let's
> see if Kevin or someone else has other ideas before getting into the
> nitty-gritty of finding out why you get EINVAL (22).

I will see what I can grab and share in the list.

Thanks Stefan

> 
> Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]