天天看点

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

温馨提示:

本blog欢迎转发,但请保留原作者信息:

新浪微博:@孔令贤HW

Blog地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!

之前搭建OpenStack环境全都是在物理服务器上,一步一步手动配置,一步一步安装,对于初学者,我也强烈建议这样做。但是当熟悉流程,甚至可以自定义安装配置之后,对于开始进行OpenStack开发的人来讲,应当尽量使花费在环境搭建上的时间和精力越少越好。于是,开始尝试使用各种自动化的工作。目前自动化安装OpenStack工具有很多,并且很多都是出自名门,比如Rackspace Private Cloud, Fuel, Redhat RDO等等。当然,更多的人可能还是使用devstack。这里我将自己使用devstack,在虚拟机上安装OpenStack的流程记录下来,便于以后查阅。

OpenStack版本:Grizzly

1. 创建ubuntu虚拟机

在VMware Workstation 9上安装ubuntu 12.04.2系统(我安装的是32位)。

安装时,根据自己电脑的配置合理选择cpu和内存的大小,我这里的配置如下:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

因为我的物理机用的ADSL上网,所以网络模式我选择NAT,如果你的物理机可以直接联网,那么也可以选择bridge模式。

SCSI controller:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

选择创建一个新的、单独的磁盘文件,disk type选择SCSI。

在启动虚拟机之前,先挂载ubuntu的ISO光盘,然后启动虚拟机,安装ubuntu系统,(如果是bridge模式,可以手动指定IP)。

安装完系统之后,一般需要作如下几件事情:

1、以普通用户进入系统,修改root密码,转到root用户

2、修改apt源,然后执行:apt-get update

3、apt-get install openssh-server

4、service ssh restart

排错:

装完系统后,发现中文字符显示乱码(ifconfig的输出有很多"小菱形"):

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

解决方法如下:

编辑/var/lib/locales/supported.d/local,将"zh_CN GB2312"注释掉,留下"en_US.UTF-8 UTF-8";

编辑/etc/default/locale,修改为:

LANGUAGE="en_US:en"

执行:locale-gen

重启系统后,英文显示正常。

提示:虚拟机成功运行后,可以通过物理机的xshell或其他ssh工具登录,操作更方便。

2. 安装vmware tools(可选)

虚拟机创建成功后,一般都会安装vmware tools用来优化显示等。方法如下:

在虚拟机运行的情况下,选择vmware workstation程序菜单中VM > install VMware tools...,其实就是挂载vmware workstation安装目录下的linux.iso文件。进入虚拟机,执行:

mkdir /mnt/cdrom

mount -o ro /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

tar -zxvf VMwareTools-XXXXXX.i386.tar.gz -C /tmp

cd /tmp/vmware-tools-distrib

./vmware-install.pl

然后一路回车。

3. 安装OpenStack

从xshell登录虚拟机,使用root用户,执行:

apt-get install git
git clone git://github.com/openstack-dev/devstack.git
           

进入下载下来的devstack目录,新建localrc文件,输入如下内容(Galax8800可以根据自己的喜好修改):

ENABLED_SERVICES=q-meta,q-lbaas,n-obj,n-cpu,n-sch,n-cauth,horizon,mysql,rabbit,sysstat,cinder,c-api,c-vol,c-sch,n-cond,quantum,q-svc,q-agt,q-dhcp,q-l3,n-novnc,n-xvnc,q-lbaas,g-api,g-reg,key,n-api,n-crt
DATABASE_PASSWORD=Galax8800
ADMIN_PASSWORD=Galax8800
SERVICE_PASSWORD=Galax8800
SERVICE_TOKEN=Galax8800
RABBIT_PASSWORD=Galax8800
# Compute Service
NOVA_BRANCH=stable/grizzly
# Volume Service
CINDER_BRANCH=stable/grizzly
# Image Service
GLANCE_BRANCH=stable/grizzly
# Web UI (Dashboard)
HORIZON_BRANCH=stable/grizzly
# Auth Services
KEYSTONE_BRANCH=stable/grizzly
# Quantum (Network) service
QUANTUM_BRANCH=stable/grizzly
#Enable Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=False
SCREEN_LOGDIR=/opt/stack/logs
           

提示:如果安装的ubuntu系统是32位,那么只能运行32位的虚拟机。所以需要对stackrc文件做稍许修改。查找"cirros",可以把出现"cirros-0.3.1-x86_64"的地方都修改为"cirros-0.3.1-i386"即可。

在devstack目录下运行./stack.sh,开始安装all-in-one的OpenStack。

可能是我的网速或是物理机系统比较慢,安装过程持续了40多分钟:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

4. 验证

安装开始时,会自动创建stack用户,但普通用户执行命令有很多限制,于是先切换到root用户。

在任意目录下新建novarc文件(文件名可以自定义),输入以下内容(Galax8800与之前的配置一致,而且我这里直接使用admin)后,执行source novarc:

export SERVICE_TOKEN=Galax8800
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=Galax8800
export OS_AUTH_URL=http://localhost:5000/v2.0/
export SERVICE_ENDPOINT=http://localhost:35357/v2.0
           

先看一下服务是否正常:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

创建一个虚拟机:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

虚拟机创建成功:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

可以看到虚拟机分到了public ip(172.24.4.227),这个ip的配置是在stack.sh文件中写死的:

【OpenStack】vmware workstation使用devstack安装openstack手记1. 创建ubuntu虚拟机2. 安装vmware tools(可选)3. 安装OpenStack4. 验证

可以在localrc中覆盖默认配置。

提示:

如果需要重新开始或修改了localrc文件,可以到devstack目录下执行./unstack.sh,或者直接重启虚拟机。

继续阅读