zoukankan      html  css  js  c++  java
  • [收藏学习]openstack脚本安装经验借鉴

    看过openstack的安装脚本,但自己一直再用手动安装.在dashboard地方总是出现健全问题,检查keystone,nova总是定位不出来原因.不想拖得太久时间,也会采用脚本安装方式.这里收藏网友陈沙克的文章http://hi.baidu.com/chenshake/blog/item/4ed92d4e96768dd7d0c86a3e.html.供本人自己脚本安装参考.还是声明:文章制作学习,所有权归原作者.

    基本已经通过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。

    最简单的方式,就是你再运行一次脚本,他就会把所有的服务重启。不过缺点就是所有的设置,数据都清空

    赠人玫瑰
    手留余香

    我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

  • 相关阅读:
    C# layui组件Dtree简单使用
    利用FormsAuthentication.RedirectFromLoginPage进行身份验证
    Mono for Android (4)-- 图片转为二进制,二进制转回图片
    Android Bitmap详细介绍
    Mono for Android (3)-- AbsoluteLayout、FrameLayout、LinearLayout、RelativeLayout、TableLayout
    Mono for Android (2)-- Android应用程序初认识
    iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法
    JAVA学习笔记(六)--简单抽奖系统
    第五周JAVA学习笔记(五)
    第四周JAVA学习笔记(四)
  • 原文地址:https://www.cnblogs.com/haochuang/p/2278669.html
Copyright © 2011-2022 走看看