本帖最后由 xioaxu790 于 2014-6-7 09:39 编辑
问题导读:
1、怎么为OpenStack添加计算节点呢?
2、如何理解quantum虚拟网路架构?
为OpenStack添加计算节点:
------------------------
计算节点需要安装的软件
------------------------
1.NTP服务器
安装:apt-get –y install ntp
配置:/etc/ntp.conf中写入server 10.21.3.83(主同步节点的ip)
重启:/etc/init.d/ntp restart
2.安装KVM和libvirt
安装:
- apt-get install -y kvm libvirt-bin pm-utils
复制代码
配置:
编辑 /etc/libvirt/qemu.conf ,添加下面内容
- cgroup_device_acl = [
- "/dev/null", "/dev/full", "/dev/zero",
- "/dev/random", "/dev/urandom",
- "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
- "/dev/rtc", "/dev/hpet","/dev/net/tun",
- ]
复制代码
允许迁移,编辑 /etc/libvirt/libvirtd.conf, 去掉这三行的注释
- listen_tls = 0
- listen_tcp = 1
- auth_tcp = "none"
复制代码
编辑 /etc/init/libvirt-bin.conf
- env libvirtd_opts="-d -l"
复制代码
编辑 /etc/default/libvirt-bin
复制代码
重启:service libvirt-bin restart
3.安装Openvswitch
-------------------------------------------------------------------------
安装Nova-compute和quantum-openvswitch-agent
-------------------------------------------------------------------------
直接从10.21.3.83中拷出nova,quantum的源代码,安装setup.py(貌似不需要client)
启动:nova-compute --config-file=/etc/nova/nova.conf
quantum-openvswitch-agent --config-file=/etc/quantum/ovs_quantum_plugin.ini
启动完成后,能在nova-manage service list里看到新加的计算节点
debug
1.安装nova以及quantum需要提前安装 build-essential, python-dev(缺少,则会报错),python-pyparsing(缺少,会报:SyntaxError: invalid syntax错误)
2.错误:Connection reset by peer-----解决:安装 python-cmd2
3.错误:No module named libvirt--------解决:安装 python-libvirt
4.错误:No module named mysql--------解决:安装python-mysqldb
5.错误:ImportERR: cannot import name sqlsoup-----解决:使用sqlalchemy0.7.9版本
修改原:sqlalchemy.ext import sqlsoup-----新:sqlalchemy.ext.sqlsoup import SqlSoup
基于davstack搭建openstack folsom开发环境(4)
quantum虚拟网路配置(vlan模式)
-------------------------
物理网络拓扑图
-------------------------
两台机器都需要双网卡,在eth0上创建网桥br-ex ,负责虚拟机以及hypervisor和外部网络间的通信;在eth1上创建网桥br-int,负责计算节点与服务节点之间的通信。这里需要把IP地址与网关都配置在网桥上,ovs的相关配置命令:
- ovs-vsctl add-br br-int
- ovs-vsctl add-port br-int eth1 //br-int与eth1绑定
- ovs-vsctl add-br br-ex
- ovs-vsctl add-port br-ex eth0 //br-ex与eth0绑定
复制代码
---------------------------------------------------
quantum虚拟网络创建(参照陈沙克老师博客)
---------------------------------------------------
quantum为单个租户创建一个网络,这个租户创建的所有虚拟机都是用这个网络(net),一个网络下可以划分若干子网(subnet),然后需要为每个子网建立一个虚拟router,并把他们关联上。
创建一个租户
- keystone tenant-create --name project_one
复制代码
创建一个用户:user_one,roles是成员角色
- keystone user-create --name=user_one --pass=user_one --tenant-id $put_id_of_project_one --email=user_one@domain.com
- keystone user-role-add --tenant-id $put_id_of_project_one --user-id $put_id_of_user_one --role-id $put_id_of_member_role
复制代码
为该租户创建一个网络
- quantum net-create --tenant-id $put_id_of_project_one net_proj_one --provider:network_type vlan --provider:physical_network physnet1 --provider:segmentation_id 1024
复制代码
为租户创建一个子网
- quantum subnet-create --tenant-id $put_id_of_project_one net_proj_one 10.10.10.0/24
复制代码
为租户创建一个路由
- quantum router-create --tenant_id $put_id_of_project_one router_proj_one
复制代码
路由和网络进行关联
- quantum router-interface-add $put_router_proj_one_id_here $put_subnet_id_here
复制代码
------------------------
debug
------------------------
1.nova.conf api-past api-paste.ini quantum.conf openvswitch/ovs_quantum_plugin.ini 中的localhost都要换成server的ip地址,对应的网桥名字也要改对,否则汇报错
- QuantumClientException: [Errno 111] ECONNREFUSED
- Unauthorized: [Errno 111] ECONNREFUSED
复制代码
2.具体为那个租户创建虚拟机是在env里配置的,OS_TENANT_NAME和OS_USERNAME两个。选择完租户之后,自然就会把该租户创建的虚拟机加入对应的quantum网络,所以不需要在nova boot命令里加入选择网络的参数
|