首页 > 代码库 > OpenStack 部署总结之:通过本地yum源安装单节点openstack

OpenStack 部署总结之:通过本地yum源安装单节点openstack

通过外部网络的方式安装openstack可能会需要花费大量的事件在rpm包下载上,而且也有可能在某些客户现场不能访问外部网络环境,为了方便以及快速的安装,可以自己搭建一个yum源。本文从yum源的创建,到openstack单节点的安装,以及在安装的过程中出现的问题,做了一个完整的总结。


下载各安装源到本地

 

创建/root/centos目录,并进入该目录,执行以下命令

  • 下载 CentOS 源

安装是在 CentOS发行版下进行,所以首先将 CentOS 最新版 6.5 版本的源拿到本地。定位到放置源的本地路径,使用如下命令进行操作:

wget -S -c -r -np -Lhttp://mirrors.163.com/centos/6.5/--accept=rpm,gz,xml

CentOS官方会定期进行版本升级和部分安装依赖包的更新,我们还需要定期检查相关依赖包的变化,及时将升级的包同步到本地仓库中

创建/root/icehouse目录,并进入该目录,执行以下命令

 

  • 下载 OpenStack-Icehouse 版本的包

wget -c -r -np--reject=html,gif,A,D -nH https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/

创建/root/foreman_local_repo目录,并进入该目录,执行以下命令

  • 下载 foreman 插件包

wget -S-c -r -np -L http://yum.theforeman.org/plugins/1.5/el6/

 

创建/root/epel_local_repo目录,并进入该目录,执行以下命令

  • 下载 epel 包

wget -S-c -r -np -L http://dl.fedoraproject.org/pub/epel/6/.

创建/root/puppet_local_repo目录,并进入该目录,执行以下命令

  • 下载 puppet 包

wget -S-c -r -np -L https://yum.puppetlabs.com/el/6/.

创建/root/epel_test_local_repo目录,并进入该目录,执行以下命令

  • 下载 epel test 相关包

wget -S-c -r -np -L http://dl.fedoraproject.org/pub/epel/testing/6/.

 

 

删除不需要的文件

find ./-name index.html* | xarge rm -rf

find ./-name fedora-20 | xarge rm -rf

find ./-name fedora-19 | xarge rm -rf

find ./-name isos | xarge rm -rf

find ./-name i386 | xarge rm -rf
 

配置FTP

 

使用VSFTP来进行分享

安装

yum install vsftpd

启动

servicevsftpd start

 配置

在 /etc/vsftpd/vsftpd.conf 最后一行加上

use_localtime=YES 

将本地源的几个文件夹拷贝到/var/ftp目录下

 

删除centos/6.5/xen4/目录,否则在安装的主机中会出现如下问题

"libvirtError:internal error Cannot find suitable CPU model for given data

创建repodata信息

createrepo -p -d -o/var/ftp/centos /var/ftp/centos

createrepo-p -d -o /var/ftp/icehouse_local_repo /var/ftp/icehouse_local_repo

createrepo -p -d -o/var/ftp/foreman_local_repo /var/ftp/foreman_local_repo

createrepo -p -d -o/var/ftp/epel_local_repo /var/ftp/epel_local_repo

createrepo -p -d -o/var/ftp/puppet_local_repo /var/ftp/puppet_local_repo

createrepo -p -d -o/var/ftp/epel_test_local_repo /var/ftp/epel_test_local_repo
 

创建repo文件

针对创建的6个文件夹,分别创建对应的repo文件,以icehouse文件为例, 创建rdo-release.repo文件(有一点需要注意的是centos_local_repo中的容器名称一定要是base,epel_local_repo中的容器名称一定要是epel,别的可以随便起)

[openstack-icehouse]

name=OpenStackIcehouse Repository

baseurl=ftp://192.168.40.148/icehouse

enabled=1

gpgcheck=0

把生成的repo文件传到客户端的/etc/yum.repos.d/目录下

 

安装openstack

在需要安装 openstack的机器上执行下列操作

安装openstack-packstack

 yum install -y openstack-packstack

 

生成并修改packstack的answer文件

CONFIG_PROVISION_DEMO=n
CONFIG_KEYSTONE_ADMIN_PW=admin
#CONFIG_NEUTRON_L2_PLUGIN=openvswitch
CONFIG_NEUTRON_METERING_AGENT_INSTALL=y
CONFIG_NEUTRON_L2_PLUGIN=ml2
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=gre
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=gre
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=100:1000
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=100:1000
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
CONFIG_CINDER_VOLUMES_CREATE=n
#########
CONFIG_LBAAS_INSTALL=y
CONFIG_CEILOMETER_INSTALL=y
CONFIG_HEAT_CLOUDWATCH_INSTALL=y
CONFIG_HEAT_CFN_INSTALL=y
CONFIG_HEAT_INSTALL=y

 

配置网卡

DEVICE=eth0

HWADDR=44:33:E7:D1:D4:C4

TYPE=Ethernet

UUID=180283345-0a6f-478c-6f51-d87a128c5ab8

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.40.248

NETMASK=255.255.255.0

GATEWAY=192.168.40.1

DNS1=8.8.8.8


配置/etc/hosts

#127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4

127.0.0.1   localyumrepotest

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6

执行packstack命令

packstack--answer-file gre_allinone.txt

如果不用本地源的话,安装可能需要3-4个小时,现在只需要20分钟

创建网络,镜像,实例

安装成功后,登陆系统,创建网络,镜像,实例

配置宿主机网络

经过上面的配置以后,虽然已经可以成功的创建实例了,但是创建的虚拟机和外界还是隔离的,不能和外部环境进行通信,为了达到此目的,需要对宿主机的网络进行配置

配置方式请参考:http://blog.csdn.net/eric_sunah/article/details/38303191

 

 

 

 

 

 

 

 

OpenStack 部署总结之:通过本地yum源安装单节点openstack