[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-4571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754564#comment-13754564
 ] 

Wei Zhou commented on CLOUDSTACK-4571:
--------------------------------------

In CloudStack, all the attachdisk are added as VIRTIO disk, no matter the 
guestOS supports PV or not.

It is fixed in 
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.attachOrDetachDisk(Connect,
 boolean, String, KVMPhysicalDisk, int)

                diskdef = new DiskDef();
                if (attachingPool.getType() == StoragePoolType.RBD) {
                    diskdef.defNetworkBasedDisk(attachingDisk.getPath(),
                            attachingPool.getSourceHost(), 
attachingPool.getSourcePort(),
                            attachingPool.getAuthUserName(), 
attachingPool.getUuid(), devId,
                            DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
                } else if (attachingDisk.getFormat() == 
PhysicalDiskFormat.QCOW2) {
                    diskdef.defFileBasedDisk(attachingDisk.getPath(), devId,
                            DiskDef.diskBus.VIRTIO, DiskDef.diskFmtType.QCOW2);
                } else if (attachingDisk.getFormat() == PhysicalDiskFormat.RAW) 
{
                    diskdef.defBlockBasedDisk(attachingDisk.getPath(), devId,
                            DiskDef.diskBus.VIRTIO);
                }
                
> Data disks attached to Windows 2008 R2 VMs are being attached as virtIO disks
> -----------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-4571
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4571
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Storage Controller
>    Affects Versions: 4.1.0
>         Environment: [root@slodev-cnkvm001 ~]# uname -a
> Linux slodev-cnkvm001 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 
> 2013 x86_64 x86_64 x86_64 GNU/Linux
> [root@slodev-cnkvm001 ~]# cat /etc/redhat-release 
> CentOS release 6.4 (Final)
>            Reporter: danny webb
>
> When attaching a data disk on KVM to a Windows 2008 R2 64 bit quest it is 
> being attached as a VirtIO disk.
> 6     0 54727     1  20   0 6819540 6202704 poll_s Sl ?       326:22 
> /usr/libexec/qemu-kvm -name i-5-465-VM -S -M rhel6.4.0 -enable-kvm -m 6144 
> -smp 2,sockets=2,cores=1,threads=1 -uuid 135f41ee-ff3e-39ae-a578-e6961f830b39 
> -nodefconfig -nodefaults -chardev 
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/i-5-465-VM.monitor,server,nowait
>  -mon chardev=charmonitor,id=monitor,mode=control -rtc 
> base=localtime,driftfix=slew -no-shutdown -device 
> piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive 
> file=/var/lib/libvirt/images/f06dcafe-18ee-4793-808f-9ff70cf9ccd3,if=none,id=drive-ide0-0-0,format=qcow2,cache=none
>  -device 
> ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 
> -drive 
> if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,cache=none 
> -device 
> ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 
> -drive 
> file=/var/lib/libvirt/images/528c7665-c93e-4f9b-b7f5-729f350b51a4,if=none,id=drive-virtio-disk1,format=qcow2,cache=none
>  -device 
> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1
>  -netdev tap,fd=24,id=hostnet0 -device 
> e1000,netdev=hostnet0,id=net0,mac=06:7a:92:00:05:aa,bus=pci.0,addr=0x3 
> -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 
> -device usb-tablet,id=input0 -vnc 0.0.0.0:3 -vga cirrus -device 
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
> [root@slodev-cnkvm001 ~]# virsh dumpxml i-5-465-VM
> <domain type='kvm' id='28'>
>   <name>i-5-465-VM</name>
>   <uuid>135f41ee-ff3e-39ae-a578-e6961f830b39</uuid>
>   <description>Windows Server 2008 R2 (64-bit)</description>
>   <memory unit='KiB'>6291456</memory>
>   <currentMemory unit='KiB'>6291456</currentMemory>
>   <vcpu placement='static'>2</vcpu>
>   <cputune>
>     <shares>4000</shares>
>   </cputune>
>   <os>
>     <type arch='x86_64' machine='rhel6.4.0'>hvm</type>
>     <boot dev='cdrom'/>
>     <boot dev='hd'/>
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>     <pae/>
>   </features>
>   <clock offset='localtime'>
>     <timer name='rtc' tickpolicy='catchup'/>
>   </clock>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>destroy</on_crash>
>   <devices>
>     <emulator>/usr/libexec/qemu-kvm</emulator>
>     <disk type='file' device='disk'>
>       <driver name='qemu' type='qcow2' cache='none'/>
>       <source 
> file='/var/lib/libvirt/images/f06dcafe-18ee-4793-808f-9ff70cf9ccd3'/>
>       <target dev='hda' bus='ide'/>
>       <alias name='ide0-0-0'/>
>       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>     </disk>
>     <disk type='file' device='cdrom'>
>       <driver name='qemu' type='raw' cache='none'/>
>       <source 
> file='/mnt/dbcfc1ef-40c3-3cd9-9913-08bb0a5b1d7c/211-3-b77d3436-ac76-39e7-8623-2245059d8609.iso'/>
>       <target dev='hdc' bus='ide'/>
>       <readonly/>
>       <alias name='ide0-1-0'/>
>       <address type='drive' controller='0' bus='1' target='0' unit='0'/>
>     </disk>
>     <disk type='file' device='disk'>
>       <driver name='qemu' type='qcow2' cache='none'/>
>       <source 
> file='/var/lib/libvirt/images/528c7665-c93e-4f9b-b7f5-729f350b51a4'/>
>       <target dev='vdb' bus='virtio'/>
>       <alias name='virtio-disk1'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
> function='0x0'/>
>     </disk>
>     <controller type='usb' index='0'>
>       <alias name='usb0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x2'/>
>     </controller>
>     <controller type='ide' index='0'>
>       <alias name='ide0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x1'/>
>     </controller>
>     <interface type='bridge'>
>       <mac address='06:7a:92:00:05:aa'/>
>       <source bridge='brbond0-80'/>
>       <target dev='vnet9'/>
>       <model type='e1000'/>
>       <alias name='net0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
> function='0x0'/>
>     </interface>
>     <serial type='pty'>
>       <source path='/dev/pts/4'/>
>       <target port='0'/>
>       <alias name='serial0'/>
>     </serial>
>     <console type='pty' tty='/dev/pts/4'>
>       <source path='/dev/pts/4'/>
>       <target type='serial' port='0'/>
>       <alias name='serial0'/>
>     </console>
>     <input type='tablet' bus='usb'>
>       <alias name='input0'/>
>     </input>
>     <input type='mouse' bus='ps2'/>
>     <graphics type='vnc' port='5903' autoport='yes' listen='0.0.0.0'>
>       <listen type='address' address='0.0.0.0'/>
>     </graphics>
>     <video>
>       <model type='cirrus' vram='9216' heads='1'/>
>       <alias name='video0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x0'/>
>     </video>
>     <memballoon model='virtio'>
>       <alias name='balloon0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
> function='0x0'/>
>     </memballoon>
>   </devices>
>   <seclabel type='none'/>
> </domain>
> This causes the VM to not see the second data disk unless you install the 
> virtio drivers for windows.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to