一,所需软件
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 controller
192.168.100.20 compute
关闭防火墙并设置开机不自启
#controller和compute节点
systemctl stop firewalld
systemctl disable firewalld
配置selinux
controller和compute节点
修改配置文件 /etc/selinux/config
SELINUX=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=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
# compute
centos.repo
[centos]
name=centos
baseurl= ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas/iaas-repo
gpgcheck=0
enabled=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 退出 重新登陆
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.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(自定义)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=enp9s0(外网网卡名,此外网指的是云主机通外部网络的网卡,即服务器内网网卡)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=md126p4(空白分区名)//结合具体分区名
SWIFT_PASS=000000
OBJECT_DISK=md126p5(空白分区名)
STORAGE_LOCAL_NET_IP=192.168.100.20(计算节点ip)
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_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.0
fudge 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,访问
打开浏览器访问Dashboard
http://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防火墙服务,提供防火墙策略,增加传输数据的安全性。