免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 9573 | 回复: 22
打印 上一主题 下一主题

[OpenStack] 5. 在CentOS 6.3上通过源码安装Openstack Folsom之Quantum安装 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-20 15:37 |只看该作者 |倒序浏览
本帖最后由 atkisc 于 2012-11-26 17:52 编辑

此为连载教程,会在几天内发布完成,内容顺序如下:
1. 在CentOS 6.3上通过源码安装Openstack Folsom之Keystone安装
2. 在CentOS 6.3上通过源码安装Openstack Folsom之Glance安装
3. 在CentOS 6.3上通过源码安装Openstack Folsom之Nova安装
4. 在CentOS 6.3上通过源码安装Openstack Folsom之OpenVswitch安装
5. 在CentOS 6.3上通过源码安装Openstack Folsom之Quantum安装
6. 在CentOS 6.3上通过源码安装Openstack Folsom之Cinder安装
7. 在CentOS 6.3上通过源码安装Openstack Folsom之Nova使用Quantum
8. 在CentOS 6.3上通过源码安装Openstack Folsom之Novnc安装
9. 在CentOS 6.3上通过源码安装Openstack Folsom之Horizon安装
10. 在CentOS 6.3上通过源码安装Openstack Folsom之通过Glance上传镜像
11. 在CentOS 6.3上通过源码安装Openstack Folsom之通过Horizon启动实例

错误修复
1. 删除/etc/quantum/quantum.conf文件中添加的sed -i '14a log_dir = /var/log/quantum' /etc/quantum/quantum.conf
2. 删除/etc/quantum/quantum.conf文件中添加的sed -i '15a log_file = quantum.log' /etc/quantum/quantum.conf
3.修正:
    net_id=`quantum net-create --tenant-id $put_id_of_project_one net_one --provider:network_type flat --provider:physical_network physnet1 |awk '/ id/ {print $4}'`
   为
   net_id=`quantum net-create --tenant-id $tenant_id net_one --provider:network_type flat --provider:physical_network physnet1 |awk '/ id/ {print $4}'`

4. 去除修改/etc/quantum/quantum.conf文件的如下一些选项中的:
    sed -i 's/# default_notification_level = INFO/default_notification_level = DEBUG/g' /etc/quantum/quantum.conf

系统环境
  1. CentOS 6.3 x86_64
  2. Openstack Folsom
  3. 服务器IP:172.16.24.138
  4. 注:因为用到了Quantum,系统需要至少两块网卡
  5. 这里使用的flat+dhcp模式,类似于nova-network的flatmanager模式,所以网段最好跟物理机网段一致,后面会单独发帖讲解gre和local还有vlan模式
复制代码
1. quantum安装
  1. wget https://launchpad.net/quantum/folsom/2012.2/+download/quantum-2012.2.tar.gz
  2. tar xf quantum-2012.2.tar.gz
  3. cd quantum-2012.2/tools
  4. pip-python install -r pip-requires
  5. cd ..
  6. # 修复启动quantum-l3-agent时导入模块错误
  7. sed -i 's/quantum-l3-agent = quantum.agent.l3_nat_agent:main/quantum-l3-agent = quantum.agent.l3_agent:main/g' setup.py
  8. # 修复CentOS 下iproute2不支持netns(网络命名空间)问题
  9. sed -i '128a \\tif self.conf.use_namespaces:' quantum/agent/l3_agent.py
  10. sed -i 's/ self._destroy_all_router_namespaces()/\t\ \ \ \ self._destroy_all_router_namespaces()/g' quantum/agent/l3_agent.py
  11. # 修复eventlet一个bug
  12. sed -i 's/def wait(self, check_interval=0.01):/def wait(self, check_interval=0.01,timeout=None):/g' /usr/lib/python2.6/site-packages/eventlet/green/subprocess.py
  13. python setup.py install
复制代码
1.1  创建quantum配置文件目录和复制配置文件
  1. mkdir /etc/quantum
  2. mkdir /var/log/quantum
  3. mkdir /var/lib/quantum
  4. cp /opt/quantum-2012.2/etc/api-paste.ini /etc/quantum/
  5. cp /opt/quantum-2012.2/etc/dhcp_agent.ini /etc/quantum/
  6. cp /opt/quantum-2012.2/etc/l3_agent.ini /etc/quantum/
  7. cp /opt/quantum-2012.2/etc/policy.json /etc/quantum/
  8. cp /opt/quantum-2012.2/etc/quantum.conf /etc/quantum/
  9. cp /opt/quantum-2012.2/etc/rootwrap.conf /etc/quantum/
  10. cp -rp /opt/quantum-2012.2/etc/quantum /etc/quantum/
