基于单节点单网卡环境的OpenStack平台搭建

2016-12-21 10:46周有利
电脑知识与技术 2016年28期
关键词:搭建

周有利

摘要:云平台包括三个层次的服务,分别是:基础设施级服务,平台级服务,软件级服务。描述OpenStack云平台架构及其核心组件的相互关系 ;OpenStack旗下包含了一组由社区维护的开源项目,它们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。笔者就OpenStack单节点平台搭建跟大家探讨

关键词:单节点;OpenStack;搭建

中图分类号:TP311.5 文献标识码:A 文章编号:1009-3044(2016)28-0060-03

在开源服务器操作系统Ubuntu上搭建一个开源的 Openstack云计算平台,集成nova、keystone、glance等云平台组件,提供以服务方式启动、停止Openstack云计算服务,提供以Web界面来管理镜像等资源。

要求能够根据给定的云计算设备和分配的IP地址,制定Openstack云计算平台规划方案,能够依据制定的规划方案在指定节点安装Ubuntu操作系统,安装MySQL数据库管理系统,创建数据库,集成nova、keystone、glance等云平台组件到Openstack云计算平台,能够以Web界面来操作Openstack云计算平台。

1 控制节点系统及环境安装

1.1 准备安装环境和软件

ubuntu-12.04-server-amd64.iso

1.2 设置 root 权限

# sudo passwd root

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

1.3 设置网络

本文档中的配置,是将 eth0 作为公网及管理网络和网桥虚拟网络。

单节点的情况下,网络控制器(运行nova-network)与计算(运行nova-compute,或者更确切的说,运行虚拟机实例)部署在一个主机。在这样情况下,我们就不要依赖控制点与计算机节点之间的通信,可以降低入门者的难度,为以后的深入研究打下基础。

单网卡时,我们可以使用一种混杂模式, public网络的接口 和flat网络的接口作为单节点的网络接口 。不过建立的网络与双网卡类似,都分为flat网络和public网络。使用单网卡,需要建立eth0模式, 在nova.conf中使public_interface和flat_interface的接口。并且重启网络,让修改生效:

# /etc/init.d/networking restart

1.4 安装 OS

Openstack 开始部分、基本部分都是来自Stackops, 我们在搭建Openstack的服务平台的时候。通常下载一个iso,安装通用的ubuntu系统,然后运转建立到普通的的web,在运行过程中不断的调整配置参数,我们在运行过程中不断的对chef分布调整。更新源里的包,更新系统。 注意先后顺序,调整数据包。

1.5 配置 SecureCRT

sshd_config 是 ssh 的配置文件,其中有一个选项PermitRootLogin 用来配置是否允许 root 用户登录,默认的without-password 表示不允许使用密码进行全登录认证,yes 则是允许 root 登录。

1.6 安装 bridge

# apt-get install bridge-utils

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

# /etc/init.d/networking restart

1.7 设置 NTP

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS 等等)做同步化,它可以提供高精准度的时间校正(LAN 上与标准间差小于1 毫秒,WAN 上几十毫秒),且可借由加密确认的方式来防止恶毒的协议攻击。

2 安装 mysql 和创建相关数据库

OpenStack 云平台的组件:nova,keystone,glance,都需要数

据库。

2.1 安装 mysql

安装过程中,会提示输入 root 密码。(设置为 openstack)

# apt-get install -y mysql-server python-mysqldb 耗时长

2.2 安装 phpmyadmin(mysql 数据库的管理软件)

安装 phpmyadmin,是为了可以比较方便管理数据库:

# apt-get install phpmyadmin

安装的时候,首先出现图形化界面,选择第一个 apache(按空格键,出现*符号,表示已经选中);接着提示是输入 mysql 数据库root 用户的密码。

2.3 创建数据库

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

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

keystone 数据库, 管理员:keystonedbadmin,密码是:openstack

3 安装和配置 keystone(认证服务)

OpenStack中的所有组件可以称为服务,比如keystone、swift、nova等,服务的功能多有不同,swift负责存储数据对象,nova管理计算实例的生命周期,keystone为其他服务提供认证和授权等,而有些服务是属于共享范畴的,比如Keystone,为OpenStack中的所有其他服务管理者endpoint的目录,并负责认证和授权。 理解为访问OpenStack中所有服务的请求都需要通过keystone的认证和授权, Keystone守卫者的功能比较突出,进入其中的访客都需要经过的检查,认可了才可以进入其中。 系统的概括Keystone职责为:

1)跟踪用户及其权限

2)提供可用服务及它们API端点的目录

基本过程为:

1) 安装 keystone

2)配置 keystone

3)创建服务

# keystone service-create --name keystone --type identity

--description OPENSTACK Identity Service

4)验证安装

安装完后对用户名和密码进行设置验证

4 安装和配置 glance

4.1 安装软件

利用apt install安装glance

