• 学习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

     
     
  • 相关阅读:
    C语言中可变函数参数变量的实现
    Oracle电话面试
    JS和C#方法相互调用
    asp.net 页面从初始化到卸载事件顺序
    解决.NET CF 3.5 Bitmap(Stream)未处理异常问题
    sql2008新增时间类数据类型学习
    c#和Javascript操作同一json对象
    被研究生了
    分形
    跑钱
  • 原文地址:https://www.cnblogs.com/sammyliu/p/4136466.html
Copyright © 2020-2023  润新知