复制代码
1.2 修改/etc/quantum/api-paste.ini文件的如下一些选项
  1. sed -i 's/%SERVICE_TENANT_NAME%/tenant/g' /etc/quantum/api-paste.ini
  2. sed -i 's/%SERVICE_USER%/quantum/g' /etc/quantum/api-paste.ini
  3. sed -i 's/%SERVICE_PASSWORD%/service/g' /etc/quantum/api-paste.ini
复制代码
1.3 修改/etc/quantum/quantum.conf文件的如下一些选项
  1. sed -i 's/core_plugin = quantum.plugins.sample.SamplePlugin.FakePlugin/core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2/g' /etc/quantum/quantum.conf
  2. sed -i 's/api_paste_config = api-paste.ini/api_paste_config = \/etc\/quantum\/api-paste.ini/g' /etc/quantum/quantum.conf
  3. sed -i 's/# auth_strategy = keystone/auth_strategy = keystone/g' /etc/quantum/quantum.conf
  4. sed -i 's/# base_mac = fa:16:3e:00:00:00/base_mac = fa:16:3e:00:00:00/g' /etc/quantum/quantum.conf
  5. sed -i 's/# mac_generation_retries = 16/mac_generation_retries = 5/g' /etc/quantum/quantum.conf
  6. sed -i 's/# dhcp_lease_duration = 120/dhcp_lease_duration = 68400/g' /etc/quantum/quantum.conf
  7. sed -i 's/# allow_bulk = True/allow_bulk = True/g' /etc/quantum/quantum.conf
  8. sed -i 's/# allow_overlapping_ips = False/allow_overlapping_ips = False/g' /etc/quantum/quantum.conf
  9. sed -i 's/# rabbit_host = localhost/rabbit_host = localhost/g' /etc/quantum/quantum.conf
  10. sed -i 's/# rabbit_password = guest/rabbit_password = guest/g' /etc/quantum/quantum.conf
  11. sed -i 's/# rabbit_port = 5672/rabbit_port = 5672/g' /etc/quantum/quantum.conf
  12. sed -i 's/# rabbit_userid = guest/rabbit_userid = guest/g' /etc/quantum/quantum.conf
  13. sed -i 's/# rabbit_virtual_host = \//rabbit_virtual_host = \//g' /etc/quantum/quantum.conf
  14. sed -i 's/# quota_items = network,subnet,port/quota_items = network,subnet,port/g' /etc/quantum/quantum.conf
  15. sed -i 's/# default_quota = -1/default_quota = -1/g' /etc/quantum/quantum.conf
  16. sed -i 's/# quota_network = 10/quota_network = 10/g' /etc/quantum/quantum.conf
  17. sed -i 's/# quota_subnet = 10/quota_subnet = 10/g' /etc/quantum/quantum.conf
  18. sed -i 's/# quota_port = 50/quota_port = 50/g' /etc/quantum/quantum.conf
  19. sed -i 's/# quota_driver = quantum.quota.ConfDriver/quota_driver = quantum.quota.ConfDriver/g' /etc/quantum/quantum.conf
  20. sed -i '13a state_path = /var/lib/quantum' /etc/quantum/quantum.conf
  21. sed -i '13a use_syslog = False' /etc/quantum/quantum.conf
  22. sed -i '14a log_dir = /var/log/quantum' /etc/quantum/quantum.conf
  23. sed -i '15a log_file = quantum.log' /etc/quantum/quantum.conf
复制代码
1.4 修改/etc/quantum/dhcp_agent.ini文件的如下一些选项
  1. sed -i 's/# debug = true/debug = true/g' /etc/quantum/dhcp_agent.ini
  2. sed -i 's/state_path = \/opt\/stack\/data/state_path = \/var\/lib\/quantum\//g' /etc/quantum/dhcp_agent.ini
  3. sed -i 's/# use_namespaces = True/use_namespaces = False/g' /etc/quantum/dhcp_agent.ini
复制代码
1.5 修改/etc/quantum/rootwrap.conf文件的如下一些选项
  1. sed -i 's/filters_path=\/etc\/quantum\/rootwrap.d,\/usr\/share\/quantum\/rootwrap/filters_path=\/etc\/quantum\/quantum\/rootwrap.d/g' /etc/quantum/rootwrap.conf
复制代码
1.6 修改/etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini文件的如下一些选项
  1. sed -i 's/sql_connection = sqlite:\/\//sql_connection = mysql:\/\/root:123456@localhost\/ovs_quantum/g' /etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
  2. sed -i '24a tenant_network_type = none' /etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
  3. sed -i '36a network_vlan_ranges = physnet1' /etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
  4. sed -i '43a enable_tunneling = False' /etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
  5. sed -i '60a integration_bridge = br-int' /etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
  6. sed -i '81a bridge_mappings = physnet1:br-int' /etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
