Ubuntu 12.04 (“Precise Pangolin”) 安装 OpenStack Essex

这是我参考老外写的英文版本,整理一个中文的版本。也希望随着我的理解深入,不断完善。原文

我下面的步骤,也就全部参考原文。

3月27日更新:基本完成文档内容

4月5日更新:重新安装第三次,修改了文档一下小错误。

4月6日更新:完成的nova volume的内容。所有英文文档的内容,已经全部覆盖

4月16号:对文档进行测试,发现当前的glance包有问题,这会导致大家无法使用glance。当你重启glance-registry,glance日志会报错。导致glance index会报错误。已经提交bug :https://bugs.launchpad.net/ubuntu/+source/glance/+bug/982787  这个不是bug,官方为了日后升级,改成手工创建数据库的表。改变了创建数据库的方式。修复方法看glance 部分。

4月17日:修改了dashborad的配置,以前有错误配置。导致虚拟机管理下拉菜单无法工作。

 4月23日:修改vnc。不安装vncproxy,安装nova-consoleauth novnc Python-novnc 三个包,并且调整nova.conf vnc的设置。等待明天回去验证。

4月24日:解决vnc的问题,重新安装了一遍。vnc已经正常工作。唯一遗憾就是Dashboard还是缺少js,需要手工copy一下。就只能等这个包更新才行。

 5月7号:用ubuntu 12.04,重新验证一次文档。我在虚拟机上安装,compute服务不正常。virtualbox和vmware都是一样的情况。

5月10号:用一台物理服务器安装,文档内容,全部通过。不过发现Dashboard默认已经是使用memcache,不需要对dashborad进行任何的修改,就可以使用。另外已经验证,vnc是可以使用。不过没测试volume服务。

 

硬件要求很简单,双网卡的机器就可以。服务器可以上网。本文档是全部组件安装在一台机器上:nova,glance,keystone,dashboard。不包括swift。

下面的文档,基本是照抄原文档,不过这是经过我验证过。后续我会附上图。

为了简单和减少失误,你最好全部参考我的文档的设置,等你装成功后,再去变更相关的设置,包括账号的密码。

目前Essex版本已经发布正式版本。源里的包,也基本更新到正式版本。

 

一:准备系统

1:下载ubuntu 12.04. 服务器版本

ubuntu12.04正式版本,需要4月26号发布,目前是beta2

http://mirrors.ustc.edu.cn/ubuntu-releases/12.04/ubuntu-12.04-server-amd64.iso

 

2:安装OS

安装系统倒是简单。由于我的服务器是两块硬盘,显得比较简单。因为我们需要一个单独的分区专门给nova-volume使用。这个也可以通过变通的办法实现。

IP地址的设置,可以等装完系统再修改,问题不大。最小化安装,只需要安装ssh server就可以。

装完系统后。

apt-get update

apt-get upgrade

更新源里的包,更新系统。确保你装的是最新版本的包。

 

3:设置root权限

为了简单,全部都是用root来运行。

sudo passwd

就可以给root设置一个密码。直接用root运行。

4:设置网络

我的网络设置和文档是完全一样。这样也减少错误的几率。

root@node6:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 10.42.0.6
        netmask 255.255.255.0
        network 10.42.0.0
        broadcast 10.42.0.255
        gateway 10.42.0.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 114.114.114.114
        dns-search test.com

auto eth1
iface eth1 inet static
address 192.168.22.1
network 192.168.22.0
netmask 255.255.255.0
broadcast 192.168.22.255

 重启网络,让修改生效

/etc/init.d/networking restart

5:安装bridge

apt-get install bridge-utils

重启网络或者重启一下机器都可以

/etc/init.d/networking restart

6:设置NTP

apt-get install ntp

编辑 /etc/ntp.conf 在末尾添加下面3行

server ntp.ubuntu.com iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10

重启服务
service ntp restart

7:设置Iscsi

apt-get install tgt

重启服务

service tgt start

安装iscsi客户端

apt-get install open-iscsi open-iscsi-utils

8:安装rabbitmq

apt-get install rabbitmq-server memcached python-memcache
apt-get install kvm libvirt-bin

 

二:安装mysql和创建相关数据库

