南京邮电大学2015届本科生毕业设计(论文)
第四章 OpenStack云管理平台的搭建
4.1 单节点安装部署OpenStack 4.1.1 实验环境及实验拓扑
本次实验采用一台8个vCPU、16GB内存的云主机,搭载CentOS 6.6 64bit操作系统,用来单节点部署OpenStack。搭建OpenStack云管理平台需要较高的硬件配置,并要求支持CPU虚拟化。实验拓扑图如图4.1所示。
图4.1 实验拓扑图
本文设计的云计算平台的实验拓扑图如图4.1所示,主机分别连接到内网和外网,通过路由器,Public-Subnet和公网相连,这样就可以通过公网来SSH到云主机,并且可以通过公网进入到OpenStack的DASHBOARD,以图形交互模式来管理云。由于考虑到实验环境的限制,本次实验采用单节点部署,达到节省硬件消耗的目的。另外,单节点部署更适合实验环境,而多节点部署更适合生产环境[1]。
4.1.2 构建过程
目前OpenStack可以采用多种方法进行构建,如源码安装、使用DevStack脚本安装、使用 Puppet 安装等,为了进一步熟悉 OpenStack 的框架,本文采用通过OpenStack官方网站提供的指导手册进行一步步的安装[10]。部署流程图如图4.2所示。
20
南京邮电大学2015届本科生毕业设计(论文)
图4.2 实验部署流程图
4.2 云平台搭建主要过程和问题解决 4.2.1 Keystone的安装与问题分析
以下是其安装和配置的主要过程。 (1)安装KeyStone
# yum install -y openstack-keystone (2)初始化数据库
# openstack-db --init --service keystone \\ --password PASSWORD (3)生成Token,并设置环境变量
# export SERVICE_TOKEN=$(openssl rand -hex 10) # export SERVICE_ENDPOINT=http://10.9.0.206:35357/v2.0 # echo $SERVICE_TOKEN > /tmp/ks_admin_token 21
南京邮电大学2015届本科生毕业设计(论文)
71068df694f4c4620156 (4)修改配置文件
# openstack-config --set /etc/keystone/keystone.conf \\ DEFAULT admin_token $SERVICE_TOKEN # openstack-config --set /etc/keystone/keystone.conf \\ signing token_format UUID (5)启动keystone服务
# service openstack-keystone start # chkconfig openstack-keystone on 以下是问题分析。
(1)使用admin用户查看用户列表时报错 # keystone user-list Authorization Failed: Unable to communicate with identity service: {\{\(HTTP 500) 解决方法:
# openstack-config --set /etc/keystone/keystone.conf \\ signing token_format UUID (2)Keystone 使用期间,有时会出错,可能是因为环境变量问题。需要用到keystone.conf 里的 admin_token 来访问 Keystone 的服务,后面也可以通过keystone-client 来注册新的 token。默认的 admin_token 是 ADMIN,要把它添加到系统环境里去。
4.2.2 Glance的安装与问题分析
以下是其安装和配置的主要过程。 (1)安装glance
# yum install -y openstack-glance (2)设置环境变量 # source ~/keystonerc_admin (3)初始数据库
# openstack-db --init --service glance \\ --password PASSWORD (4)修改配置文件
22
南京邮电大学2015届本科生毕业设计(论文)
# openstack-config --set /etc/glance/glance-api.conf \\ paste_deploy flavor keystone # openstack-config --set /etc/glance/glance-api.conf \\ keystone_authtoken admin_tenant_name admin # openstack-config --set /etc/glance/glance-api.conf \\ keystone_authtoken admin_user admin # openstack-config --set /etc/glance/glance-api.conf \\ keystone_authtoken admin_password PASSWORD # openstack-config --set /etc/glance/glance-registry.conf \\ paste_deploy flavor keystone # openstack-config --set /etc/glance/glance-registry.conf \\ keystone_authtoken admin_tenant_name admin # openstack-config --set /etc/glance/glance-registry.conf \\ keystone_authtoken admin_user admin # openstack-config --set /etc/glance/glance-registry.conf \\ keystone_authtoken admin_password PASSWORD (5)启动服务
# service openstack-glance-registry start # service openstack-glance-api start # chkconfig openstack-glance-registry on # chkconfig openstack-glance-api on 4.2.3 Cinder的安装与问题分析
以下是其安装和配置的主要过程。 (1)安装Cinder
# yum install -y openstack-cinder (2)设置环境变量 # source ~/keystonerc_admin (3)初始化数据库
# openstack-db --init --service cinder \\ --password PASSWORD (4)修改配置文件
# openstack-config --set /etc/cinder/cinder.conf DEFAULT auth_strategy keystone 23
南京邮电大学2015届本科生毕业设计(论文)
# openstack-config --set /etc/cinder/cinder.conf \\ keystone_authtoken admin_tenant_name admin # openstack-config --set /etc/cinder/cinder.conf \\ keystone_authtoken admin_user admin # openstack-config --set /etc/cinder/cinder.conf \\ keystone_authtoken admin_password PASSWORD (5)修改tgt配置文件
grep -q /etc/cinder/volumes /etc/tgt/targets.conf || sed -i '1iinclude /etc/cinder/volumes/*' /etc/tgt/targets.conf (6)启动tgt #service tgtd start #chkconfig tgtd on (7)创建cinder-volumes
使用一个空闲独立的分区,这里这个分区为/dev/sdb1 # vgcreate cinder-volumes /dev/sdb1 Volume group \(8) 启动服务
# for srv in api scheduler volume ; do \\ sudo service openstack-cinder-$srv start ; \\ done # for srv in api scheduler volume ; do \\ sudo chkconfig openstack-cinder-$srv on ; \\ done 4.2.4 Nova和Quantum的安装与问题分析
以下其安装和配置的主要过程。 (1)安装nova和cinderclient # yum install -y openstack-nova # yum install -y python-cinderclient (2)初始化数据库
# openstack-db --init --service nova \\ --password PASSWORD 24