首页 > 代码库 > 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