一、配置网络
准备:安装两台最小化的CentOS7.2的虚拟机,分别添加两张网卡,分别为仅主机模式和NAT模式,并且计算节点设置为4G运行内存,50G硬盘
1、控制节点——配置网络
控制节点第一个网卡配置为192.168.100.10
控制节点第二个网卡配置为192.168.200.10
# (1)虚拟交换机的第一张网卡选择仅主机模式,配置为192.168.100.0网段,
# 第二张网卡选择NAT模式,配置为192.168.200.0网段;
# 网络适配器1选择为自定义仅主机模式,网络适配器2选择为自定义NAT模式。
# (2)编辑网络配置文件:
[root@controller ~]# cd /etc/sysconfig/network-scripts/
[root@controller network-scripts]# vim ifcfg-eno16777736
#需要修改的参数为:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
[root@controller network-scripts]# vim ifcfg-eno33554960
#需要修改的参数为:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.10
NETMASK=255.255.255.0
# (3)重启网络服务:
[root@controller network-scripts]# systemctl restart network
2、计算节点——配置网络
计算节点第一个网卡配置为192.168.100.20
计算节点第二个网卡配置为192.168.200.20
# (1)虚拟交换机的第一张网卡选择仅主机模式,配置为192.168.100.0网段,
# 第二张网卡选择NAT模式,配置为192.168.200.0网段;
# 网络适配器1选择为自定义仅主机模式,网络适配器2选择为自定义NAT模式。(同上操作)
# (2)编辑网络配置文件:
[root@compute ~]# cd /etc/sysconfig/network-scripts/
[root@compute network-scripts]# vim ifcfg-eno16777736
#需要修改的参数为:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0
[root@compute network-scripts]# vim ifcfg-eno33554960
#需要修改的参数为:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.20
NETMASK=255.255.255.0
# (3)重启网络服务:
[root@compute network-scripts]# systemctl restart network
二、挂载镜像
1、控制节点——上传镜像
使用SecureCRT工具,把CentOS和XianDian镜像上传到控制节点/root路径下
2、控制节点——挂载镜像
# 挂载CentOS镜像
mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
mkdir /opt/centos7.2
cp -rvf /mnt/* /opt/centos7.2/
umount /mnt/
# 挂载iaas镜像
mount -o loop XianDian-IaaS-v2.2.iso /mnt/
mkdir /opt/iaas
cp -rvf /mnt/* /opt/iaas/
umount /mnt/
三、配置yum源
1、控制节点——配置yum源
# 控制节点:
rm -rf /etc/yum.repos.d/CentOS-*;
cat > /etc/yum.repos.d/local.repo <
2、控制节点——搭建ftp服务
为计算节点提供ftp访问
# 安装vsftpd、ftp和网络工具包
yum install -y vsftpd
yum install -y ftp
yum install net-tools
# 修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
添加:anon_root=/opt
# 开启服务
systemctl restart vsftpd
systemctl enable vsftpd
# 关闭SELinux和防火墙
setenforce 0
iptables -F
iptables -X
iptables -Z
systemctl stop firewalld
systemctl disable firewalld
3、计算节点——配置yum源
计算节点使用ftp访问控制节点的yum
rm -rf /etc/yum.repos.d/CentOS-*;
cat > /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=ftp://192.168.16.10/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iass
baseurl=ftp://192.168.16.10/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF
#清理yum缓存:
yum clean all
yum makecache
# 关闭SELinux和防火墙
setenforce 0
iptables -F
iptables -X
iptables -Z
systemctl stop firewalld
systemctl disable firewalld
四、添加磁盘
1、计算节点——添加一个新磁盘
操作:打开虚拟机设置,添加一个磁盘大小为20G
2、分区
# 计算节点——重启虚拟机
reboot
# 查看磁盘情况
fdisk -l
# 创建两个磁盘空间
fdisk /dev/sdb
依次输入:n新建,p,回车(默认),回车(默认),+10G
n新建,p,回车(默认),回车(默认),回车(默认10G)
w完成
lsblk查看
五、安装iaas-xiandian包
1、控制节点、计算节点——安装软件包
# 控制节点、计算节点分别执行
yum install -y iaas-xiandian
2、修改配置文件
# 控制节点——修改配置文件
vi /etc/xiandian/openrc.sh
HOST_IP=192.168.100.10 #控制节点管理IP
HOST_NAME=controller #控制节点主机名
HOST_IP_NODE=192.168.100.20 #计算节点管理IP
HOST_NAME_NODE=compute #计算节点主机名
RABBIT_USER=openstack #RabbitMQ消息队列用户名
DOMAIN_NAME=demo #域名可自定义
INTERFACE_NAME=eno33554960 #第二个网卡的网卡名称
BLOCK_DISK=sdb1 #Cinder存储磁盘名称
OBJECT_DISK=sdb2 #Siwft存储磁盘分区名称
STORAGE_LOCAL_NET_IP=192.168.100.20 #Swift存储网络节点IP
#所有的密码都是000000
# 控制节点——将配置文件拷贝到计算节点
scp /etc/xiandian/openrc.sh 192.168.100.10:/etc/xiandian
点击查看具体配置
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.16.10
##Controller HOST Password. example:000000
HOST_PASS=000000
##Controller Server hostname. example:controller
HOST_NAME=controller
##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.16.20
##Compute HOST Password. example:000000
HOST_PASS_NODE=000000
##Compute Node hostname. example:compute
HOST_NAME_NODE=compute
##--------------------Chrony Config-------------------##
##Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.16.0/24
##--------------------Rabbit Config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack
##Password for rabbit user .example:000000
RABBIT_PASS=000000
##--------------------MySQL Config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000
##--------------------Keystone Config------------------##
##Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
##--------------------Glance Config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
##--------------------Neturon Config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
##Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.16.10/192.168.16.20
##External Network Interface. example:eth1
INTERFACE_NAME=eno33554960
##External Network The Physical Adapter. example:provider
Physical_NAME=provider
##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1
##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=2000
##--------------------Cinder Config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
##Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1
##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
##The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2
##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.16.20
##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
##--------------------Zun Config-----------------------##
##Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000
##Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000
##Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000
##Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000
##--------------------Ceilometer Config----------------##
##Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
##--------------------AODH Config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
##Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
##--------------------Barbican Config----------------##
##Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
##Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
六、执行脚本
1、使用脚本安装openstack平台
# 控制节点、计算节点——安装基础服务:
iaas-pre-host.sh
# 控制节点——安装mysql数据库服务:
iaas-install-mysql.sh
# 控制节点——安装keystone服务:
iaas-install-keystore.sh
# 控制节点——安装glance服务:
iaas-install-glance.sh
# 控制节点——安装nova服务:
iaas-install-nova-controller.sh
# 计算节点——安装nova服务
iaas-install-nova-compute.sh
# 控制节点——安装neutron
iaas-install-neutron-controller.sh
# 错误处理——修改脚本:
vi /usr/local/bin/iaas-install-neutron-controller-gre.sh
将最后一行的 systemctl enabled neutron-lbaas-agent
改为 systemctl enable neutron-lbaas-agent
# 再执行下面的脚本:
iaas-install-neutron-controller-gre.sh
# 计算节点——安装neutron
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh
# 控制节点——安装dashboard
iaas-install-dashboard.sh
2、访问dashboard服务
打开浏览器访问http://192.168.100.10/dashboard
域名:deno、用户名:admin、密码:000000
声明:未经许可,不得转载