原文地址:http://www.hdume.com/centos-7-0%E5%AE%89%E8%A3%85openstack/
1、安装系统,Centos7镜像采用CentOS-7.0-1406-x86_64-Minimal.iso
分区/、boot、swap,然后单独拿出一个分区,供cinder使用。
2、系统环境准备工作
yum install -y net-tools wget screen [root@juno ~]# more /etc/hosts 127.0.0.1 juno localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.3.97 juno [root@juno yum.repos.d]# more /etc/resolv.conf # Generated by NetworkManager nameserver 8.8.8.8 [root@juno yum.repos.d]# cd /etc/sysconfig/network-scripts/ vi ifcfg-enp3s0 vi ifcfg-enp5s2 [root@juno network-scripts]# more /etc/sysconfig/network # Created by anaconda NETWORKING=yes HOSTNAME=juno GATEWAY=192.168.3.1 [root@juno yum.repos.d]# systemctl disable NetworkManager rm '/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service' rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service' rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service' [root@juno yum.repos.d]# systemctl stop NetworkManager vi /etc/selinux/config # SELINUX=enforcing SELINUX=disabled setenforce 0 yum install -y lvm2 [root@juno ~]# df -h /dev/sda2 855G 1.2G 810G 1% / devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs 7.7G 8.6M 7.7G 1% /run tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/sda5 48G 53M 46G 1% /data /dev/sda1 190M 106M 71M 61% /boot [root@juno ~]# umount /dev/sda5 [root@juno ~]# pvcreate /dev/sda5 Physical volume "/dev/sda5" successfully created [root@juno ~]# vgcreate cinder-volumes /dev/sda5 Volume group "cinder-volumes" successfully created 去掉/dev/sda5在/etc/fstab中的启动项
3、准备rdo安装环境
yum install -y http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm #会在/etc/yum.repos.d目录增加rdo-release.repo源文件。 yum install -y openstack-packstack [root@juno yum.repos.d]# more /etc/redhat-release CentOS Linux release 7.0.1406 (Core) [root@juno yum.repos.d]# yum update -y #会在/etc/yum.repos.d目录增加CentOS-fasttrack.repo源文件。 更新完系统,执行重启 reboot [root@juno ~]# packstack --gen-answer-file=juno.txt 创建应答文件 Packstack changed given value to required value /root/.ssh/id_rsa.pub
4、修改应答文件,因为测试环境所限,我是单独节点安装所有模块测试,网络模式采用VLAN,应答文件如下
[root@juno ~]# more juno.txt |grep "^s*[^# g].*$" |more [general] CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub CONFIG_DEFAULT_PASSWORD= CONFIG_MARIADB_INSTALL=y CONFIG_GLANCE_INSTALL=y CONFIG_CINDER_INSTALL=y CONFIG_NOVA_INSTALL=y CONFIG_NEUTRON_INSTALL=y CONFIG_HORIZON_INSTALL=y CONFIG_SWIFT_INSTALL=y CONFIG_CEILOMETER_INSTALL=y CONFIG_HEAT_INSTALL=y CONFIG_SAHARA_INSTALL=y CONFIG_TROVE_INSTALL=y CONFIG_IRONIC_INSTALL=n CONFIG_CLIENT_INSTALL=y CONFIG_NTP_SERVERS= CONFIG_NAGIOS_INSTALL=y EXCLUDE_SERVERS= CONFIG_DEBUG_MODE=n CONFIG_CONTROLLER_HOST=192.168.3.97 CONFIG_COMPUTE_HOSTS=192.168.3.97 CONFIG_NETWORK_HOSTS=192.168.3.97 CONFIG_VMWARE_BACKEND=n CONFIG_UNSUPPORTED=n CONFIG_VCENTER_HOST= CONFIG_VCENTER_USER= CONFIG_VCENTER_PASSWORD= CONFIG_VCENTER_CLUSTER_NAME= CONFIG_STORAGE_HOST=192.168.3.97 CONFIG_SAHARA_HOST=192.168.3.97 CONFIG_USE_EPEL=n CONFIG_REPO= CONFIG_RH_USER= CONFIG_SATELLITE_URL= CONFIG_RH_PW= CONFIG_RH_OPTIONAL=y CONFIG_RH_PROXY= CONFIG_RH_PROXY_PORT= CONFIG_RH_PROXY_USER= CONFIG_RH_PROXY_PW= CONFIG_SATELLITE_USER= CONFIG_SATELLITE_PW= CONFIG_SATELLITE_AKEY= CONFIG_SATELLITE_CACERT= CONFIG_SATELLITE_PROFILE= CONFIG_SATELLITE_FLAGS= CONFIG_SATELLITE_PROXY= CONFIG_SATELLITE_PROXY_USER= CONFIG_SATELLITE_PROXY_PW= CONFIG_AMQP_BACKEND=rabbitmq CONFIG_AMQP_HOST=192.168.3.97 CONFIG_AMQP_ENABLE_SSL=n CONFIG_AMQP_ENABLE_AUTH=n CONFIG_AMQP_NSS_CERTDB_PW=PW_PLACEHOLDER CONFIG_AMQP_SSL_PORT=5671 CONFIG_AMQP_SSL_CERT_FILE=/etc/pki/tls/certs/amqp_selfcert.pem CONFIG_AMQP_SSL_KEY_FILE=/etc/pki/tls/private/amqp_selfkey.pem CONFIG_AMQP_SSL_SELF_SIGNED=y CONFIG_AMQP_AUTH_USER=amqp_user CONFIG_AMQP_AUTH_PASSWORD=PW_PLACEHOLDER CONFIG_MARIADB_HOST=192.168.3.97 CONFIG_MARIADB_USER=root CONFIG_MARIADB_PW=admin CONFIG_KEYSTONE_DB_PW=78d5d08b30644917 CONFIG_KEYSTONE_REGION=RegionOne CONFIG_KEYSTONE_ADMIN_TOKEN=3871e97281ce498484702b2b3736984e CONFIG_KEYSTONE_ADMIN_PW=admin CONFIG_KEYSTONE_DEMO_PW=c94e522543e146ff CONFIG_KEYSTONE_TOKEN_FORMAT=UUID CONFIG_KEYSTONE_SERVICE_NAME=keystone CONFIG_GLANCE_DB_PW=dca7672288cd48e0 CONFIG_GLANCE_KS_PW=375af473510a40f2 CONFIG_GLANCE_BACKEND=file CONFIG_CINDER_DB_PW=cf3507ecc6f649cb CONFIG_CINDER_KS_PW=6b342a947f1a4bbd CONFIG_CINDER_BACKEND=lvm CONFIG_CINDER_VOLUMES_CREATE=n CONFIG_CINDER_VOLUMES_SIZE=20G CONFIG_CINDER_GLUSTER_MOUNTS= CONFIG_CINDER_NFS_MOUNTS= CONFIG_CINDER_NETAPP_LOGIN= CONFIG_CINDER_NETAPP_PASSWORD= CONFIG_CINDER_NETAPP_HOSTNAME= CONFIG_CINDER_NETAPP_SERVER_PORT=80 CONFIG_CINDER_NETAPP_STORAGE_FAMILY=ontap_cluster CONFIG_CINDER_NETAPP_TRANSPORT_TYPE=http CONFIG_CINDER_NETAPP_STORAGE_PROTOCOL=nfs CONFIG_CINDER_NETAPP_SIZE_MULTIPLIER=1.0 CONFIG_CINDER_NETAPP_EXPIRY_THRES_MINUTES=720 CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_START=20 CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_STOP=60 CONFIG_CINDER_NETAPP_NFS_SHARES_CONFIG= CONFIG_CINDER_NETAPP_VOLUME_LIST= CONFIG_CINDER_NETAPP_VFILER= CONFIG_CINDER_NETAPP_VSERVER= CONFIG_CINDER_NETAPP_CONTROLLER_IPS= CONFIG_CINDER_NETAPP_SA_PASSWORD= CONFIG_CINDER_NETAPP_WEBSERVICE_PATH=/devmgr/v2 CONFIG_CINDER_NETAPP_STORAGE_POOLS= CONFIG_IRONIC_DB_PW=PW_PLACEHOLDER CONFIG_IRONIC_KS_PW=PW_PLACEHOLDER CONFIG_NOVA_DB_PW=c2f2d1bc94814b8e CONFIG_NOVA_KS_PW=6886922f1e6a4cf7 CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO=16.0 CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=1.5 CONFIG_NOVA_COMPUTE_MIGRATE_PROTOCOL=tcp CONFIG_NOVA_COMPUTE_MANAGER=nova.compute.manager.ComputeManager CONFIG_NOVA_COMPUTE_PRIVIF=eth1 CONFIG_NOVA_NETWORK_MANAGER=nova.network.manager.FlatDHCPManager CONFIG_NOVA_NETWORK_PUBIF=eth0 CONFIG_NOVA_NETWORK_PRIVIF=eth1 CONFIG_NOVA_NETWORK_FIXEDRANGE=192.168.32.0/22 CONFIG_NOVA_NETWORK_FLOATRANGE=10.3.4.0/22 CONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP=n CONFIG_NOVA_NETWORK_VLAN_START=100 CONFIG_NOVA_NETWORK_NUMBER=1 CONFIG_NOVA_NETWORK_SIZE=255 CONFIG_NEUTRON_KS_PW=7fd81ee3de7b41b1 CONFIG_NEUTRON_DB_PW=e19456a13e434acb CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex CONFIG_NEUTRON_METADATA_PW=fb5fa018c53646d3 CONFIG_LBAAS_INSTALL=y CONFIG_NEUTRON_METERING_AGENT_INSTALL=y CONFIG_NEUTRON_FWAAS=y CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch CONFIG_NEUTRON_ML2_FLAT_NETWORKS=* CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:100:200 CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES= CONFIG_NEUTRON_ML2_VXLAN_GROUP= CONFIG_NEUTRON_ML2_VNI_RANGES=100:200 CONFIG_NEUTRON_L2_AGENT=openvswitch CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS= CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-enp5s2 CONFIG_NEUTRON_OVS_BRIDGE_IFACES= CONFIG_NEUTRON_OVS_TUNNEL_IF=enp5s2 CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789 CONFIG_HORIZON_SSL=n CONFIG_SSL_CERT= CONFIG_SSL_KEY= CONFIG_SSL_CACHAIN= CONFIG_SWIFT_KS_PW=0d90462a1e2e4c14 CONFIG_SWIFT_STORAGES= CONFIG_SWIFT_STORAGE_ZONES=1 CONFIG_SWIFT_STORAGE_REPLICAS=1 CONFIG_SWIFT_STORAGE_FSTYPE=ext4 CONFIG_SWIFT_HASH=1d5b883396514de8 CONFIG_SWIFT_STORAGE_SIZE=20G CONFIG_HEAT_DB_PW=PW_PLACEHOLDER CONFIG_HEAT_AUTH_ENC_KEY=0cae8679b6dd4a31 CONFIG_HEAT_KS_PW=PW_PLACEHOLDER CONFIG_HEAT_CLOUDWATCH_INSTALL=y CONFIG_HEAT_CFN_INSTALL=y CONFIG_HEAT_DOMAIN=heat CONFIG_HEAT_DOMAIN_ADMIN=heat_admin CONFIG_HEAT_DOMAIN_PASSWORD=PW_PLACEHOLDER CONFIG_PROVISION_DEMO=n CONFIG_PROVISION_TEMPEST=n CONFIG_PROVISION_TEMPEST_USER= CONFIG_PROVISION_TEMPEST_USER_PW=403fa0c693484e25 CONFIG_PROVISION_DEMO_FLOATRANGE=172.24.4.224/28 CONFIG_PROVISION_CIRROS_URL=http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img CONFIG_PROVISION_TEMPEST_REPO_URI=https://github.com/openstack/tempest.git CONFIG_PROVISION_TEMPEST_REPO_REVISION=master CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE=n CONFIG_SAHARA_DB_PW=PW_PLACEHOLDER CONFIG_SAHARA_KS_PW=PW_PLACEHOLDER CONFIG_CEILOMETER_SECRET=a43e0ca10abb412c CONFIG_CEILOMETER_KS_PW=77a5276982054c8a CONFIG_CEILOMETER_COORDINATION_BACKEND=redis CONFIG_MONGODB_HOST=192.168.3.97 CONFIG_REDIS_HOST=192.168.3.97 CONFIG_REDIS_PORT=6379 CONFIG_TROVE_DB_PW=PW_PLACEHOLDER CONFIG_TROVE_KS_PW=PW_PLACEHOLDER CONFIG_TROVE_NOVA_USER=admin CONFIG_TROVE_NOVA_TENANT=services CONFIG_TROVE_NOVA_PW=PW_PLACEHOLDER CONFIG_NAGIOS_PW=admin [root@juno ~]#
5、执行安装
screen packstack --answer-file=juno.txt #会在/etc/yum.repos.d目录增加epel-testing.repo和epel.repo源文件
6、安装过程输出
[root@juno ~]# screen packstack --answer-file=juno.txt Welcome to the Packstack setup utility The installation log file is available at: /var/tmp/packstack/20150114-101431-ohUx_Z/openstack-setup.log Installing: Clean Up [ DONE ] Setting up ssh keys [ DONE ] Discovering hosts' details [ DONE ] Adding pre install manifest entries [ DONE ] Preparing servers [ DONE ] Adding AMQP manifest entries [ DONE ] Adding MariaDB manifest entries [ DONE ] Adding Keystone manifest entries [ DONE ] Adding Glance Keystone manifest entries [ DONE ] Adding Glance manifest entries [ DONE ] Adding Cinder Keystone manifest entries [ DONE ] Checking if the Cinder server has a cinder-volumes vg[ DONE ] Adding Cinder manifest entries [ DONE ] Adding Nova API manifest entries [ DONE ] Adding Nova Keystone manifest entries [ DONE ] Adding Nova Cert manifest entries [ DONE ] Adding Nova Conductor manifest entries [ DONE ] Creating ssh keys for Nova migration [ DONE ] Gathering ssh host keys for Nova migration [ DONE ] Adding Nova Compute manifest entries [ DONE ] Adding Nova Scheduler manifest entries [ DONE ] Adding Nova VNC Proxy manifest entries [ DONE ] Adding OpenStack Network-related Nova manifest entries[ DONE ] Adding Nova Common manifest entries [ DONE ] Adding Neutron API manifest entries [ DONE ] Adding Neutron Keystone manifest entries [ DONE ] Adding Neutron L3 manifest entries [ DONE ] Adding Neutron L2 Agent manifest entries [ DONE ] Adding Neutron DHCP Agent manifest entries [ DONE ] Adding Neutron LBaaS Agent manifest entries [ DONE ] Adding Neutron Metering Agent manifest entries [ DONE ] Adding Neutron Metadata Agent manifest entries [ DONE ] Checking if NetworkManager is enabled and running [ DONE ] Adding OpenStack Client manifest entries [ DONE ] Adding Horizon manifest entries [ DONE ] Adding Swift Keystone manifest entries [ DONE ] Adding Swift builder manifest entries [ DONE ] Adding Swift proxy manifest entries [ DONE ] Adding Swift storage manifest entries [ DONE ] Adding Swift common manifest entries [ DONE ] Adding Heat manifest entries [ DONE ] Adding Heat Keystone manifest entries [ DONE ] Adding Heat CloudWatch API manifest entries [ DONE ] Adding Heat CloudFormation API manifest entries [ DONE ] Adding Sahara Keystone manifest entries [ DONE ] Adding Sahara manifest entries [ DONE ] Adding MongoDB manifest entries [ DONE ] Adding Redis manifest entries [ DONE ] Adding Ceilometer manifest entries [ DONE ] Adding Ceilometer Keystone manifest entries [ DONE ] Adding Trove Keystone manifest entries [ DONE ] Adding Trove manifest entries [ DONE ] Adding Nagios server manifest entries [ DONE ] Adding Nagios host manifest entries [ DONE ] Adding post install manifest entries [ DONE ] Installing Dependencies [ DONE ] Copying Puppet modules and manifests [ DONE ] Applying 192.168.3.97_prescript.pp 192.168.3.97_prescript.pp: [ DONE ] Applying 192.168.3.97_amqp.pp Applying 192.168.3.97_mariadb.pp 192.168.3.97_amqp.pp: [ DONE ] 192.168.3.97_mariadb.pp: [ DONE ] Applying 192.168.3.97_keystone.pp Applying 192.168.3.97_glance.pp Applying 192.168.3.97_cinder.pp 192.168.3.97_keystone.pp: [ DONE ] 192.168.3.97_glance.pp: [ DONE ] 192.168.3.97_cinder.pp: [ DONE ] Applying 192.168.3.97_api_nova.pp 192.168.3.97_api_nova.pp: [ DONE ] Applying 192.168.3.97_nova.pp 192.168.3.97_nova.pp: [ DONE ] Applying 192.168.3.97_neutron.pp 192.168.3.97_neutron.pp: [ DONE ] Applying 192.168.3.97_osclient.pp Applying 192.168.3.97_horizon.pp 192.168.3.97_osclient.pp: [ DONE ] 192.168.3.97_horizon.pp: [ DONE ] Applying 192.168.3.97_ring_swift.pp 192.168.3.97_ring_swift.pp: [ DONE ] Applying 192.168.3.97_swift.pp 192.168.3.97_swift.pp: [ DONE ] Applying 192.168.3.97_heat.pp Applying 192.168.3.97_heatcw.pp Applying 192.168.3.97_heatcnf.pp 192.168.3.97_heat.pp: [ DONE ] 192.168.3.97_heatcnf.pp: [ DONE ] 192.168.3.97_heatcw.pp: [ DONE ] Applying 192.168.3.97_sahara.pp 192.168.3.97_sahara.pp: [ DONE ] Applying 192.168.3.97_mongodb.pp Applying 192.168.3.97_redis.pp 192.168.3.97_mongodb.pp: [ DONE ] 192.168.3.97_redis.pp: [ DONE ] Applying 192.168.3.97_ceilometer.pp 192.168.3.97_ceilometer.pp: [ DONE ] Applying 192.168.3.97_trove.pp 192.168.3.97_trove.pp: [ DONE ] Applying 192.168.3.97_nagios.pp Applying 192.168.3.97_nagios_nrpe.pp 192.168.3.97_nagios.pp: [ DONE ] 192.168.3.97_nagios_nrpe.pp: [ DONE ] Applying 192.168.3.97_postscript.pp 192.168.3.97_postscript.pp: [ DONE ] Applying Puppet manifests [ DONE ] Finalizing [ DONE ] **** Installation completed successfully ****** Additional information: * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * File /root/keystonerc_admin has been created on OpenStack client host 192.168.3.97. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://192.168.3.97/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * To use Nagios, browse to http://192.168.3.97/nagios username: nagiosadmin, password: admin * The installation log file is available at: /var/tmp/packstack/20150114-101431-ohUx_Z/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20150114-101431-ohUx_Z/manifests [screen is terminating] [root@juno ~]#
7、根据安装打印输出,访问Horizon,开启openstack之旅呗