openstack平台搭建(先电版)

2019-04-13 13:14发布

一,所需软件

1,XianDian-IaaS-v2.2.iso (版本不同,基本服务差别不大。)2,CentOS-7-x86_64-DVD-1511.iso //所有脚本在安装过iaas-xiandian后以命令形式直接执行 //注意分辨那个节点需执行那个脚本,可用TAB键补全) // 脚本均在/usr/local/bin/目录下 //有可能漏有过程或者错误的步骤,遇到问题请提问,不要做不下去还继续做。

二:系统安装设置

时区选择上海 关闭dump 手动分区 语言英语note:这里计算节点服务器里有两个硬盘,只选择一个小的作为系统分区,另一块备用。

三,IP及主机名设置

controller:enp8s0:192.168.100.10 enp9s0:192.168.200.10 compute:enp8s0:192.168.100.20 enp9s0:192.168.200.20   note: 这里enp8s0是第一块网卡,enp9s0为第二个网卡,具体情况结合实际。

四,安装步骤

1-2.配置网络,主机名

(1)controller节点vi /etc/sysconfig/network-scripts/ifcfg-enp*(具体网口文件)。enp8s0: 192.168.100.10      enp9s0: 192.168.200.10
配置主机名# hostnamectl set-hostname controller按ctrl+d 退出 重新登陆
(2)compute 节点配置网络:enp8s0: 192.168.100.20 enp9s0: 192.168.200.20         配置主机名# hostnamectl set-hostname compute按ctrl+d 退出 重新登陆                        note: 第二块网卡不要配置网关,否则后面执行 iaas-pre-host.sh 脚本后网络瘫痪。配置域名解析controller和compute节点修改配置文件/etc/hosts增加如下内容192.168.100.10 controller192.168.100.20 compute

关闭防火墙并设置开机不自启#controller和compute节点systemctl stop firewalldsystemctl disable firewalld
   配置selinux     controller和compute节点修改配置文件/etc/selinux/configSELINUX=permissive //表示系统会收到警告消息,但是不会受到限制
 note:这里修改后重启才会生效,可以用setenforce 0临时关闭,getenforce查看状态。


1-3 配置yum源

a.删除yum源配置文件#controller和compute节点rm -rf /etc/yum.repos.d/*b.创建repo文件vi /etc/yum.repos.d/centos.repo[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1[iaas]name=iaasbaseurl=file:///opt/iaas/iaas-repogpgcheck=0enabled=1
# computecentos.repo
[centos]name=centosbaseurl=ftp://192.168.100.10/centosgpgcheck=0enabled=1[iaas]name=iaasbaseurl=ftp://192.168.100.10/iaas/iaas-repogpgcheck=0enabled=1
c.挂载iso文件 [root@controller ~]# mount CentOS-7-x86_64-DVD-1511.iso  /opt/centos [root@controller ~]# mount -o loop XianDian-IaaS-v2.2.iso  /opt/iaas note:这里为直接挂载,随时可以取消挂载即会失效。和以下复制到本地区别为重启后无需重新挂载。当然,也可以在/etc/fstab配置文件里添加一行,使系统开机自动挂载。  复制到本地,如下
配置主机名
# hostnamectl set-hostname controller按ctrl+d 退出 重新登陆  centos7.0以后hostname <主机名>为临时主机名, hostnamectl set-hostname <主机名>为永久性,可在/etc/hostname配置文件里查看。

d.搭建ftp服务器,开启并设置自启[root@controller ~]# yum install vsftpd –y[root@controller ~]# vi /etc/vsftpd/vsftpd.conf添加anon_root=/opt/ //匿名访问目录保存退出[root@controller ~]# systemctl start vsftpd[root@controller ~]# systemctl enable vsftpd
 e.清除缓存,验证yum源#controller和compute节点# yum clean all# yum list

1-4 编辑环境变量

#controller和compute节点
# yum install iaas-xiandian -y 编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。
HOST_IP=192.168.100.10HOST_NAME=controllerHOST_IP_NODE=192.168.100.20HOST_NAME_NODE=computeRABBIT_USER=openstackRABBIT_PASS=000000DB_PASS=000000DOMAIN_NAME=demo(自定义)ADMIN_PASS=000000DEMO_PASS=000000KEYSTONE_DBPASS=000000GLANCE_DBPASS=000000GLANCE_PASS=000000NOVA_DBPASS=000000NOVA_PASS=000000NEUTRON_DBPASS=000000NEUTRON_PASS=000000METADATA_SECRET=000000INTERFACE_NAME=enp9s0(外网网卡名,此外网指的是云主机通外部网络的网卡,即服务器内网网卡)CINDER_DBPASS=000000CINDER_PASS=000000TROVE_DBPASS=000000TROVE_PASS=000000BLOCK_DISK=md126p4(空白分区名)//结合具体分区名SWIFT_PASS=000000OBJECT_DISK=md126p5(空白分区名)STORAGE_LOCAL_NET_IP=192.168.100.20(计算节点ip)HEAT_DBPASS=000000HEAT_PASS=000000CEILOMETER_DBPASS=000000CEILOMETER_PASS=000000AODH_DBPASS=000000AODH_PASS=000000
 可以使用scp命令直接将此配置文件从controller节点复制到compute节点

