OpenStack——云平台部署

一、配置网络 准备:安装两台最小化的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源 【OpenStack——云平台部署】计算节点使用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.shHOST_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
声明:未经许可,不得转载

    推荐阅读