thanks for your reply ŁĄ
The second solution you mentioned may be difficult , because when I assign the ethX to the VM, the X in the 'ethX' is random (the 'X' in the host may be different in the VM),I don't know it before I boot the VM . so maybe I couldn't edit the guest correctly before booting VM.
The first solution :
The network card's MAC address I can know and assign an fixed IP in advance , but for the VFs , before I create the VF by "modprobe igb/ixgbe max_vfs=num1,num2" ,I couldn't know the MAC address before either,the MAC address generated randomly too.
So maybe I should edit the DHCP server configure file after creating the VFs.
At first , I want to make the ethX name eth0, in that case, I can edit the guest before booting the VM ,and I also can use the DHCP to dynamicly assign an ip to the VM without editing the DHCP server configure file . but because of unknowing the MAC address , I don't know how to use udev to bind the netword card or VF to eth0 ?
I decided to first try the first solution you mentioned.
best regards,
qinguan
On Sat, May 07, 2011 at 11:24:23PM +0800, guan qin wrote:It doesn't work like this.
> So how can I assign an ip to the VM when assign the NIC or VF to the
> VM
Just like with real hardware, all the virtual hardware has is a MAC
address. The (real or virtual) machine has to use some other method
to get an IP address and hostname after it has booted. As with real
machines, either it does that using DHCP, or it has the IP address
hard-coded somewhere on disk.
The best solution is to create a separate DHCP service which assigns a
specific IP address to the known MAC address of the NIC/VF. You can
get the MAC address using "virsh dumpxml".
Another solution would be to edit the guest before booting it and give
it the address you want it to have. eg for RHEL and Fedora guests:
guestfish -i -d MyGuest -- \
upload - /etc/sysconfig/network-scripts/ifcfg-eth0 <<_EOF
DEVICE=eth0
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
_EOF
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v