学习OpenStack之 (1):安装devstack

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

1. 系统准备

ubuntu 12.04 server 虚拟机。 2G内存。

依次运行以下命令来安装git:

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install git

2. 下载安装包

$git clone https: //github .com /openstack-dev/devstack .git   #克隆devstack的Git代码仓库
 
3. 配置
 
从2013/10起OpenStack引入新的配置方式即使用配置文件 local.conf。从官方网站看这个文件应该存在于devstack目录中,找了后发现在samples目录中。 创建 local.conf包含下面内容:
[[local|localrc]]
ADMIN_PASSWORD=secrete #Admin密码
DATABASE_PASSWORD=$ADMIN_PASSWORD //预设密码,这样在运行stack.sh的时候就不会要求输入密码
RABBIT_PASSWORD=$ADMIN_PASSWORD //同上
SERVICE_PASSWORD=$ADMIN_PASSWORD //同上
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50

其他可使用配置项:
安装路径:
默认: DEST=/opt/stack
示例:DEST=/opt/mystack
屏幕输出目录:
默认只是console输出:SCREEN_LOGDIR=”“
示例:
SCREEN_LOGDIR=$DEST/logs/screen #输出到文件,每个screen输出用时间戳命名的一个文件
日志:
默认: ``LOGFILE=”” LOGDAYS=7 LOG_COLOR=True`` //日志相关。默认日志仅在console输出

示例local.conf文件:
[[local|localrc]]
LOGDAYS=1
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen
ADMIN_PASSWORD=1111
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50 
 
4. 以非root用户运行以下命令
cd devstack
./stack.sh
 
注意:
1. 不可以使用root用户运行该命令,可使用 /devstack/tools/create-stack-user.sh命令创建一个用户,比如stack
2. 保证该用户下sudo可以免密码运行,否则脚本执行过程中会出现权限问题

方法:修改/etc/sudoers, 在行 root    ALL=(ALL:ALL) ALL 后添加 stack      ALL=(ALL) ALL  然后保存文件

 

遇到的一些问题及解决办法:

1. 网速太慢,git clone失败

  要么用网速快的机器;要么找一个已经装好devstack的机器,将/opt/stack所有文件拷贝到你的环境中,必要的话将git clone全部注释掉,再运行stack.sh

2. 一些依赖的包没有安装,比如下面的mysql-server-5.5:在ubuntu上装上这些包重新运行stack.sh即可

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
mysql-server : Depends: mysql-server-5.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

 

成功:

Horizon is now available at http://9.*.236.90/
Keystone is serving at http://9.*.236.90:5000/v2.0/
Examples on using novaclient command line is in exercise.sh
The default users are: admin and demo
The password: 1111
This is your host ip: 9.*.236.90

 

stack.sh中的执行顺序:

  1. 支持OS类型包括Ubuntu 12.04或以上;Fedora F18或以上
  2. 禁止使用root运行
  3. 读取local.conf
  4. 检查stackrc文件是否存在
  5. 检查Devstack是不是已经在运行。如果在运行,则退出
  6. 配置目标安装目录,包括创建目录,设置权限
  7. 配置hostname,logging等
  8. 读取各组件的安装和启动script
  9. 如果没有配置密码,则需要用户输入各密码
  10. 配置数据库
  11. 配置Keystone
  12. 安装各pre-condition包
  13. 安装client包
  14. 安装和配置keystone,swift,glance,cinder,neutron,nova,horizon,ceilometer,heat,CA
  15. 配置数据库
  16. 配置screen
  17. 创建个组件使用的账号
  18. 初始化和启动horizon
  19. 启动swift,glance,
  20. 安装images
  21. 启动swift,nova_api,neutron,nova,cinder,ceilometer,heat
 
5. 在浏览器中输入 http://9.*.236.90/  打开dashboard, 用admin和1111登录
 
 
6. 重启机器后重新run OpenStack: 执行rejoin_stack.sh

screen语法,执行完rejoin_stack.sh后,需要使用screen语法来控制openstack的进程
帮助 ctrl+a+?
查看screen导航 ctrl+a+"  注需要使用shift键
退出screen,有两种方法:
方法1:attach screen   ctrl+a+d
方法2:exit screen       ctrl+a+K
查看下一个screen ctrl+a+n
查看上一个screen ctrl+a+p
保存screen的日志到文件 ctrl+a+H,再按一次停止保存。

查看screen
[root@cheeliang ~]# screen -ls
There is a screen on:
        2678.stack      (Attached)
1 Socket in /var/run/screen/S-root.

重连接Re-attach screen   screen -r 2678



   本文转自SammyLiu博客园博客,原文链接:http://www.cnblogs.com/sammyliu/p/4136466.html,如需转载请自行联系原作者



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
IDE Linux KVM
云计算|OpenStack|社区版OpenStack---基本概念科普(kvm的驱动类别和安装)
云计算|OpenStack|社区版OpenStack---基本概念科普(kvm的驱动类别和安装)
265 0
|
6月前
|
存储 消息中间件 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(八--- 存储服务cinder的安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(八--- 存储服务cinder的安装部署---Rocky版)
266 0
|
6月前
|
云计算 数据安全/隐私保护 虚拟化
云计算|OpenStack|社区版OpenStack安装部署文档(十一--- 如何获取镜像---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(十一--- 如何获取镜像---Rocky版)
168 0
|
3月前
|
存储 网络协议 Linux
如何安装OpenStack?
【8月更文挑战第21天】
456 1
|
3月前
|
机器学习/深度学习 存储 虚拟化
OpenStack学习教程
【8月更文挑战第19天】
90 4
|
3月前
|
存储 安全 云计算
open stack学习教程
【8月更文挑战第3天】
125 8
|
6月前
|
Linux 网络安全 API
云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)
339 0
|
6月前
|
云计算
云计算|OpenStack|社区版OpenStack安装部署文档(十--- 调整配额限制和解决建虚拟机报错---No valid host was found---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(十--- 调整配额限制和解决建虚拟机报错---No valid host was found---Rocky版)
234 0
|
6月前
|
弹性计算 Linux 网络安全
云计算|OpenStack|社区版OpenStack安装部署文档(九--- 创建一个虚拟机实例---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(九--- 创建一个虚拟机实例---Rocky版)
89 0
|
6月前
|
Linux API 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版)
188 0