代码改变世界

Openstack Folsom Quantum 双网卡 Single Flat Network (单一扁平网络) 安装纪要

2013-03-26 15:23  梁小白  阅读(1650)  评论(4编辑  收藏

在本文中我将重点记录一下成功安装Openstack Folsom 版本中,最简单的网络模式(Single Flat Network)的安装方法:

 
网络拓扑图如图所示:
 
 
Openstack 的架构为三台设备,分别为
 
Controller主要组件: keystone,glance,quantum-server,nova-api,nova-scheduler,cinder
Network主要组件: quantum-dhcp,quantum-openvswitch-agent
Compute主要组件: nova-compute,qauntum-openvswitch-agent
 
三台设备的组件安装可以参考,下面主要描述网络配置部分
 
以下配置,相应设备的IP地址需要替换为实际自己所用IP地址:
 
Controller配置:
/etc/nova/nova.conf 网络部分
# Network settings
network_api_class=nova.network.quantumv2.api.API
quantum_url=http://100.1.1.2:9696
quantum_auth_strategy=keystone
quantum_admin_tenant_name=admin
quantum_admin_username=admin
quantum_admin_password=password
quantum_admin_auth_url=http://100.1.1.2:35357/v2.0
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver

/etc/quantum/api-paste:

[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 100.1.1.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = admin
admin_user = admin
admin_password = password

/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini 

#4.single Flat Network
[DATABASE]
sql_connection = mysql://root:password@100.1.1.2:3306/quantum_single?charset=utf8
[OVS]
network_vlan_ranges = physnet1
bridge_mappings = physnet1:br-eth1 #连接到管理网络

Compute与Network 网络配置:

nova.conf,quantum.conf,quantum/api-paste的配置与Controller一样,复制过来即可
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini :
#4.single Flat Network
[DATABASE]
sql_connection = mysql://root:password@100.1.1.2:3306/quantum_single?charset=utf8
[OVS]
network_vlan_ranges = physnet1
bridge_mappings = physnet1:br-eth0 #eth0 连接到虚拟机网络
sudo ovs-vsctl list-br
#如果已有相关网络,应该先删除
#sudo ovs-vsctl del-br br-eth0
sudo
ovs-vsctl add br-int sudo ovs-vsctl add-br br-eth0 sudo ovs-vsctl add-port br-eth0 eth0

下面在的命令在网络节点上执行(必要时安装python-novaclient并配置novarc环境):

 
首先使用keystone-user-list keystone tenant-list 获得要操作的用户id信息:
 
tenant_id :  c7fb80d964a24ab1bc0fd370696c804e
user_id:  ed2617ec7f854e70b0371314a572a283
 
因为是单一扁平网络模式,所有虚拟共享一个网络,创建这个共享网络,命名为sharednet1:
quantum net-create --tenant-id c7fb80d964a24ab1bc0fd370696c804e sharednet1 --shared --provider:network_type flat --provider:physical_network physnet1

记下sharednet1 id: 5195d3c1-0d63-4e55-ac9b-87faf5164389

 
为shardnet1 创建子网30.0.0.0/24
quantum subnet-create --tenant-id c7fb80d964a24ab1bc0fd370696c804e sharednet1 30.0.0.0/24

记下子网的network_id : 5195d3c1-0d63-4e55-ac9b-87faf5164389

注意,子网的network_id与id的区别.
 
使用network_id创建虚拟机:
nova  boot --image f65ed980-7921-42fe-a944-805cf8ea42d4  --flavor 2 --nic net-id=5195d3c1-0d63-4e55-ac9b-87faf5164389 admin_VM1

 

也可以通过horizon执行.
 
虚拟机创建成功后,便可以直接连接了
sudo ip addr flush eth0
sudo ip addr add 30.0.0.201/24 dev br-eth0
ping 30.0.0.3

也可以自己的管理网络上配置30.0.0.0段的地址,即可直接连接虚拟机.

 
拓扑图中route部分,可以让网络管理员来做路由解决内网,外网通讯问题.
 
经笔者测试运行通过。