设为首页 收藏本站
查看: 2631|回复: 6

[经验分享] openstack安装指南

[复制链接]

尚未签到

发表于 2012-9-16 19:22:11 | 显示全部楼层 |阅读模式
NOVA安装指南
何为openstack
OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算?软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目。以Python编程语言编写并整合Tornado网页服务器、Nebula运算平台,使用Twisted软件框架,遵循Open Virtualization Format、AMQP、SQLAlchemy等标准。虚拟机器软件支援包括:KVM、Xen、VirtualBox。
openstack由三个项目组成,他们分别是OpenStack Compute(Nova),OpenStack Object Storage(Swift),以及OpenStack Image Service(Glance)。
OpenStack Compute,为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(the cloud through users and projects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于Amazon EC2和Rackspace Cloud Servers。
OpenStack Object Storage,是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。
OpenStack Image Service,是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTful API允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM镜像有四种配置方式:简单的文件系统,类似OpenStack Object Storage的对象存储系统,直接用Amazon's Simple Storage Solution (S3) 存储,用带有Object Store的S3间接访问S3。
三个项目的基本关系如下图1-1所示:
304307708bc8df138dee7391f3a1c439.jpg
1-1 OpenStack三个组件的关系
OpenStack Compute逻辑架构中,组件中的绝大多数可分为两种自定义编写的Python守护进程(custom written python daemons)。
接收和协调API调用的WSGI应用(nova-api, glance-api, etc)
执行部署任务的Worker守护进程(nova-compute, nova-network, nova-schedule, etc.)
然而,逻辑架构中有两个重要的部分,既不是自定义编写,也不是基于Python,它们是消息队列和数据库。二者简化了复杂任务(通过消息传递和信息共享的任务)的异步部署。
逻辑架构图3-1如下所示:
7c6b4f244c6bc8034cb8bc834d7acbb3.jpg
3-1 OpenStack Compute逻辑架构
从图中,我们可以总结出三点:
终端用户(DevOps, Developers 和其他的 OpenStack 组件)通过和nova-api对话来与OpenStack Compute交互。
OpenStack Compute守护进程之间通过队列(行为)和数据库(信息)来交换信息,以执行API请求。
OpenStack Glance基本上是独立的基础架构,OpenStack Compute通过Glance API来和它交互。
其各个组件的情况如下:
nova-api守护进程是OpenStack Compute的中心。它为所有API查询(OpenStack API 或 EC2 API)提供端点,初始化绝大多数部署活动(比如运行实例),以及实施一些策略(绝大多数的配额检查)。
nova-compute进程主要是一个创建和终止虚拟机实例的Worker守护进程。其过程相当复杂,但是基本原理很简单:从队列中接收行为,然后在更新数据库的状态时,执行一系列的系统命令执行他们。
nova-volume管理映射到计算机实例的卷的创建、附加和取消。这些卷可以来自很多提供商,比如,ISCSI和AoE。
Nova-network worker守护进程类似于nova-compute和nova-volume。它从队列中接收网络任务,然后执行任务以操控网络,比如创建bridging interfaces或改变iptables rules。
Queue提供中心hub,为守护进程传递消息。当前用RabbitMQ实现。但是理论上能是python ampqlib支持的任何AMPQ消息队列。
SQL database存储云基础架构中的绝大多数编译时和运行时状态。这包括了可用的实例类型,在用的实例,可用的网络和项目。理论上,OpenStack Compute能支持SQL-Alchemy支持的任何数据库,但是当前广泛使用的数据库是sqlite3(仅适合测试和开发工作),MySQL和PostgreSQL。
OpenStack Glance,是一个单独的项目,它是一个compute架构中可选的部分,分为三个部分:glance-api, glance-registry and the image store. 其中,glance-api接受API调用,glance-registry负责存储和检索镜像的元数据,实际的Image Blob存储在Image Store中。Image Store可以是多种不同的Object Store,包括OpenStack Object Storage (Swift)
最后,user dashboard是另一个可选的项目。OpenStack Dashboard提供了一个OpenStack Compute界面来给应用开发者和devops staff类似API的功能。当前它是作为Django web Application来实现的。当然,也有其他可用的Web前端。接下来我们体验一下openstack:
一、环境
硬件:一台X86小麻雀台式机 AMD处理器 单网卡(官方要求多台服务器双网卡)
系统:ubuntu11.10 desktop版
nova版本:
2011.3 (2011.3-nova-milestone-tarball:tarmac-20110922115702-k9nkvxqzhj130av2)
网络:可以上互联网,由于需要的安装包太多并且依赖关系复杂,所以我使用在线安装方式。本地网卡ip:10.11.69.79,实例ip:172.16.0.0/28
二、安装
$passwd root //使用root安装,避免安装过程中产生不必要的权限问题
1. nova安装
由于openstack是由python语言编写,所以要先安装python包
# apt-get install python-software-properties
# add-apt-repository ppa:nova-core/release
# apt-get update
安装消息队列服务器rabbitmq:
# apt-get install -y rabbitmq-server
安装python依赖包:
# apt-get install -y python-greenlet python-mysqldb
安装nova-packages及一些依赖包:
# apt-get install -y nova-common nova-doc python-nova nova-api nova-network nova-objectstore nova-scheduler nova-compute glance
安装 euca2ools 工具包,后面注册镜像时候用到,否则会注册失败:
# apt-get install -y euca2ools unzip
2. 安装数据库
openstack提供了多种数据库可用,再次我使用mysql(其他数据库不了解):
# apt-get install -y mysql-server
设定数据库密码:123456
编辑/etc/mysql/my.cnf,修改‘bind-address' 从127.0.0.1到0.0.0.0,并重启mysql
# sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
# /etc/init.d/mysql restart
创建”nova”库:
#mysql>create database nova;
#mysql> grant all privileges on *.* to root@'%' identified by '123456';
#mysql> grant all privileges on *.* to nova@'%' identified by '123456';
#mysql> flush privileges;
重启所有服务:
#restart libvirt-bin;restart nova-network;restart nova-compute;restart nova-api;restart nova-objectstore;restart nova-scheduler; restart glance-registry;restart glance-api
3. 配置网络参数
# more /etc/network/interfaces
auto br100
iface br100 inet static
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 10.11.69.79
netmask 255.255.255.0
broadcast 10.11.69.255
gateway 10.11.69.1
dns-nameservers 192.168.8.57
//我只有一个网卡eth0,使用10.11.69.79上网,网关和dns地址都是公司共同使用的。
#/etc/init.d/networking restart //重启网卡
配置nova:
#more /etc/nova/nova.conf //我使用openstack的dhcp网络模式
--dhcpbridge_flagfile=/etc/nova/nova.conf //dhcp 桥接配置文件位置
--dhcpbridge=/usr/bin/nova-dhcpbridge //桥接命令位置
--logdir=/var/log/nova //nova日志存放路径
--state_path=/var/lib/nova //nova 状态文件位置
--lock_path=/var/lock/nova //lock 文件位置
--force_dhcp_release=True //dhcp 释放
--use_deprecated_auth //是否启用外部认证
--iscsi_helper=tgtadm
--verbose //是否启用详细日志消息
--flagfile=/etc/nova/nova-compute.conf //compute配置文件地址
--network_manager=nova.network.manager.FlatDHCPManager //默认网络模式
--flat_network_dhcp_start=172.16.0.2 //dhcp分配给的实例的ip的起始地址
--flat_injected=False
--public_interface=eth0
--s3_host=10.11.69.79 //objectstore 服务地址
--rabbit_host=10.11.69.79 //rabbitmq 队列服务器地址
--osapi_host=10.11.69.79
--ec2_api=10.11.69.79
--ec2_url=http://10.11.69.79:8773/services/Cloud //nova-api 接口地址
--sql_connection=mysql://root:123456@10.11.69.79/nova //数据库连接参数
--image_service=nova.image.glance.GlanceImageService //默认存储镜像使用的服务
--glance_host=10.11.69.79 //glance 服务地址
--fixed_range=172.16.0.0/8 //运行实例分配 ip段
--iscsi_ip_prefix=10.11.69
--bridge_interface=br100
--flat_interface=eth0
--network_size=256 //网络主机数
--libvirt_type=kvm //通过 libvirt 连接的虚拟化类型
4. 修改sql_connection参数来指定数据库连接地址
#vi /etc/glance/glance-registry.conf
sql_connection = mysql://root:123456@localhost/glance
在mysql建立glance数据库
mysql>create database glance;
#chown -R root:nova /etc/nova
改变一下/etc/nova的属主
#chmod 640 /etc/nova/nova.conf
重启所有的服务:
#restart libvirt-bin;restart nova-network;restart nova-compute;restart nova-api;restart nova-objectstore;restart nova-scheduler; restart glance-registry;restart glance-api
5. nova运行环境配置
#/usr/bin/nova-manage db sync //在数据库nova中建立数据表
创建管理员用户:baiying
#/usr/bin/nova-manage user admin baiying
export EC2_ACCESS_KEY=6aa51bfd-6bfb-4a94-bf55-3c4bacc4d59a export
EC2_SECRET_KEY=aba78372-8a22-460c-af7e-d6da1ebf2eef //产生的密钥
创建管理员用户baiying的工程 baiying-proj
#/usr/bin/nova-manage project create baiying-proj baiying
为实例创建网络:
#nova-manage network create novanet 172.16.0.0/28 1 100 --bridge=br100
//创建了172.16.0.0的网段,含有一个网络,100个ip
查看建立的实例的ip段:
#nova-manage network list
id IPv4 IPv6 start address DNS1
1 172.16.0.0/28 None 172.16.0.2 8.8.4.4
通过命令查看建立的工程:
# nova-manage project list
baiying-proj
6. 创建证书
#mkdir creds
#nova-manage project zipfile baiying-proj baiying creds/novacreds.zip
#unzip creds/novacreds.zip -d creds/
#source creds/novarc
# cat /root/creds/novarc >> .bashrc
# source .bashrc
查看服务是否正常使用
# euca-describe-availability-zones verbose
AVAILABILITYZONE nova available
AVAILABILITYZONE |- zhaohh-G41MT-S2
AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-11-11 08:34:27
AVAILABILITYZONE | |- nova-compute enabled :-) 2011-11-11 08:34:27
AVAILABILITYZONE | |- nova-network enabled :-) 2011-11-11 08:34:27
# nova-manage service list
Binary Host Zone Status State Updated_At
nova-scheduler zhaohh-G41MT-S2 nova enabled :-) 2011-11-11 08:41:02
nova-compute zhaohh-G41MT-S2 nova enabled :-) 2011-11-11 08:41:04
nova-network zhaohh-G41MT-S2 nova enabled :-) 2011-11-11 08:41:02
使能够ping 和ssh compute节点上的虚拟机:
# euca-authorize -P icmp -t -1:-1 default
# euca-authorize -P tcp -p 22 default
7. 镜像制作
http://smoser.brickies.net/ubuntu/ttylinux-uec/下载镜像并上传到服务器这是我下载的镜像ttylinux-uec-i386-11.2_2.6.35-16_1.tar.tar
注册镜像
# uec-publish-tarball ttylinux-uec-i386-11.2_2.6.35-16_1.tar.tar ubuntu1102
查看注册的镜像:
# euca-describe-images
176dd22ef3820a76888df29cc609752b.jpg
8. 创建ssh keypair密钥
# euca-add-keypair mykey > mykey.priv
# chmod 600 mykey.priv //权限不可过大,否则登录实例会提示失败
创建一个虚拟机:
# euca-run-instances ami-00000006 -k mykey -t m1.tiny
//可以创建多个
查看创建好的实例:
# euca-describe-instances
# euca-describe-instances
RESERVATION r-b9rwrtsb baiying-proj default
INSTANCE i-00000005 ami-00000006 172.16.0.2 172.16.0.2 running mykey
9. 为实例添加外网地址,并分配
#nova-manage floating create 10.11.69.200
# euca-allocate-address
ADDRESS 10.11.69.200
#euca-associate-address -i i-00000006 10.11.69.200
10. 登录实例
root@zhaohh-G41MT-S2:~# ssh -i mykey.priv root@10.11.69.200
Chop wood, carry water.
# hostname
server-1
#passwd root
Changing password for root
New password:
Bad password: too weak
Retype password:
Password for root changed by root
# exit
logout
Connection to 10.11.69.200 closed.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-1217-1-1.html 上篇帖子: 快速架设OpenStack云基础平台 下篇帖子: 为 OpenStack Nova 制作 Ubuntu 镜像 安装

尚未签到

发表于 2013-3-13 22:40:40 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-15 20:39:07 | 显示全部楼层
好好 学习了 确实不错

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 07:36:58 | 显示全部楼层
此地禁止大小便,违者没收工具。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 20:38:07 | 显示全部楼层
爱护环境,人人有病。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 13:14:57 | 显示全部楼层
勿以坑小而不灌,勿以坑大而灌之。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

发表于 2013-5-18 01:21:05 | 显示全部楼层
天塌下来你顶着,我垫着!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表