复制代码
1.7 配置与openVswitch配合使用的网卡
  1. # 将/etc/sysconfig/network-scripts/ifcfg-eth1配置文件删除和更改如下行
  2. IPADDR=* #删除
  3. NETMASK=* #删除
  4. GATEWAY=* #删除
  5. BOOTPROTO="static"  #相应行更改为此
  6. ONBOOT="yes"  #相应行更改为此
复制代码
1.8 配置openVswitch
  1. ovs-vsctl --no-wait add-br br-int
  2. ovs-vsctl --no-wait add-port br-int eth1
复制代码
1.9 配置Quantum
  1. quantum-server --config-file=/etc/quantum/quantum.conf --config-file=/etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini &
  2. export SERVICE_TOKEN=ADMIN
  3. export SERVICE_ENDPOINT=http://localhost:35357/v2.0
  4. tenant_id=`keystone tenant-list |awk '/ admin/ {print $2}'`
  5. export OS_USERNAME=quantum
  6. export OS_PASSWORD=service
  7. export OS_TENANT_NAME=tenant
  8. export OS_AUTH_URL=http://localhost:5000/v2.0
  9. net_id=`quantum net-create --tenant-id $tenant_id net_one --provider:network_type flat --provider:physical_network physnet1 |awk '/ id/ {print $4}'`
  10. subnet_id=`quantum subnet-create --tenant-id $tenant_id --ip_version 4 --gateway 10.0.0.1 $net_id 10.0.0.0/24 -- --enable_dhcp=True |awk '/ id/ {print $4}'`
  11. router_id=`quantum router-create --tenant-id $tenant_id router1 |awk '/ id/ {print $4}'`
  12. quantum router-interface-add $router_id $subnet_id

  13. 这里使用的flat+dhcp模式,类似于nova-network的flatmanager模式,所以网段最好跟物理机网段一致,后面会单独发帖讲解gre和local还有vlan模式
复制代码
1.10 启动Quantum相关服务
  1. quantum-openvswitch-agent --config-file=/etc/quantum/quantum.conf --config-file=/etc/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.ini &
  2. quantum-dhcp-agent --config-file=/etc/quantum/quantum.conf --config-file=/etc/quantum/dhcp_agent.ini &
复制代码

论坛徽章:
2
狮子座
日期:2014-01-17 09:09:212015年迎新春徽章
日期:2015-03-04 09:58:11
2 [报告]
发表于 2012-11-20 15:52 |只看该作者
牛啊,真是大牛牛!

论坛徽章:
0
3 [报告]
发表于 2012-11-20 16:36 |只看该作者
在 虚拟机环境能做不

论坛徽章:
0
4 [报告]
发表于 2012-11-20 21:03 |只看该作者
回复 3# yangsk2


    quantum可以

论坛徽章:
0
5 [报告]
发表于 2012-11-22 14:46 |只看该作者
2012-11-22 14:22:42 ERROR [quantum.agent.dhcp_agent] Unable to enable dhcp.
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/quantum-2012.2-py2.6.egg/quantum/agent/dhcp_agent.py", line 91, in call_driver
    namespace)
  File "/usr/lib/python2.6/site-packages/quantum-2012.2-py2.6.egg/quantum/agent/linux/dhcp.py", line 112, in enable
    self.spawn_process()
  File "/usr/lib/python2.6/site-packages/quantum-2012.2-py2.6.egg/quantum/agent/linux/dhcp.py", line 258, in spawn_process
    utils.execute(cmd, self.root_helper)
  File "/usr/lib/python2.6/site-packages/quantum-2012.2-py2.6.egg/quantum/agent/linux/utils.py", line 55, in execute
    raise RuntimeError(m)
RuntimeError:

虚拟机在运行后无法获取到ip地址,日志中报这样的错误,一直卡这了。

论坛徽章:
0
6 [报告]
发表于 2012-11-22 17:07 |只看该作者
回复 5# iliuan


    quantum建立网络是如何做的?

论坛徽章:
0
7 [报告]
发表于 2012-11-23 09:32 |只看该作者
我觉得楼主可以暂时建立一个群,方便我们这些人在里面询问,相互讨论一下,而且你还有6篇没有写完,这样在论坛上面提问题的做事效率也太慢了

论坛徽章:
0
8 [报告]
发表于 2012-11-23 14:34 |只看该作者
回复 6# atkisc


    按照您的文档来配置的,目前虚拟机获取不到ip地址

论坛徽章:
0
9 [报告]
发表于 2012-11-23 16:30 |只看该作者
回复 8# iliuan


    你加我QQ ,949587200

论坛徽章:
0
10 [报告]
发表于 2012-11-24 13:18 |只看该作者
回复 9# atkisc


    太感谢了~ 我已经加你了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP