[pve-devel] pci slot assignment proposal (hotplug requirement)

Alexandre DERUMIER aderumier at odiso.com
Fri Aug 26 12:44:17 CEST 2011


by the way, if by bridges you mean add more than 32 pci devices, it's not possible for the moment.

I found a patch here, but i don't think it's already in upstream.

http://lists.gnu.org/archive/html/qemu-devel/2011-07/msg00210.html



----- Mail original ----- 

De: "Alexandre DERUMIER" <aderumier at odiso.com> 
À: "Dietmar Maurer" <dietmar at proxmox.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Vendredi 26 Août 2011 12:40:08 
Objet: Re: [pve-devel] pci slot assignment proposal (hotplug requirement) 

> - can we add more that one pci controller? 

Maybe I was not clear, but yes of course. 

for scsi : 
- we can add x scsi controller with on each controller 7 disk. 


for virtio disk: 

we need to add 1 virtio controller for 1 virtio disk. 

(i see a recent patch for use more than 1 virtio by virtio controller, but i don't think it's already in main trunk) 


what type of pci controller do you want add ? 




> - can we have pci bridges? 

what do you mean by bridges ? 

basicly, first device in qemu is the brige (host bridge,isa bridge,ide controller,usb controller). 
This is the default in qemu. 
(just make a info pci in qemu monitor) 


> - what device types do you want to hotplug (usage scenario)? 

virtio nic and virtio disks. 

some usages exemples: 

disks: you have a server, you want to add space by adding a new disk. I don't want to reboot to add disk. 
nics : you wan't to change vlan, simply hotplug network card and replug a new one on other vlan. 
many other usages... 


I'm already doing it on linux,win2003,win2008. it's very stable. 





some qemu exemple (from qemu mailing list) 



qemu 
-S 
-M pc-0.11 
-enable-kvm 
-m 214 
-smp 1 

-name everything 
-uuid c7a1edbd-edaf-9455-926a-d65c36db1809 

-nodefaults 

-chardev 
socket,id=monitor,path=/var/lib/libvirt/qemu/everything.monitor,server,nowait 
-mon chardev=monitor,mode=readline 

-boot c 
-kernel /home/berrange/vmlinuz-PAE 
-initrd /home/berrange/initrd-PAE.img 

-device lsi,id=scsi0,addr=13 
-device lsi,id=scsi1,addr=14 
-device lsi,id=scsi2,addr=15 
-device lsi,id=scsi3,addr=16 
-device lsi,id=scsi4,addr=17 

-drive 
file=/home/berrange/VirtualMachines/plain.qcow,if=none,id=drive-virtio-disk0,format=qcow2 
-device virtio-blk-pci,addr=4,drive=drive-virtio-disk0,id=virtio-disk0 

-drive file=/home/berrange/gpxe.iso,if=none,media=cdrom,id=drive-ide0-1-0 
-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 

-drive file=/home/berrange/output.img,if=none,id=drive-usb-disk1 
-device usb-storage,drive=drive-usb-disk1,id=usb-disk1 

-drive file=/home/berrange/output.img,if=none,id=drive-scsi0-0-0 
-device scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0 

-drive file=/home/berrange/output.img,if=none,id=drive-scsi3-0-4 
-device scsi-disk,bus=scsi3.0,scsi-id=4,drive=drive-scsi3-0-4,id=scsi3-0-4 

-drive file=/home/berrange/output.img,if=none,id=drive-scsi4-0-3 
-device scsi-disk,bus=scsi4.0,scsi-id=3,drive=drive-scsi4-0-3,id=scsi4-0-3 

-netdev user,id=netdev0 
-device ne2k_pci,netdev=netdev0,id=ne2k_pci-nic0,mac=52:54:00:5b:ef:21,addr=5 

-netdev socket,mcast=230.0.0.1:5558,id=netdev1 
-device virtio-net-pci,netdev=netdev1,id=virtio-nic1,mac=52:54:00:1c:dc:98,addr=6 

-netdev tap,fd=21,id=netdev2 
-device e1000,netdev=netdev2,id=e1000-nic2,mac=52:54:00:f7:c5:0e,addr=7 

-netdev user,id=netdev3 
-device pcnet,netdev=netdev3,id=pcnet-nic3,mac=52:54:00:56:6c:55,addr=8 

-netdev user,id=netdev4 
-device rtl8139,netdev=netdev4,id=rtl8139-nic4,mac=52:54:00:ca:0d:58,addr=9 

-chardev pty,id=serial0 
-device isa-serial,chardev=serial0 

-chardev pty,id=parallel0 
-device isa-parallel,chardev=parallel0 

-usb 
-device usb-tablet,id=input0 

-vnc 127.0.0.1:0 
-vga cirrus 

-device AC97,id=sound0,addr=10 

-device ES1370,id=sound1,addr=11 

-device i6300esb,id=watchdog0,addr=18 
-watchdog-action reset 

-device pci-assign,host=15:00.0,id=hostpci0,addr=12 

-device usb-host,hostbus=004,hostaddr=002,id=hostusb1 



----- Mail original ----- 

De: "Dietmar Maurer" <dietmar at proxmox.com> 
À: "Alexandre DERUMIER" <aderumier at odiso.com>, pve-devel at pve.proxmox.com 
Envoyé: Vendredi 26 Août 2011 12:21:16 
Objet: RE: [pve-devel] pci slot assignment proposal (hotplug requirement) 

> to make hotplug and livemigration works correctly, we need to fix pci slot 
> assignement of the devices and use new qemu --device syntax. 

I would like to clarify some related things first: 

- can we add more that one pci controller? 
- can we have pci bridges? 
- what device types do you want to hotplug (usage scenario)? 

- Dietmar 



-- 

-- 





Alexandre Derumier 
Ingénieur système 
e-mail : aderumier at odiso.com 
Tél : +33 (0)3 20 68 88 90 
Fax : +33 (0)3 20 68 90 81 
45 Bvd du Général Leclerc 
59100 ROUBAIX - FRANCE 














_______________________________________________ 
pve-devel mailing list 
pve-devel at pve.proxmox.com 
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 



-- 

-- 




	
	Alexandre Derumier 
Ingénieur système 
e-mail : aderumier at odiso.com 
Tél : +33 (0)3 20 68 88 90 
Fax : +33 (0)3 20 68 90 81 
45 Bvd du Général Leclerc 
59100 ROUBAIX - FRANCE 













-------------- next part --------------
A non-text attachment was scrubbed...
Name: aderumier.vcf
Type: text/x-vcard
Size: 183 bytes
Desc: not available
URL: <http://pve.proxmox.com/cgi-bin/mailman/private/pve-devel/attachments/20110826/d6d36870/attachment.vcf>


More information about the pve-devel mailing list