- 论坛徽章:
- 49
|
硬件要求很简单,双网卡的机器就可以,本人采用的是虚拟机VMWare Workstation 8.0.0 虚拟的(双核,3076M内存,双硬盘,双网卡桥接之外网卡)。本文档是全部组件安装在一台机器上:nova,glance,keystone,dashboard,不包括swift。
一:准备系统
1:下载ubuntu 12.04. 服务器版本
ubuntu12.04正式版本,需要4月26号发布,目前是beta2
http://releases.ubuntu.com//prec ... a2-server-amd64.iso
2:安装OS
安装系统很简单。我的服务器虚拟了两块硬盘,我计划将一个单独的硬盘专门给nova-volume使用。
IP地址的设置,可以等装完系统再修改,问题不大。最小化安装,只需要安装ssh server就可以。
装完系统后, 设置root权限
就可以给root设置一个密码,直接用root运行
sudo passwd
设置网络,根据你的需要修改IP地址
# 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 172.16.1.200
netmask 255.255.255.0
network 172.16.1.0
broadcast 172.16.1.255
gateway 172.16.1.1
# dns-* options are implemented by the resolvconf package, if installed
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
安装SSH
apt-get install openssh-server
/etc/init.d/ssh start
更新源里的包,更新系统。确保你装的是最新版本的包
apt-get update
apt-get upgrade
3:安装bridge
apt-get install bridge-utils
重启网络或者重启一下机器都可以
/etc/init.d/networking restart
4:设置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
5:设置Iscsi
apt-get install tgt
重启服务
service tgt start
安装iscsi客户端
apt-get install open-iscsi open-iscsi-utils
6:安装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
3:创建数据库
nova数据库, 管理员:novadbadmin,密码是:password
glance数据库,管理员:glancedbadmin,密码是:password
如果你修改密码,后面很多配置都需要相应更改。
mysql -uroot -p
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'novadbadmin'@'%' IDENTIFIED BY 'password';
mysql -uroot -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%' IDENTIFIED BY 'password';
三:安装和配置keystone
1:安装keystone
apt-get install keystone python-keystone python-keystoneclient
2:配置keystone
需要修改 /etc/keystone/keystone.conf 两个地方
默认定义的token就是ADMIN,我使用zinc作为token
[DEFAULT]
bind_host = 0.0.0.0
public_port = 5000
admin_port = 35357
#admin_token = ADMIN
admin_token =zinc
另外一个地方是
[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 脚本。实现导入数据。
下载脚本
wget http://www.hastexo.com/system/files/user/4/keystone_data.sh_.txt
mv keystone_data.sh_.txt keystone_data.sh
让脚本可运行
chmod 755 keystone_data.sh
运行脚本, 如果你修改的默认的用户名和密码,你需要修改脚本。修改两个地方
第一个是登录dashboard的admin的密码(password)
第二个就是keystone的token(zinc)
#ADMIN_PASSWORD=${ADMIN_PASSWORD:-password}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
SERVICE_PASSWORD=${SERVICE_PASSWORD:-$ADMIN_PASSWORD}
#export SERVICE_TOKEN="hastexo"
export SERVICE_TOKEN="zinc"
export SERVICE_ENDPOINT="http://localhost:35357/v2.0"
SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service}
./keystone_data.sh
顺利运行,会什么都没有输出
#echo $?
下面会输出0 ,表示正常。你就别再运行脚本
keystone --tenant=admin --username=admin --password=password --auth_url=http://127.0.0.1:5000/v2.0 user-list
看到这些,就说明keystone安装正常。
四:安装和配置glance
1:安装软件
apt-get install glance glance-api glance-client glance-common glance-registry python-glance
2:配置/etc/glance/glance-api-paste.ini
修改文件最后3行,这些设置都是keystone导入数据的时候设置的。
admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = %SERVICE_USER%
admin_password = %SERVICE_PASSWORD%
改成
admin_tenant_name = admin
admin_user = admin
admin_password = password
3:设置 /etc/glance/glance-registry-paste.ini
也是修改文件最后3行,和上面是一样的。
admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = %SERVICE_USER%
admin_password = %SERVICE_PASSWORD%
改成
admin_tenant_name = admin
admin_user = admin
admin_password = password
4:配置/etc/glance/glance-registry.conf
修改
#sql_connection = sqlite:////var/lib/glance/glance.sqlite
sql_connection = mysql://glancedbadmin:password@127.0.0.1/glance
在末尾添加两行
[paste_deploy]
flavor = keystone
5:配置/etc/glance/glance-api.conf
在末尾添加两行
[paste_deploy]
flavor = keystone
6:重启服务
service glance-api restart
service glance-registry restart
7:验证glance服务是否正常
下面的步骤照做就可以,具体原理可以看英文
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=password
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=password
declare -x OS_TENANT_NAME=admin
declare -x OS_USERNAME=admin
运行
glance index
没有任何的输出。表示正常。
#echo $?
下面会输出0 ,表示正常。
# glance --version
glance 2012.1
8:下载镜像并上传
ubuntu官方专门提供image,http://uec-images.ubuntu.com。不过一定要注意
这些镜像,都是必须使用密钥登录,直接用用户名密码是无法的登录的。
下载镜像
wget http://uec-images.ubuntu.com/rel ... img-amd64-disk1.img
上传镜像
glance add name="Ubuntu 11.10 cloudimg amd64" is_public=true container_format=ovf disk_format=qcow2 < ubuntu-11.10-server-cloudimg-amd64-disk1.img
上传完镜像后。在运行
glance index
就可以看到上传的image。
五:安装配置nova
1:安装nova相关组件
apt-get install nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler nova-vncproxy nova-volume python-nova python-novaclient
2:配置 /etc/nova/nova.conf
把nova.conf 原来的内容删除掉。直接贴下面内容。重点需要注意的是,
如果你是在虚拟机里测试Openstack。你需要把默认的虚拟化引擎从kvm改成qemu。
mv /etc/nova/nova.conf /etc/nova/nova.conf.bak
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--allow_admin_api=true
--use_deprecated_auth=false
--auth_strategy=keystone
--scheduler_driver=nova.scheduler.simple.SimpleScheduler
--s3_host=172.16.1.200
--ec2_host=172.16.1.200
--rabbit_host=172.16.1.200
--cc_host=172.16.1.200
--nova_url=http://172.16.1.200:8774/v1.1/
--routing_source_ip=172.16.1.200
--glance_api_servers=172.16.1.200:9292
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.22
--sql_connection=mysql://novadbadmin:password@172.16.1.200/nova
--ec2_url=http://172.16.1.200:8773/services/Cloud
--keystone_ec2_url=http://172.16.1.200:5000/v2.0/ec2tokens
--api_paste_config=/etc/nova/api-paste.ini
#--libvirt_type=kvm
--libvirt_type=qemu
--libvirt_use_virtio_for_bridges=true
--start_guests_on_host_boot=true
--resume_guests_state_on_host_boot=true
--vnc_enabled=true
--vncproxy_url=http://172.16.1.200:6080
--vnc_console_proxy_url=http://172.16.1.200:6080
# network specific settings
--network_manager=nova.network.manager.FlatDHCPManager
--public_interface=eth0
--flat_interface=eth1
--flat_network_bridge=br100
--fixed_range=172.16.10.32/27
--floating_range=172.16.20.32/27
--network_size=32
--flat_network_dhcp_start=172.16.20.33
--flat_injected=False
--force_dhcp_release
--iscsi_helper=tgtadm
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
#--verbose
--verbose=False
3:配置/etc/nova/api-paste.ini
也是修改文件最后3行,
admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = %SERVICE_USER%
admin_password = %SERVICE_PASSWORD%
改成
admin_tenant_name = admin
admin_user = admin
admin_password = password
4:停止和重启nova相关服务
for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" stop; done
for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" start; done
5:同步数据库
以前我运行同步数据库,如果正确, 当nova.conf
--verbose=False
是没有任何的输出,否则有一堆是输出。
nova-manage db sync
创建网络
nova-manage network create private --fixed_range_v4=172.16.10.32/27 --num_networks=1 --bridge=br100 --bridge_interface=eth1 --network_size=32
设定floating IP
nova-manage floating create --ip_range=172.16.20.32/27
设置权限
chown -R nova:nova /etc/nova
再重启相关服务
for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" stop; done
for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" start; done
6:检查nova服务
nova list
nova image-list
nova floating-ip-create
六:创建第一个VM
这是用命令行创建vm,这个步骤可以跳过。我没做。不影响后面的安装。
1: 创建密钥
# ssh-keygen
一路回车,就可以了。
2:上传密钥到数据库
# nova keypair-add --pub_key .ssh/id_rsa.pub key1
这个时候,就可以查看到上传的key
# nova keypair-list
+------+-------------------------------------------------+
| Name | Fingerprint |
+------+-------------------------------------------------+
| key1 | 13:1d:31:ba:5a:88:0c:29:9d:b6:c8:3f:82:f1:ce:58 |
+------+-------------------------------------------------+
4:开始创建虚拟机
查看image list
nova image-list
查看flavor-list
nova flavor-list
创建虚拟机
# nova boot --flavor 1 --image a726d4b6-c60a-43e1-9814-45145a732334 --key_name key1 superfrobnicator
查看一下创建的虚拟机
nova show superfrobnicator
ssh 访问VM
打开防火墙
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
这个时候,就可以直接ssh到虚拟机上。
ssh -i .ssh/id_rsa ubuntu@172.16.20.33
这样就可以登录服务器。
Floating IP访问
如果希望访问floating IP
申请floating IP
nova floating-ip-create
关联vm
# nova add-floating-ip superfrobnicator 172.16.20.33
有用的命令
查看keypair
nova keypair-list
删除keypair
nova keypair-delete
查看vm
nova list
删除vm,vm的ID
nova delete 10d1bc19-b2c4-4eee-a5c8-b256bda3f343
七:安装和配置Dashbaord
1:安装dashbaord
apt-get install libapache2-mod-wsgi openstack-dashboard
2:编辑/etc/apache2/conf.d/openstack-dashboard.conf
# cat /etc/apache2/conf.d/openstack-dashboard.conf
WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static
Order allow,deny
Allow from all
3:配置/etc/openstack-dashboard/local_settings.py
把CACHE_BACKEND修改成下面
#CACHE_BACKEND = 'locmem://'
CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
重启服务
service apache2 restart
这个时候,你就可以登录dashboard
http://172.16.1.200
user:admin
pass:password
http://www.libcms.net/read.php/955.htm
OpenStack Install.doc
(158.5 KB, 下载次数: 82)
|
|