[syslinux] PXE boot from KVM VM is very slow

Galia Lisovskaya inbox at shaggy-cat.ru
Fri Apr 30 09:23:04 PDT 2010


Hi all, i have trouble to PXE boot KVM-based (network of Linux-bridge)
Virtual Machines: very slow transfer pxelinux.cfg.

====== tcpdump on KVM host system ====
[root at kvm-test01 ~]# tcpdump -i virbr1 | grep -v ssh | grep 10.0.5.187
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on virbr1, link-type EN10MB (Ethernet), capture size 96 bytes

17:57:29.809278 IP 10.0.5.50 > 10.0.5.187: ICMP echo request, id 189,
seq 0, length 28
17:57:30.181841 IP 10.0.5.50.bootps > 10.0.5.187.bootpc: BOOTP/DHCP,
Reply, length: 300
17:57:32.744740 IP 10.0.5.187.bootpc > 255.255.255.255.bootps:
BOOTP/DHCP, Request from 00:95:12:7e:ee:71 (oui Unknown), length: 548
17:57:32.755528 IP 10.0.5.50.bootps > 10.0.5.187.bootpc: BOOTP/DHCP,
Reply, length: 300
17:57:32.782129 arp who-has 10.0.5.25 tell 10.0.5.187
17:57:32.782619 IP 10.0.5.187.wizard > 10.0.5.25.tftp:  33 RRQ
"/pxelinux.0" octet blksize 1432
17:57:32.784308 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 15
17:57:32.784356 IP 10.0.5.187.wizard > 10.0.5.25.55214: UDP, length 4
17:57:32.784757 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 1436
17:57:33.784859 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 1436
17:57:35.784808 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 1436
17:57:37.783500 arp who-has 10.0.5.187 tell 10.0.5.50
17:57:37.790747 arp reply 10.0.5.187 is-at 00:95:12:7e:ee:71 (oui Unknown)
17:57:39.784733 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 1436
17:57:42.903369 IP 10.0.5.187.globe > 10.0.5.25.55214: UDP, length 4
17:57:42.903518 IP 10.0.5.25 > 10.0.5.187: ICMP 10.0.5.25 udp port
55214 unreachable, length 40
17:57:47.783601 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 1436
17:58:03.410473 IP 10.0.5.187.2003 > 10.0.5.25.55214: UDP, length 4
17:58:03.410628 IP 10.0.5.25 > 10.0.5.187: ICMP 10.0.5.25 udp port
55214 unreachable, length 40
17:58:03.781252 IP 10.0.5.25.55214 > 10.0.5.187.wizard: UDP, length 1436
17:58:08.409875 arp who-has 10.0.5.187 tell 10.0.5.50
17:58:08.409933 arp reply 10.0.5.187 is-at 00:95:12:7e:ee:71 (oui Unknown)

=================================

10.0.5.187 PXE booted VM, 10.0.5.50 DHCP server, 10.0.5.25 - tftpd and
http (for transfer files and rpms after load kernel)

dhcpd and tftpd is not real host: it's OpenVZ container(one container)
on another hardware host, and (only for test) is VMs of virtual box on
laptop (with another IP, i don't copy/paste, becouse KVM VM boot
slower to)

I try load:

(a) some hardware hosts with OVZ containers tftpd and dhcpd - it's
well and load fast,
(b) some hardware hosts with Virtual BOX VM tftpd and dhcpd - it's
well and load fast,
(c) Virtual BOX VM with OpenVZ VE dhdcpd and tftpd - it's well, and load fast
(d) KVM VM with OpenVZ CT and VirtualBOX VM dhcpd and tftpd - very slow load
(e) KVM host system with OpenVZ CT and VirtualBOX VM dhcpd and tftpd -
it's well and load fast

I use software:

a) Cobbler to PXE installation on OpenVZ VE:

[root at cobbler01 ~]# rpm -qa | egrep -e '(syslinux|cobbler|dhcp|tftp)'
tftp-server-0.49-2.el5.centos
cobbler-1.6.6-1.el5
dhcp-3.0.5-21.el5_4.1
syslinux-3.11-4
[root at cobbler01 ~]#

b) Centos 5.4 + KVM + libvirt on VM hosts:

[root at kvm-test01 ~]# rpm -qa | egrep -ie '(^kvm|^libvirt|^kernel|^centos)'
kvm-qemu-img-83-105.el5_4.27
kernel-2.6.18-164.15.1.el5
kvm-83-105.el5_4.27
centos-release-notes-5.4-4
centos-release-5-4.el5.centos.1
libvirt-0.6.3-20.1.el5_4
libvirt-python-0.6.3-20.1.el5_4
libvirt-0.6.3-20.1.el5_4
[root at kvm-test01 ~]#

in logs on cobbler is:

===================
Apr 30 15:18:45 cobbler01 dnsmasq[31964]: DHCPACK(eth0) 10.0.5.162
00:16:d4:cc:c2:49
Apr 30 15:23:23 cobbler01 xinetd[30708]: EXIT: tftp status=0 pid=5422
duration=2429(sec)
Apr 30 15:25:00 cobbler01 xinetd[30708]: START: tftp pid=17486 from=10.0.5.129
Apr 30 15:25:00 cobbler01 in.tftpd[17487]: tftpd: read: Connection refused
Apr 30 15:27:48 cobbler01 puppetd[31863]: Starting catalog run
Apr 30 15:28:03 cobbler01 puppetd[31863]: Finished catalog run in 14.77 seconds
Apr 30 15:29:10 cobbler01 dnsmasq[31964]: DHCPREQUEST(eth0) 10.0.5.162
00:16:d4:cc:c2:49
Apr 30 15:29:10 cobbler01 dnsmasq[31964]: DHCPACK(eth0) 10.0.5.162
00:16:d4:cc:c2:49
Apr 30 15:30:42 cobbler01 dnsmasq[31964]: DHCPDISCOVER(eth0) 00:ba:c4:0d:d6:88
Apr 30 15:30:42 cobbler01 dnsmasq[31964]: DHCPOFFER(eth0) 10.0.5.158
00:ba:c4:0d:d6:88
Apr 30 15:30:42 cobbler01 dnsmasq[31964]: DHCPDISCOVER(eth0) 00:ba:c4:0d:d6:88
Apr 30 15:30:42 cobbler01 dnsmasq[31964]: DHCPOFFER(eth0) 10.0.5.158
00:ba:c4:0d:d6:88
Apr 30 15:30:46 cobbler01 dnsmasq[31964]: DHCPREQUEST(eth0) 10.0.5.158
00:ba:c4:0d:d6:88
Apr 30 15:30:46 cobbler01 dnsmasq[31964]: DHCPACK(eth0) 10.0.5.158
00:ba:c4:0d:d6:88
Apr 30 15:30:46 cobbler01 in.tftpd[23755]: tftpd: read: Connection refused
Apr 30 15:30:58 cobbler01 in.tftpd[23770]: tftpd: read: Connection refused
Apr 30 15:31:20 cobbler01 in.tftpd[23940]: tftpd: read: Connection refused
================================

Thank's for answers...


-- 
Galina Lisovskaya




More information about the Syslinux mailing list