热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Linux系统中使用devstack安装配置openstack过程总结

基本已经通过Devstack脚本,把Openstack搭建起来,估计我大概用到了40%的脚本的功能,剩下的更多功能,需要我慢慢挖掘。这里也做一个总结,方便大家日后测试。1:OS支持脚本目前支持Ubuntu11.04,11.10,不支持ubuntu10.4,脚本的文档里说可以在虚拟机上
基本已经通过Devstack脚本,把Openstack搭建起来,估计我大概用到了40%的脚本的功能,剩下的更多功能,需要我慢慢挖掘。
这里也做一个总结,方便大家日后测试。

1:OS支持
脚本目前支持Ubuntu 11.04,11.10,不支持ubuntu 10.4,
脚本的文档里说可以在虚拟机上测试Openstack,不过我还是建议你直接用物理服务器吧,等熟悉了,你再去虚拟机上安装。

2:硬件服务器
硬件的服务器,其实只需要支持VT的功能就可以,目前我相信基本的服务器都是支持,如果有点历史的服务器,还是先检测一下cpu再说。
#egrep '(vmx|svm)' --color=always /proc/cpuinfo
如果有东西输出,就表示你的cpu支持VT,否则就没戏。
服务器单块网卡就可以了,这应该是没任何问题。

3:虚拟化引擎
脚本其实支持多个虚拟化引擎:kvm,xen,LXC,Qemu。
如果你在虚拟机上安装Openstack,他会把默认的虚拟化引擎改成Qemu,让你也可以创建虚拟机。
目前我知道的KVM,还是必须在物理服务器上跑,所以如果你希望测试KVM,就只能在物理服务器上进行。
脚本默认是用KVM,我没测试过Xen是如何使用。
下面的相关问题,其实都是基于KVM的问题。

4:运行脚本的用户和权限
由于Dashboard,不允许用root的权限运行。所以脚本会自动创建一个用户:stack,用这个账户来运行脚本相关操作。
你也可以手工创建一个stack账户,用stack账户登录,运行脚本,都是相同的效果。

5:单台服务器部署
这套脚本目前是针对单台服务器的部署,为了给开发者可以快速搭建一个测试环境。
脚本会把软件都设置成debug状态,这样一旦出错,可以很方便发现出错的原因。
未来这套脚本会考虑多节点的部署。

6:账户和密码
如果你是第一次运行脚本,会提示你输入4个账户的密码
MYSQL_PASSWORD=nova
RABBIT_PASSWORD=nova
SERVICE_TOKEN=nova
ADMIN_PASSWORD=nova
第一个是mysql的root的密码,第四个是你登录dashbaord的admin的密码。
这个密码的设置,会生产一个 localrc的文件,保存着,如果你再次运行脚本,就不需要输入密码,直接从这个文件读取。
root@cloud:/home/stack/devstack# ls localrc
localrc

7:网络FlatDHCP
如果你没接触过亚马逊的aws,估计这个地方有点晕。脚本的默认网络,是采用FlatDHCP,
虚拟机获得的IP都是内网IP段,默认是10的网段。如果你希望公网可以访问,那么就需要通过 Floating IP 进行映射。
所谓Floating IP,其实就是你的公网IP地址,不过做试验,你可以吧192.168.1,认为是公网网段。这个就需要结合你的情况,一般把服务器的IP地址段,设置成公网的网段,这样进行Floating IP 进行映射,就可以直接访问。

8:脚本的定制
整个脚本,你可以不做任何的修改,直接运行就可以。不过有时候做一下调整,用起来会更加方便。
root@cloud:/home/stack/devstack# vi stack.sh
修改公网IP地址段,默认是采用172,我改成192.168.1的网段。
#FLOATING_RANGE=${FLOATING_RANGE:-172.24.4.224/28}
FLOATING_RANGE=${FLOATING_RANGE:-192.168.1.224/27}
修改镜像,默认脚本会下载一个4m大小的镜像,可以满足你基本演示,你可以直接下载ubuntu的镜像
        # Downloads the image (uec ami+aki style), then extracts it.
        #IMAGE_FNAME=`basename "$image_url"`
        IMAGE_FNAME=`basename "$http://uec-images.ubuntu.com/natty/current/natty-server-cloudimg-amd64.tar.gz"`
这样脚本会下载这个镜像存放在/home/stack/devstack/files 目录下,
很可能由于网络的原因,很难吧这个镜像下载回来,所以我是手工下载这个镜像,放到这个目录下。
脚本会把这个镜像,解压到 /home/stack/devstack/files/images
# ls na*
natty-server-cloudimg-amd64-floppy  natty-server-cloudimg-amd64.img  natty-server-cloudimg-amd64-loader  natty-server-cloudimg-amd64-vmlinuz-virtual
这个时候,脚本会用这个ubuntu11.04的镜像上传。

9:安全组和无法ping和ssh虚拟机
当你创建虚拟机后,分配IP,你会发现虚拟机是无法ping通的,这是因为安全组,默认是禁止ICMP包。
所以你需要设置安全组,打开22端口和允许icmp
http://docs.openstack.org/cactus/openstack-compute/admin/content/enabling-ping-and-ssh-on-vms.html

 
10:如何设置:EC2_ACCESS_KEY environment variable must be set.
# euca-authorize -P icmp -t -1:-1 default
EC2_ACCESS_KEY environment variable must be set.
当你尝试允许euca的相关命令的时候,一般都会有这样的提示。解决的办法
root@cloud:/home/stack/devstack# source ./openrc
这个时候就没问题了。下面这个命令就是修改安全组的规则
root@cloud:/home/stack/devstack# euca-authorize -P icmp -t -1:-1 default
GROUP   default
PERMISSION      default ALLOWS  icmp    -1      -1      FROM    CIDR    0.0.0
 
11:重启机器后所有服务停止,无法登陆Dashboard
由于是采用源码安装,没有开机启动脚本,所以启动服务,就需要手工启动,相关的服务,有7,8个。
Dashbaord,是需要通过keystone进行身份验证,keystone服务没启动,是无法登陆Dashboard。
最简单的方式,就是你再运行一次脚本,他就会把所有的服务重启。不过缺点就是所有的设置,数据都清空。

推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
author-avatar
liaojiawei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有