環境配置:
* Exsi一台
* Exsi創建的單網卡虛擬機一台
* Ubuntu 14LTS 64位操作系統
* OpenStack Liberty版本
* 使用Neutron網絡而非Nova網絡
1 Exsi配置
如果OpenStack宿主機是Exsi創建的虛擬機,則必須要進行以下設置。
這個配置主要是讓Exsi創建的虛擬機的網卡可以進入混雜模式。
如果沒有這個設置,那么就會導致Exsi創建的虛擬機網卡不能分發包到OpenStack創建到虛擬機。
2 安裝OpenStack
最好使用apt-get方式安裝OpenStack, 如果是用DevStack安裝的話,重啟機器后,OpenStack服務不能正常啟動。
因為在后續的網絡配置過程中,可能會需要重啟網絡,重啟機器。
3 修改Ubuntu網絡配置文件
1) /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
auto br-ex
iface br-ex inet static
address 192.168.98.85
netmask 255.255.255.0
gateway 192.168.98.1
dns-nameservers 218.6.200.139
2) /etc/resolv.conf
enter the following details
nameserver 192.168.98.1
nameserver 218.6.200.139
4 掛載eth0到br-ex橋上
sudo ovs-vsctl add-port br-ex eth0
以下兩條命令可以查看是否掛載成功和路由表情況:
sudo ovs-vsctl show
route -n
5 設置eth0為混雜模式
sudo ifconfig eth0 promisc
6 重啟OpenStack宿主機網絡
重啟機器可以成功,如果不重啟機器可以嘗試以下方法:
1)sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a
2)sudo service networking restart
3)sudo service network-manager restart
7 OpenStack Neutron網絡配置
1)刪除Neutron上的public,private網絡和Router1路由。
2)新建PublicSite網絡,Network Type設置為Flat. Physical Network設置為default,並創建子網192.168.98.0/24
3)新建PrivateSite網絡,Network Type設置為Local,並創建子網10.0.0.0/24
4) 創建路由表Router1,連接PublicSite和PrivateSite.
5) 創建完成的橋接網絡如下。
6)最后創建虛擬機實例,測試虛擬機實例能否ping通外網即可。
編者注:本文來自OpenStack開源團隊工程師向新勇