Timon Wang
2013-Aug-20 10:42 UTC
Re: [libvirt-users] Oracle RAC in libvirt+KVM environment
[root@localhost /]# ls -l /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk
lrwxrwxrwx. 1 root root 8 8月 20 17:38
/dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk -> ../dm-13
[root@localhost /]# sg_inq /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x05 [SPC-3]
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=0
SCCS=1 ACC=0 TPGS=1 3PC=0 Protect=0 [BQue=0]
EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0
[RelAdr=0] WBus16=1 Sync=1 Linked=0 [TranDis=0] CmdQue=1
length=36 (0x24) Peripheral device type: disk
Vendor identification: MacroSAN
Product identification: LU
Product revision level: 1.0
Unit serial number: 0d9281ae-aea4-6da0-0000-02180142b300
This lun is from a vg build based on iscsi target.
[root@localhost /]# libvirtd --version
libvirtd (libvirt) 1.0.5
[root@localhost /]# qemu-kvm --version
QEMU emulator version 1.4.1, Copyright (c) 2003-2008 Fabrice Bellard
[root@localhost /]# uname -a
Linux localhost.localdomain 3.9.2-301.fc19.x86_64 #1 SMP Mon May 13
12:36:24 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
On Tue, Aug 20, 2013 at 6:16 PM, Paolo Bonzini <pbonzini@redhat.com>
wrote:> Il 20/08/2013 11:59, Timon Wang ha scritto:
>> On Tue, Aug 20, 2013 at 4:33 PM, Paolo Bonzini
<pbonzini@redhat.com> wrote:
>>> Il 20/08/2013 08:00, Timon Wang ha scritto:
>>>> <disk type='file' device='disk'>
>>>> <driver name='qemu' type='raw'
cache='none'/>
>>>> <source file='/home/images/win2008_2_sys'/>
>>>> <target dev='hda' bus='ide'/>
>>>> <boot order='3'/>
>>>> <address type='drive' controller='0'
bus='0' target='0' unit='0'/>
>>>> </disk>
>>>> <disk type='file' device='cdrom'>
>>>> <driver name='qemu' type='raw'/>
>>>> <source
file='/home/isos/windows2008_64r2.iso'/>
>>>> <target dev='sdc' bus='ide'/>
>>>> <readonly/>
>>>> <boot order='1'/>
>>>> <address type='drive' controller='0'
bus='1' target='0' unit='0'/>
>>>> </disk>
>>>> <disk type='block' device='disk'>
>>>
>>> I'm not sure this will be enough, but if you want passthrough
to the
>>> host device you should use device='lun' here. However, you
still would
>>> not be able to issue SCSI reservations unless you run QEMU with the
>>> CAP_SYS_RAWIO capability (using "<disk ...
rawio='yes'>").
>>>
>>
>> After change the libvirt xml like this:
>> <disk type='block' device='lun'
rawio='yes'>
>> <driver name='qemu' type='raw'
cache='none'/>
>> <source
dev='/dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk'/>
>> <target dev='sda' bus='scsi'/>
>> <shareable/>
>> <address type='drive' controller='0'
bus='0' target='0' unit='0'/>
>> </disk>
>> I got these errors:
>> char device redirected to /dev/pts/1 (label charserial0)
>> qemu-system-x86_64: -device
>>
scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0:
>> scsi-block: INQUIRY failed
>> qemu-system-x86_64: -device
>>
scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0:
>> Device 'scsi-block' could not be initialized
>
> Can you do
>
> # ls -l /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk
> # sg_inq /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk
>
> ?
>
> Paolo
>
--
Focus on: Server Vitualization, Network security,Scanner,NodeJS,JAVA,WWW
Blog: http://www.nohouse.net
Paolo Bonzini
2013-Aug-20 10:49 UTC
Re: [libvirt-users] Oracle RAC in libvirt+KVM environment
Il 20/08/2013 12:42, Timon Wang ha scritto:> [root@localhost /]# ls -l /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk > lrwxrwxrwx. 1 root root 8 8月 20 17:38 > /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk -> ../dm-13 > [root@localhost /]# sg_inq /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk > standard INQUIRY: > PQual=0 Device_type=0 RMB=0 version=0x05 [SPC-3] > [AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=0 > SCCS=1 ACC=0 TPGS=1 3PC=0 Protect=0 [BQue=0] > EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0 > [RelAdr=0] WBus16=1 Sync=1 Linked=0 [TranDis=0] CmdQue=1 > length=36 (0x24) Peripheral device type: disk > Vendor identification: MacroSAN > Product identification: LU > Product revision level: 1.0 > Unit serial number: 0d9281ae-aea4-6da0-0000-02180142b300 > > This lun is from a vg build based on iscsi target.If it is a logical volume, you cannot pass it as a LUN to the guest. Only the whole iSCSI LUN can be passed as a LUN. Paolo> [root@localhost /]# libvirtd --version > libvirtd (libvirt) 1.0.5 > [root@localhost /]# qemu-kvm --version > QEMU emulator version 1.4.1, Copyright (c) 2003-2008 Fabrice Bellard > [root@localhost /]# uname -a > Linux localhost.localdomain 3.9.2-301.fc19.x86_64 #1 SMP Mon May 13 > 12:36:24 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux > > > On Tue, Aug 20, 2013 at 6:16 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: >> Il 20/08/2013 11:59, Timon Wang ha scritto: >>> On Tue, Aug 20, 2013 at 4:33 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: >>>> Il 20/08/2013 08:00, Timon Wang ha scritto: >>>>> <disk type='file' device='disk'> >>>>> <driver name='qemu' type='raw' cache='none'/> >>>>> <source file='/home/images/win2008_2_sys'/> >>>>> <target dev='hda' bus='ide'/> >>>>> <boot order='3'/> >>>>> <address type='drive' controller='0' bus='0' target='0' unit='0'/> >>>>> </disk> >>>>> <disk type='file' device='cdrom'> >>>>> <driver name='qemu' type='raw'/> >>>>> <source file='/home/isos/windows2008_64r2.iso'/> >>>>> <target dev='sdc' bus='ide'/> >>>>> <readonly/> >>>>> <boot order='1'/> >>>>> <address type='drive' controller='0' bus='1' target='0' unit='0'/> >>>>> </disk> >>>>> <disk type='block' device='disk'> >>>> >>>> I'm not sure this will be enough, but if you want passthrough to the >>>> host device you should use device='lun' here. However, you still would >>>> not be able to issue SCSI reservations unless you run QEMU with the >>>> CAP_SYS_RAWIO capability (using "<disk ... rawio='yes'>"). >>>> >>> >>> After change the libvirt xml like this: >>> <disk type='block' device='lun' rawio='yes'> >>> <driver name='qemu' type='raw' cache='none'/> >>> <source dev='/dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk'/> >>> <target dev='sda' bus='scsi'/> >>> <shareable/> >>> <address type='drive' controller='0' bus='0' target='0' unit='0'/> >>> </disk> >>> I got these errors: >>> char device redirected to /dev/pts/1 (label charserial0) >>> qemu-system-x86_64: -device >>> scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0: >>> scsi-block: INQUIRY failed >>> qemu-system-x86_64: -device >>> scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0: >>> Device 'scsi-block' could not be initialized >> >> Can you do >> >> # ls -l /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk >> # sg_inq /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk >> >> ? >> >> Paolo >> > > >
Timon Wang
2013-Aug-20 11:43 UTC
Re: [libvirt-users] Oracle RAC in libvirt+KVM environment
Thanks, the whole iSCSI LUN have been passed to the VM. But I test it with scsicmd, and found that the driver may be not support SPC-3, but if i use this by microsoft iscsi initiator, I can pass all the scsi3_test tests. Tool can be found here: http://www.symantec.com/business/support/index?page=content&id=TECH72086 It's this means that the scsi passthrough windows driver does not support SPC-3 feature, I have read a post about this, it says if support this we should change both the implementation and the documents in virtio spec. I am new to this list, so I don't know what is the situation right now? Would somebody please give me some advise on it? On Tue, Aug 20, 2013 at 6:49 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:> Il 20/08/2013 12:42, Timon Wang ha scritto: >> [root@localhost /]# ls -l /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk >> lrwxrwxrwx. 1 root root 8 8月 20 17:38 >> /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk -> ../dm-13 >> [root@localhost /]# sg_inq /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk >> standard INQUIRY: >> PQual=0 Device_type=0 RMB=0 version=0x05 [SPC-3] >> [AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=0 >> SCCS=1 ACC=0 TPGS=1 3PC=0 Protect=0 [BQue=0] >> EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0 >> [RelAdr=0] WBus16=1 Sync=1 Linked=0 [TranDis=0] CmdQue=1 >> length=36 (0x24) Peripheral device type: disk >> Vendor identification: MacroSAN >> Product identification: LU >> Product revision level: 1.0 >> Unit serial number: 0d9281ae-aea4-6da0-0000-02180142b300 >> >> This lun is from a vg build based on iscsi target. > > If it is a logical volume, you cannot pass it as a LUN to the guest. > Only the whole iSCSI LUN can be passed as a LUN. > > Paolo > >> [root@localhost /]# libvirtd --version >> libvirtd (libvirt) 1.0.5 >> [root@localhost /]# qemu-kvm --version >> QEMU emulator version 1.4.1, Copyright (c) 2003-2008 Fabrice Bellard >> [root@localhost /]# uname -a >> Linux localhost.localdomain 3.9.2-301.fc19.x86_64 #1 SMP Mon May 13 >> 12:36:24 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux >> >> >> On Tue, Aug 20, 2013 at 6:16 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: >>> Il 20/08/2013 11:59, Timon Wang ha scritto: >>>> On Tue, Aug 20, 2013 at 4:33 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: >>>>> Il 20/08/2013 08:00, Timon Wang ha scritto: >>>>>> <disk type='file' device='disk'> >>>>>> <driver name='qemu' type='raw' cache='none'/> >>>>>> <source file='/home/images/win2008_2_sys'/> >>>>>> <target dev='hda' bus='ide'/> >>>>>> <boot order='3'/> >>>>>> <address type='drive' controller='0' bus='0' target='0' unit='0'/> >>>>>> </disk> >>>>>> <disk type='file' device='cdrom'> >>>>>> <driver name='qemu' type='raw'/> >>>>>> <source file='/home/isos/windows2008_64r2.iso'/> >>>>>> <target dev='sdc' bus='ide'/> >>>>>> <readonly/> >>>>>> <boot order='1'/> >>>>>> <address type='drive' controller='0' bus='1' target='0' unit='0'/> >>>>>> </disk> >>>>>> <disk type='block' device='disk'> >>>>> >>>>> I'm not sure this will be enough, but if you want passthrough to the >>>>> host device you should use device='lun' here. However, you still would >>>>> not be able to issue SCSI reservations unless you run QEMU with the >>>>> CAP_SYS_RAWIO capability (using "<disk ... rawio='yes'>"). >>>>> >>>> >>>> After change the libvirt xml like this: >>>> <disk type='block' device='lun' rawio='yes'> >>>> <driver name='qemu' type='raw' cache='none'/> >>>> <source dev='/dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk'/> >>>> <target dev='sda' bus='scsi'/> >>>> <shareable/> >>>> <address type='drive' controller='0' bus='0' target='0' unit='0'/> >>>> </disk> >>>> I got these errors: >>>> char device redirected to /dev/pts/1 (label charserial0) >>>> qemu-system-x86_64: -device >>>> scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0: >>>> scsi-block: INQUIRY failed >>>> qemu-system-x86_64: -device >>>> scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0: >>>> Device 'scsi-block' could not be initialized >>> >>> Can you do >>> >>> # ls -l /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk >>> # sg_inq /dev/VM-IMAGES-BACKUP-DO-NOT-REMOVE/q_disk >>> >>> ? >>> >>> Paolo >>> >> >> >> >-- Focus on: Server Vitualization, Network security,Scanner,NodeJS,JAVA,WWW Blog: http://www.nohouse.net