openstack nova-network 的小bug的排错经历
環(huán)境是?nova-network +vmware+flatdhcp
錯(cuò)誤表現(xiàn)為 開(kāi)出來(lái)的虛擬機(jī)有一定幾率獲取不到dhcp地址,手工賦予ip則正常,用flat模式注入的ip正常,下面是排錯(cuò)過(guò)程
1首先找網(wǎng)絡(luò)
?防火墻已經(jīng)把 dnsmasq對(duì)應(yīng)的端口已經(jīng)打開(kāi)
?抓包結(jié)果:
? 可以看到虛擬機(jī)dhcp 已經(jīng)發(fā)到br100上面,但是br100 沒(méi)有返回,基本可以排除網(wǎng)絡(luò)原因
2 找dhcp 原因
首先kill掉 nova啟動(dòng)的 dnsmasq進(jìn)程,手工去啟一個(gè)dnsmasq,虛擬機(jī)是正常的。
其次 查看 dnsmasq 的日志
有如下 報(bào)錯(cuò)
Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 3 of /var/lib/nova/networks/nova-br100.conf
Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 4 of /var/lib/nova/networks/nova-br100.conf
Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 7 of /var/lib/nova/networks/nova-br100.conf
Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 8 of /var/lib/nova/networks/nova-br100.conf
?
Sep 12 08:44:41 centos-6568 dnsmasq-dhcp[1947]: DHCPDISCOVER(br100) fa:16:3e:4e:70:42 no address available
谷歌一下,很多人這個(gè)問(wèn)題,但是沒(méi)解決方案
于是看了下這個(gè)這個(gè)文件,再對(duì)比下同樣的環(huán)境,使用neutron的文件截圖如下
一眼可以看出 出錯(cuò)的行都是hostname 以數(shù)字開(kāi)頭的。
知道原因了,在開(kāi)兩臺(tái)虛擬機(jī) 一臺(tái)以數(shù)字開(kāi)頭 一臺(tái)字母開(kāi)頭 一對(duì)比 果然是這個(gè)原因:
nova-network +vmware+flatdhcp
這個(gè)環(huán)境下 nova-network是直接把虛擬機(jī)的hostname寫進(jìn)dnsmasq的列表中,但是dnsmaqs不認(rèn)數(shù)字開(kāi)頭的hostname
解決辦法: 修改源代碼中 這條dhcp插入的方法
?vim /usr/lib/python2.7/site-packages/nova/network/linux_net.py
改好的效果
轉(zhuǎn)載于:https://blog.51cto.com/superbigsea/1851829
總結(jié)
以上是生活随笔為你收集整理的openstack nova-network 的小bug的排错经历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用python 对图片进行水印,保护自
- 下一篇: 第6周 搜索与排序