KVM虚拟机部署openstack的网络配置
概述
这篇文章记录的是按照官方文档在KVM环境下部署双节点openstack过程中,前期准备KVM环境和网络配置相关的内容,在完成这篇博客涉及到的工作之后就可以按照官方文档手动安装openstack了。本文涉及的主要工作,首先是在服务器的ubuntu 16.04 desktop版系统上搭建kvm环境,然后在服务器上安装VNC远程桌面,最后在KVM环境中开启两台虚拟机,分别两张网卡,第一张网卡使用桥接模式,第二张网卡使用NAT模式。下面开始介绍一下这个过程。
服务器搭建KVM环境
查看CPU是否支持KVM
$ egrep -c "(svm|vmx)" /proc/cpuinfo
输出结果大于0证明CPU支持KVM虚拟化
安装KVM及相关依赖包
$ sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin bridge-utils
启用桥接网络
在服务器上启用桥接网络需要配置一个桥接设备br0,配置br0有两种方式,通过手动配置和通过修改文件配置。
通过手动配置
创建br0网桥
# brctl addbr br0
将eth0网卡添加到br0上,此时可能会断网
# brctl addif br0 eth0
删除eth0上的IP地址
# ip addr del dev eth0 192.168.1.25/24
配置br0的IP地址并启动br0网桥设备
# ifconfig br0 192.168.1.25/24 up
重新加入默认网关
# route add default gw 192.168.1.1
查看配置是否生效
1
2
3
4
5# route //查看默认网关,输出结果如下
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 br0
192.168.1.0 * 255.255.255.0 U 0 0 0 br01
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27# ifconfig //查看eth0和br0的IP信息,输出结果如下,可以发现现在br0有IP而eth0没有IP了
br0 Link encap:Ethernet HWaddr 00:e0:81:e2:3c:3d
inet addr:192.168.1.25 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:81ff:fee2:3c3d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1316822 errors:0 dropped:5787 overruns:0 frame:0
TX packets:365475 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:581279124 (581.2 MB) TX bytes:562586852 (562.5 MB)
eth0 Link encap:Ethernet HWaddr 00:e0:81:e2:3c:3d
inet6 addr: fe80::2e0:81ff:fee2:3c3d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6671034 errors:0 dropped:9627 overruns:0 frame:0
TX packets:840972 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1346523816 (1.3 GB) TX bytes:614510541 (614.5 MB)
Memory:dfb80000-dfbfffff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1450290 errors:0 dropped:0 overruns:0 frame:0
TX packets:1450290 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24027042487 (24.0 GB) TX bytes:24027042487 (24.0 GB)这就是通过手动来配置桥接设备br0的方法,这种方法在配置好之后马上就生效了,但是在系统重启之后这些配置信息都会被清除,要想使配置永久生效则需要修改网络配置文件,也就是下面的方法。
通过修改文件配置
修改前先将网络配置文件进行备份
# cp /etc/network/interfaces /etc/network/interfaces.bak
修改网络配置文件
/etc/network/interfaces
# vi /etc/network/interfaces //修改结果如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14auto lo
iface lo inet loopback
# Enabing Bridge networking br0 interface
auto br0
iface br0 inet static
address 192.168.1.25
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 223.5.5.5
bridge_ports eth0
bridge_stp off保存后退出,关机重启中配置文件就生效了。这种方法只需要修改配置文件然后重启就可以,比较简单,而且是永久生效,比较符合我们的需求,因为我们的虚拟机通过桥接模式连接外网的话都是连接到br0上的。
修改virbr0的网段
在服务器上安装好虚拟化软件后,KVM会自动生成一个virbr0
的桥接设备,它的作用是为连接其上的虚拟网卡提供NAT访问外网的功能,并提供DHCP服务。virbr0
默认分配的IP是192.168.122.1
,使用 ifconfig
命令查看得virbr0
的信息如下:
1 | $ ifconfig |
在这种情况下,连接到virbr0上的虚拟机的虚拟网卡也是在192.168.122.0网段上的,如果让连接到virbr0上的虚拟网卡在自定义的网段上就需要修改virbr0的网段,修改方法如下:
# virsh net-edit default
1 | <network> |
这样就将virbr0
的网段改成10.0.0.0/24
,连接到virbr0
的虚拟网卡的IP将会在10.0.0.2/24 - 10.0.0.254/24
范围内自动分配一个。如果有需要可以自己手动给虚拟网卡配置IP并写到配置文件中去。
服务器安装VNC远程桌面
因为服务器上安装的Ubuntu 16.04 LTS desktop
版的系统,在后续的工作中需要远程登录到服务器,虽然可以通过SSH远程管理服务器,但是可视化的界面往往会给新手用户提供很大的便利,所以可以在服务器上安装VNC。开始在服务器上安装VNC试过很多方法,VNC服务器端也有多种选择,如VNC4server
、tigervncserver
,感觉很麻烦,而且还不一定能安装成功,我安装的VNC服务器端是x11VNC
,按照步骤可以很顺利地完成安装,步骤如下:
安装x11VNC软件包
$ sudo apt-get install x11vnc
配置访问密码
$ sudo x11vnc -storepasswd /etc/x11vnc.pass
创建服务
# vi /lib/systemd/system/x11vnc.service //粘贴一下代码,最后:wq 保存,请使用root用户,否则没有权限
1 | [Unit] |
配置防火墙,配置和启动服务
# ufw allow 5900
# systemctl enable x11vnc.service
# systemctl daemon-reload
# systemctl start x11vnc.service
完成这四个步骤然后重启就可以了。(这个VNC的安装过程可以参考http://blog.csdn.net/longhr/article/details/51657610)
最后在你自己的电脑需要有一个vnc viewer的软件,可以在这里下载(链接:https://pan.baidu.com/s/1o8kPqXG 密码:v5r2)
创建VM并配置相关信息
在安装好VNC后就可以登录服务器的远程桌面,打开一个terminal,在terminal中输入下面的命令可以打开Virtual Machine Manager(注意,使用SSH远程登录服务器是无法打开virt-manager的界面的,一定要在登录了远程桌面后才能打开界面)
使用Virtual Machine Manager的界面可以很方便的创建虚拟机,当然也可以在命令行中使用命令创建虚拟机,这个我就不在这里说了。
按照Openstack官网安装文档的主机网络配置两台虚拟机Controller和Compute
控制节点和计算节点这两个虚拟机分别两张网卡,一张配置为桥接模式,另一张配置为NAT模式。创建虚拟机时默认是添加一张网卡的,后面可以在虚拟机的硬件信息中添加。两张虚拟网卡的配置信息如图:
上图显示的是桥接模式网卡的配置信息,Network source选择为Bridge br0:Host device eth0
上图显示的是NAT模式网卡的配置信息,Network source选择为Virtual network ‘default’:NAT
这样按照官方文档部署双节点Openstack的前期准备工作就已经做完,后面就可以按照官方文档开始安装openstack了,祝你成功。附上官方文档链接https://docs.openstack.org/ocata/zh_CN/install-guide-ubuntu/index.html (注:这个是在ubuntu系统下安装Ocata版本Openstack中文文档)