[libvirt-users] Oracle RAC in libvirt+KVM environment

Timon Wang timonwst at gmail.com
Tue Aug 20 09:59:49 UTC 2013


On Tue, Aug 20, 2013 at 4:33 PM, Paolo Bonzini <pbonzini at 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


> Most important, it still would be unsafe to do this if the same device
> is passed to multiple virtual machines on the same host.  You need to
> have NPIV and create separate virtual HBAs.  Then each virtual machine
> should get a separate virtual HBA.  Otherwise, persistent reservations
> are not attached to a particular virtual machine, but generically to the
> host.

How to use NPIV virtual HBAs with libvirt xml configurations? I can
define nodedev, but have no idea about how to pass the nodedev to the
vm.

>
>>       <driver name='qemu' type='raw'/>
>>       <source dev='/dev/fedora/q_disk'/>
>>       <target dev='sda' bus='virtio'/>
>
> You are not exposing a virtio-scsi disk here.  You are exposing a
> virtio-blk disk.  You can see this from the type='pci' address that
> libvirt gave to the disk.
>
> If you use bus='scsi', you will see that libvirt will use type='drive'
> for the address.
>
>>     <controller type='scsi' index='0' model='virtio-scsi'>
>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
>> function='0x0'/>
>>     </controller>
>
> This is okay.
>
>>   <qemu:commandline>
>>     <qemu:arg value='-rtc-td-hack'/>
>>   </qemu:commandline>
>
> FWIW, this can be replaced with
>
>   <clock offset='localtime'>
>     <timer name='rtc' tickpolicy='catchup'/>
>   </clock>
>
> (you already have the <clock> element, but no <timer> element inside).

Thanks for this tip.

>
> Paolo
>
>> </domain>
>>
>>
>>
>> On 8/19/13, Paolo Bonzini <pbonzini at redhat.com> wrote:
>>> Il 15/08/2013 12:01, Timon Wang ha scritto:
>>>> Thanks.
>>>>
>>>> I have read the link you provide, there is another link which tells me
>>>> to pass a NPIV discovery lun as a disk, this is seen as a local direct
>>>> access disk in windows. RAC and Failure Cluster both consider this
>>>> pass through disk as local disk, not a share disk, and the setup
>>>> process failed.
>>>>
>>>> Hyper-v provides a virtual Fiber Channel implementation, so I
>>>> wondering if kvm has the same solution like it.
>>>
>>> Can you include the XML file you are using for the domain?
>>>
>>> Paolo
>>>
>>>
>>
>>
>

-- 
Focus on: Server Vitualization, Network security,Scanner,NodeJS,JAVA,WWW
Blog: http://www.nohouse.net




More information about the libvirt-users mailing list