OpenStack云计算快速入门之二:OpenStack安装与配置

本文详细介绍了在3台物理机上搭建OpenStack云平台的步骤,包括Server1、Server2和Client1的配置。Server1作为核心服务节点,承载Nova、Glance、Swift、Keystone和Horizon等服务,Server2运行Nova运算工作站,Client1用于制作打包镜像和管理。安装过程涉及OS安装、网络配置、NTP、数据库、Keystone服务、Swift服务的设置,以及Nova组件的安装和配置。
摘要由CSDN通过智能技术生成

第二部分 OpenStack安装与配置

一、引言


本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1Server2Client1,之后的各章也是如此。Server1承载着NovaGlanceSwiftKeystoneHorizonOpenStackWeb UI)服务。Server2只用来运行实例管理的nova运算工作站。由于OpenStack组件采用分布式结构,其中的任何一部分或几个部分都可以安装在任意服务器上。


Client1并不是安装所必须的,在本例中,它仅用来制作打包镜像,并使用它访问HorizonWeb上管理OpenStack设施。于是就避免了使用服务器来完成镜像打包等诸如此类的任务了,而且在制作桌面系统镜像时如果包含视窗界面的话,我们也只能相应地使用有GUI的电脑来完成,故而最好还是别在服务器上玩火了吧。建议Client1支持虚拟化技术,以便在制作完镜像打包时可以运行KVM



    OpenStack安装需要设定主机名、IP地址等,按你实际的环境进行配置。下表是译者安装的网络参数清单:


    以下是教程中网络设置参数, 本教程均采用这些参数,但在实际安装中请参照上表进行设置

二、Server1


    正如上表所示,Server1包含了所有的Nova服务:nova-computenova-apinova-volumenova-network以及GlanceSwiftKeystoneHorizon。这台服务器上需要双网卡。


(一)安装底层OS


不必多想,请参照下述说明,记住相关参数,选择64Ubuntu12.04版,进行安装。

l 创建的第一个用户命名为“localadmin

l 为eth0eth1设定IP及其相关参数

    l 在安装服务包中,仅选择“Openssh-server”作为预装项


因为Server1上也将安装nova-volume软件,而nova-volume需要一块专用分区,所以在安装Ubuntu Server时请选择手动分区,并另行创建一块合适大小的分区。从本章起,教程都将以/dev/sda6作为这块分区。你可以根据自己分区的实际情况进行修改。此外,请使用fdisk工具将该分区需要格式化为LVM8e)格式,这一操作在安装中或刚安装完毕格式化均可。进一步,如果你还计划在这台服务器上再新建一个分区配给Swift的话,那么就新建一块分区并参照本章后文“安装Swift”一节相关内容进行安装。

待12.04的UbuntuOS安装完毕后 ,使用下列命令更新系统:

    sudo apt-get update

    sudo apt-get upgrade


安装网桥工具bridge-utils

sudo apt-get install bridge-utils


(二)配置网络


编辑/etc/network/interfaces文件,如下所示:

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

  address 10.10.10.2

  netmask 255.255.255.0

  broadcast 10.10.10.255

  gateway 10.10.10.1

  dns-nameservers 10.10.8.3

auto eth1

iface eth1 inet static

  address 192.168.3.1

  netmask 255.255.255.0

  network 192.168.3.0

  broadcast 192.168.3.255


随后重新启动网络:

sudo /etc/init.d/networking restart


(三)NTP服务器


安装NTP软件包。这个时间服务器将为所有节点提供支持。OpenStack所有组件的时间都必须同步,于是我们就在Server1上安装NTP服务并且让其他服务器或节点与之保持同步。

    sudo apt-get install ntp

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


打开文件/etc/ntp.conf增加以下三行内容,目的是让本服务器时间与外部服务器时间同步。如果不能访问外网,NTP服务器将使用本机硬件时钟作为第二选择。

 server ntp.ubuntu.com

 server 127.127.1.0

 fudge 127.127.1.0 stratum 10


然后重启NTP使配置生效:

sudo service ntp restart

请确保服务器IP地址可以被DNS解析。如果不能,则在/etc/hosts文件中手工加入。


(四)数据库