4.2 配置glance-api-paste.ini

# vi编辑修改文件参数

admin_tenant_name = %租户服务名称%

admin_user = %用户名%

admin_password = %服务密码 %

4.3 设置 / glance-registry-paste.ini参数

# vi / 存储目录下的glance-registry-paste.ini文件

修改方式和上面租户的修改方式一样

4.4 配置/etc/glance/glance-registry.conf

# vi /etc/glance/glance-registry.conf

4.5 配置/etc/glance/glance-api.conf

# vi /etc/glance/glance-api.conf

4.6 同步数据库

先安装 phpmyadmin ,因为glance 需要手工同步数据库 , 确认 glance 数据库内容为空。

#显示版本号

# glance-manage 显示版本名称

重启服务:

# service glance-api restart 激活系统,

运行以下命令,没有任何的输出。表示正常。

# glance index

# glance --version

输出结果:glance 2012.1

4.7 下载镜像并上传(可以上传本地镜像,不用下载。)

上传镜像:

# glance add name="Ubuntu 12.04 cloudimg amd64" is_public=true

container_format=ovf disk_format=qcow2 <

/root/precise-server-cloudimg-amd64-disk1.img

上传完镜像后,运行

# glance index

就可以看到上传的 image。

5 nova安装和服务配置

5.1 安装和设置nova及参数

使用apt-get命令安装以下组件: install nova-api、nova-cert、nova-common、nova-compute-kvm、nova-doc、nova-network、nova-objectstore、nova-scheduler、nova-volume、python-nova、python-novaclient、nova-consoleauth、python-novnc、novnc

5.2 配置 /etc/nova/nova.conf(重点)

# vi /etc/nova/nova.conf

5.3 配置/etc/nova/api-paste.ini

# vi /etc/nova/api-paste.ini

5.4 停止和重启 nova 相关服务

5.5 同步数据库

# nova-manage db sync

如出现图示中,则为正常。

创建网络

再重启相关服务:

5.6 检查 nova 服务

# nova list

# nova image-list

# nova floating-ip-create

#nova-manage service list

(state 的状态为笑脸表示该服务正常)

6 安装和配置 Dashbaord UI 界面

6.1 安装 dashbaord

# apt-get install libapache2-mod-wsgi openstack-dashboard

6.2 重启服务

# service apache2 restart

这个时候,就可以登录 dashboard:

http://192.168.1.110

user:admin password:openstack

以下部分不用执行:

添加用户角色到租户中:

1)添加环境变量

# echo "export MYSQL_URL=192.168.1.110" >>.bashrc

# echo "export MYSQL_USERNAME=keystonedbadmin" >>.bashrc

# echo "export MYSQL_PASSWORD=openstack" >>.bashrc

# echo "export MYSQL_DATABASE=keystone" >>.bashrc

2)使环境变量生效

# source .bashrc // 重新加载配置文件

3)调用编写python 脚本

我们在实际开发过程中会感觉到Java会比Python写得快。当你都掌握Java和Python这两门脚本编写方法之后。会感觉两者各有长处,有的时候发现用Python写这类程序的速度比用Java还要快。其实用Python在处理简短程序与操作系统的交互编程工作方面感觉更加省时省力。

7 结束语

作为一名走上工作岗位十几年的计算机方向的教师,虽然已经具备了一定的专业知识技能,但是对于新的知识,新技能,新技术的学习上,存在有一定的差距。深深感受到技术的进步,社会的发展,IT行业的飞速发展。通过这段时间的学习, 通过培训几门课程的学习,收获很大,以前一些“云计算”认识模糊的问题,现在搞清楚了,从前对于“大数据”模糊概念,现在有了深切的体验,如今也找到了理论支持,更为重要的是,我深深体会到,IT技术确是一门艺术,一门大学问,值得我用一生的精力去钻研。通过培训,我得到了很大的收获。

参考文献:

[1] 熊振华. 基于OPENSTACK云存储技术的研究[D]. 长春: 吉林大学, 2014.

[2] 郑路路. 基于OpenStack的资源调度算法研究[D]. 北京: 北京工业大学, 2014.

[3] 王霄飞. 基于OpenStack构建私有云计算平台[D]. 广州: 华南理工大学, 2012.

[4] 陈恂. OpenStack平台的虚拟机调度关键技术研究[D]. 杭州: 杭州电子科技大学, 2014.

[5] 付勋. 基于OpenStack的云平台调度算法设计与实现[D]. 北京: 北京邮电大学, 2014.

[6] 余海涛. 基于OpenStack开源云平台的网络模型研究[D]. 长春: 吉林大学, 2014.

猜你喜欢
搭建
计算机网络系统的搭建与网络优化
搭建青年成长“孵化园”引领青工成才路
搭建群众工作平台 服务群众
浅谈大型企业集团内部投资能力研究与预算模型搭建