1-5 通过脚本安装服务

# Controller节点和Compute节点[root@controller ~]# iaas-pre-host.sh[root@compute ~]# iaas-pre-host.sh
执行完毕后#controller[root@controller ~]# vi /etc/ntp.conf删除默认server规则添加以下内容server 127.127.1.0fudge 127.127.1.0 stratum 10[root@controller ~]# systemctl start ntpd[root@controller ~]# systemctl enable ntpd
#compute[root@compute ~]# ntpdate controller[root@compute ~]# chkconfig ntpdate on     //2.1或者2.2版本虽然已经包含ntp配置,但实际过程中并未配置,需要手动再配置一遍。
同时重启[root@controller ~]#reboot[root@compute ~]# reboot

2-1,安装mysql服务

#controller[root@controller ~]# iaas-install-mysql.sh

3-1,安装keystone服务

#controller[root@controller ~]# iaas-install-keystone.sh

4-1,安装glance镜像服务

#controller[root@controller ~]# iaas-install-glance.sh

4-2,上传镜像

[root@controller ~]# source /etc/keystone/admin-openrc.sh[root@controller ~]# glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress < /opt/images/centos_7-x86_64_xiandian.qcow2 //此为测试镜像服务是否正常,可以后面再上传//这里采用<来添加本地文件,但glance image-create有--file 参数用来指定本地文件,     //可以了解下<, <<, >, >>用法

5-1.安装Nova计算服务

#controller[root@controller ~]# iaas-install-nova-controller.sh#compute[root@compute ~]# iaas-install-nova-compute.sh

6-1,安装neutron服务

#controller[root@controller ~]# iaas-install-neutron-controller.sh#compute[root@compute ~]# iaas-install-neutron-compute.sh

6-2,创建neutron网络

选择一种网络进行安装
1) flat网络#controller[root@controller ~]# iaas-install-neutron-controller-flat.sh#compute[root@compute ~]# iaas-install-neutron-compute-flat.sh
2) gre网络#controller[root@controller ~]# iaas-install-neutron-controller-gre.sh#compute[root@compute ~]# iaas-install-neutron-compute-gre.sh
3) vlan网络#controller[root@controller ~]# iaas-install-neutron-controller-vlan.sh#compute[root@compute ~]# iaas-install-neutron-compute-vlan.sh

7-1,安装dashboard服务

#controller[root@controller ~]# iaas-install-dashboard.sh

7-2,访问

打开浏览器访问Dashboardhttp://controller(或本机内网ip)/dashboard注:域demo, 用户名admin , 密码000000 检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。

7-3,创建云主机

(1)管理员 → 网络 → 创建网络(内外网) → 创建子网(外网填服务器的内网网段,即第二块网卡网段)//外部网络必须由管理员创建(2)项目 → 网络 → 路由 → 新建路由 → 添加网关和内网接口(3)项目 → 计算 → 访问安全 → 管理规则 → 添加规则(允许所有ICMP、TCP、UDP)// 此步骤会影响是否可以访问外网(4)项目 → 计算 → 云主机 → 创建云主机 → 绑定浮动IP(外部通信IP)

8-1,安装cinder块存储服务

#controller[root@controller ~]# iaas-install-cinder-controller.sh#compute[root@compute ~]# iaas-install-cinder-compute.sh

9-1,安装swift对象存储服务

#controller[root@controller ~]# source /etc/keystone/admin-openrc.sh[root@controller ~]# iaas-install-swift-controller.sh#compute[root@compute ~]# iaas-install-swift-compute.sh

10-1,安装trove服务

#安装Trove服务之前需要配置好网络(flat网络或gre网络),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败#controller[root@controller ~]# iaas-install-trove.sh

11-1,安装heat服务

#controller[root@controller ~]# iaas-install-heat.sh

12-1,安装ceilometer监控服务

#controller[root@controller ~]# iaas-install-ceilometer-controller.sh#compute[root@compute ~]# iaas-install-ceilometer-compute.sh

13-1,安装alarm服务

#controller[root@controller ~]# iaas-install-alarm.sh

添加控制节点资源到云平台

 14.1 修改openrc.sh

  把compute节点的IP和主机名改为controller节点的IP和主机名

 14.2 运行iaas-install-nova-compute.sh

在控制节点运行iaas-install-nova-compute.sh

   问题总结:

1,创建实例后出现两个IP,是由于openstack平台bug导致,导致原因为资源不够,将内存或CPU配额减小就可以解决。2,新建远程连接或重置连接窗口都要初始化环境变量       source /etc/keystone/admin-openrc.sh 3,注意浏览器缓存问题,有时在web页面上创建一个实例或者网络很长时间但也没有报错可以尝试清空cache。

  版本说明          

   Xiandian-IaaS-2.2版本新增了Lbaas负载均衡服务,加强网络数据处理能力、提高网络的灵活性和可用性。   Xiandian-IaaS-2.2版本新增了Fwaas防火墙服务,提供防火墙策略,增加传输数据的安全性。