我们有很多选择:MySQLPostgreSQL或者SQLite等都能很好地对NovaGlance提供数据支持。究竟选哪个,自己定吧。本例中采用MySQL


MySQL

安装mysql-serverpython-mysqldb包:

sudo apt-get install mysql-server python-mysqldb


mysql创建root密码,在此使用“mygreatsecret”。随后编辑mysql配置文件/etc/mysql/my.cnf,将绑定地址从127.0.0.1改为0.0.0.0,如下所示:

bind-address = 0.0.0.0


重启MySQL服务器让其开始监听所有端口:

sudo restart mysql


创建数据库

我们将要为novaglancekeystone创建很多东东,各种数据库、表及用户。话音未落,这就开始了:


创建名为“nova”的数据库:

sudo mysql -uroot -pmygreatsecret -e 'CREATE DATABASE nova;'


新建一个用户,名为“novadbadmin”:

sudo mysql -uroot -pmygreatsecret -e 'CREATE USER novadbadmin;'


授予novadbadmin用户nova数据库全部权限:

sudo mysql -uroot -pmygreatsecret -e "GRANT ALL PRIVILEGES ON nova.* TO 'novadbadmin'@'%';"


novadbadmin同志创建密码(译者注:密码是novasecret,后文类似之处不多言,请详见命令):

sudo mysql -uroot -pmygreatsecret -e "SET PASSWORD FOR 'novadbadmin'@'%' = PASSWORD('novasecret');"


Glance登场,还是重复刚才的道道,首先创建一个名为glance的数据库:

sudo mysql -uroot -pmygreatsecret -e 'CREATE DATABASE glance;'


然后为这个新建的数据库添加一个用户“glancedbadmin”:

sudo mysql -uroot -pmygreatsecret -e 'CREATE USER glancedbadmin;'


接着,光荣授予他本数据库的全部权限:

sudo mysql -uroot -pmygreatsecret -e "GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%';"


是的,最后一步,为该用户分配密码:

sudo mysql -uroot -pmygreatsecret -e "SET PASSWORD FOR 'glancedbadmin'@'%' = PASSWORD('glancesecret');"


很烦的,keystone出场了。刚才的大循环,至此开始演绎第三遍:

sudo mysql -uroot -pmygreatsecret -e 'CREATE DATABASE keystone;'

sudo mysql -uroot -pmygreatsecret -e 'CREATE USER keystonedbadmin;'

sudo mysql -uroot -pmygreatsecret -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystonedbadmin'@'%';"

sudo mysql -uroot -pmygreatsecret -e "SET PASSWORD FOR 'keystonedbadmin'@'%' = PASSWORD('keystonesecret')"

现在,MySQL部分的工作结束。


(五)Keystone


KeystoneOpenStack的认证服务。使用以下命令进行安装:

sudo apt-get install keystone python-keystone python-keystoneclient


打开/etc/keystone/keystone.conf文件,将这一行:

admin_token = ADMIN

改为:

admin_token = admin

(本教程中我们将一直使用admin作为令牌)


本例中,我们使用MySQL来存储keystone配置,则将 /etc/keystone/keystone.conf中的这句配置:

connection = sqlite:var/lib/keystone/keystone.db

换成:

connection = mysql://keystonedbadmin:keystonesecret@10.10.10.2/keystone


然后,重启Keystone

sudo service keystone restart


接着,执行以下命令同步数据库:

sudo keystone-manage db_sync


最后,有些环境变量是OpenStack运行所必须的:

export SERVICE_ENDPOINT="http://localhost:35357/v2.0"

export SERVICE_TOKEN=admin

当然为了避免下次系统重启后,还得将这些变量再次export,最稳妥的办法就是将其写入~/.bashrc中。


创建租间

使用以下命令创建两个租间,adminservice

keystone tenant-create --name admin

keystone tenant-create --name service


创建用户

执行以下命令,创建四个用户adminnovaglanceswift

keystone user-create --name admin --pass admin --email admin@foobar.com 

keystone user-create --name nova --pass nova   --email nova@foobar.com

keystone user-create --name glance --pass glance   --email glance@foobar.com

keystone user-create --name swift --pass swift   --email swift@foobar.com


创建角色

使用命令创建两个角色,adminMember译者注:注意是大写M):

keystone role-creat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值