Hi Chen-san, > Hi all, > > backgrond: > Live migration is one of the most important features of virtualization > technology. > With regard to recent virtualization techniques, performance of network > I/O is critical. > Current network I/O virtualization (e.g. Para-virtualized I/O, VMDq) has > a significant > performance gap with native network I/O. Pass-through network devices > have near > native performance, however, they have thus far prevented live > migration. No existing > methods solve the problem of live migration with pass-through devices > perfectly. > > There was an idea to solve the problem in website: > https://www.kernel.org/doc/ols/2008/ols2008v2-pages-261-267.pdf > Please refer to above document for detailed information. > > So I think this problem maybe could be solved by using the combination > of existing > technology. the attached was the architecture of migration with > passthrough device > we proposed. and the following steps are we considering to implement: > > - before boot VM, we anticipate to specify two NICs for creating > bonding device > (one plugged and one virtual NIC) in XML. here we can specify > the NIC's mac addresses > in XML, which could facilitate qemu-guest-agent to find the > network interfaces in guest. > > - when boot VM, we monitor the qemu-guest-agent process in guest > OS that > when qemu-guest-agent is available, sending command to > qemu-guest-agent to > let it create the bonding device at once according to the XML > configuration. > here netcf maybe a good tool to create bonding device easily. If I understand correctly, in your scenario, bonding device (bondX) is created by qemu-guest agent dynamicaly at every boot time. Is that right ? If so, I think it's hard for a guest administrator to configure bonding device (such as IP address). How about creating configuration file like /etc/sysconfig/network-scripts/ifcfg-bond0 (in Red Hat environment) to persistent boinding device ? > - if need to do migration, checking the bonding's virtual NIC > whether able to > access the plugged NIC's LAN. otherwise, when the passthroughed > NIC is unplugged, > the network would be broken. I think this check should be done before enslaving each NIC. By the way, how do you check whether both NICs are connected to the same network segment? I wonder if it's difficult ... > - during migration, unplug the passthroughed NIC. then do native > magration. > > - on destination side, check whether need to hotplug new NIC > according to XML. > then hotplug the deivce according the source node in XML, tell > qemu-guest-agent > to switch the hotplugged NIC activities. > > Thanks, > Chen Sincrely, Taku Izumi -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list