Openstack的组件:nova,keystone,glance,都需要数据库。不过目前官方建议keystone,采用sqlite存储,而不用mysql存放。所以我们只需要创建nova和glance两个数据库就可以。

1:安装mysql

过程中,会提示你输入root密码。

apt-get install -y mysql-server python-mysqldb

让mysql支持外部访问

sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf  

重启服务

service mysql restart

2:安装phpmyadmin (可选)

为了方便,可以把phpmyadmin装上,可以比较方便管理数据库

apt-get install phpmyadmin

安装的时候,第一个提示是让你输入root的密码。

3:创建数据库

nova数据库,   管理员:novadbadmin,密码是:dieD9Mie

glance数据库,管理员:glancedbadmin,密码是:ohC3teiv

如果你修改密码,后面很多配置都需要相应更改。

mysql -uroot -p
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'novadbadmin'@'%' IDENTIFIED BY 'dieD9Mie';
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%' IDENTIFIED BY 'ohC3teiv';
quit

 

 

 三:安装和配置keystone

Openstack的各个组件,keystone是最难配置。搞定keystone,后面应该就没啥麻烦。

1:安装keystone

apt-get install keystone python-keystone python-keystoneclient

2:配置keystone

需要修改 /etc/keystone/keystone.conf 两个地方

默认定义的token就是ADMIN,我使用hastexo作为token

[DEFAULT]
bind_host = 0.0.0.0
public_port = 5000
admin_port = 35357
#admin_token = ADMIN
admin_token =hastexo

另外一个地方是

[catalog]
#driver = keystone.catalog.backends.sql.Catalog
driver = keystone.catalog.backends.templated.TemplatedCatalog
template_file = /etc/keystone/default_catalog.templates

 

重启服务

service keystone restart

3: 导入数据

这个比较有技术含量。通过修改devstack的keystone_data.sh 脚本。实现导入数据。如果你上面的设置都和我一样,那么其实直接运行这个脚本就可以。

http://www.hastexo.com/system/files/user/4/keystone_data.sh_.txt

下载脚本

wget http://www.hastexo.com/system/files/user/4/keystone_data.sh_.txt
mv keystone_data.sh_.txt keystone_data.sh

让脚本可运行

chmod +x keystone_data.sh

运行脚本, 如果你修改的默认的用户名和密码,你需要修改脚本。修改两个地方

第一个是登录dashboard的admin的密码

第二个就是keystone的token

#ADMIN_PASSWORD=${ADMIN_PASSWORD:-hastexo}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
SERVICE_PASSWORD=${SERVICE_PASSWORD:-$ADMIN_PASSWORD}
#export SERVICE_TOKEN="hastexo"
export SERVICE_TOKEN="Centrin"
export SERVICE_ENDPOINT="http://localhost:35357/v2.0"
SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service}

 

 

./keystone_data.sh

顺利运行,会什么都没有输出

Ubuntu 12.04 (“Precise Pangolin”) 安装 OpenStack Essex

 

#echo $?

下面会输出0 ,表示正常。你就别再运行脚本

keystone --tenant=admin --username=admin --password=hastexo  --auth_url=http://127.0.0.1:5000/v2.0 user-list

看到这些,就说明keystone安装正常。

Ubuntu 12.04 (“Precise Pangolin”) 安装 OpenStack Essex

export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=hastexo
export OS_AUTH_URL="http://localhost:5000/v2.0/"

检查检查

# export | grep OS_
declare -x OS_AUTH_URL="http://localhost:5000/v2.0/"
declare -x OS_PASSWORD="hastexo"
declare -x OS_TENANT_name="admin"
declare -x OS_USERname="admin"

这个时候,直接运行

root@node6:~# keystone user-list
+----------------------------------+---------+--------------------+--------+
|                id                | enabled |       email        |  name  |
+----------------------------------+---------+--------------------+--------+
| 44f4b6f1fb254f50b3e690c396d9e513 | True    | demo@hastexo.com   | demo   |
| 8e5965dbf92b41fda9d29ac1e8145f39 | True    | nova@hastexo.com   | nova   |
| a06b9609c6f14cfdbd6ab66e149007b0 | True    | glance@hastexo.com | glance |
| a1ccefc17bd34be590e43cd7136bab5c | True    | admin@hastexo.com  | admin  |
+----------------------------------+---------+--------------------+--------+

相关推荐