zoukankan      html  css  js  c++  java
  • 学习OpenStack之 (1):安装devstack

    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

     
     
  • 相关阅读:
    Tomcat性能优化总结
    shell 服务器监控 cpu 和 java 占用 CPU 脚本
    编写shell时,遇到let: not found错误及解决办法
    Studio 3T 破解 mogodb
    nginx/iptables动态IP黑白名单实现方案
    创业公司这两年
    致所有的开发者们
    如何成为一名全栈开发工程师
    谈谈在创业公司的几点感触
    推荐阅读《赢在下班后》
  • 原文地址:https://www.cnblogs.com/sammyliu/p/4136466.html
Copyright © 2011-2022 走看看