OpenStack环境设计和系统准备
安装虚拟机(这个过程就不写了,默认都会,但是要注意硬盘分区这块)
环境搭建
虚拟机主机名:
控制节点(controller)
实例节点(compute)
配置主机名
配置控制节点主机名为controller: hostnamectl set-hostname controller
配置实例节点主机名为compute: hostnamectl set-hostname compute
查看是否配置成功:hostnamectl
配置网卡
注:(要把两个网卡换一下,第一块仅主机,第二块nat)
第一块网卡
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=5535bfac-437d-433f-905d-d88de379e0ee
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.40.7
#IPADDR=192.168.40.8
NETMASK=255.255.255.0
GATEWAY=192.168.40.2
DNS1=114.114.114.114
第二块网卡 第二块网卡后面再配,虚拟机刚建好配一个网卡就好了
TYPE=Ethernet
BOOTPROTO=static
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR=172.24.3.10
#IPADDR=172.24.3.20
NETMASK=255.255.255.0
注:不要和我的一样,根据自身情况配置,我这只是个模板
配置域名解析
修改控制和实例节点的/etc/hosts配置文件
添加:
控制节点的(NET)IP地址 controller
实例节点的(NET)IP地址 compute
配置环境
关闭firewalld和selinux
iptables,默认应该都是关闭的
关闭防火墙Firewalld,如下:
systemctl stop firewalld //关闭Firewalld防火墙服务
systemctl disable firewalld //关闭Firewalld防火墙开机自启服务
配置Selinux,修改配置文件/etc/selinux/config
修改完配置文件,需要重启后生效,可以使用setenforce 0命令临时生效
This file controls the state of SELinux on the system.
SELINUX=permissive
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled #由permissive改为disabled
#SELINUXTYPE= can take one of three two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
挂载镜像和xiandain-iaas
挂载命令:mount /镜像-硬盘路径 /挂载点
先在虚拟机里添加xiandain-iaas的iso文件
然后reboot重启
重启完成后输入(lsblk命令)会有两个sr设备文件
然后在/mnt下建立两个目录
分别是:centos和iaas
然后把sr0挂载到/mnt/iaas下,把sr1挂载到/mnt/centos下
配置yum源
将提供的安装光盘和安装文件拷贝到系统内部,制作安装源,本次采用本地源
安装源子目录
将光盘镜像文件XianDian-IaaS-v2.2.iso和CentOS-7-x86_64-DVD-1511.iso上传到两个节点服务器自己指定的子目录中(如子目录/var中)并解压。创建子目录software,如图2-6所示。将子目录iaas-repo移至/var/software子目录中;创建子目录centos 7,将子目录Packages和repodata移至子目录centos 7中,可以删除拷贝在var下的原解压文档。如果是用VMware创建的虚拟机来搭建IaaS平台,可以通过挂载镜像文档来拷贝软件包
yum源目录关系
上面挂载完后按照图上的关系格式创建一个目录
目录创建命令:
mkdir -p /openstack/centos7
然后把iaas和centos下的文件拷贝到/var/software下
进入/mnt/iaas下把iaas-repo拷贝到/var/software下
前提是当前目录在/mnt/iaas下
命令:
cp -r iaas-repo /openstack/
进入/mnt/centos下把Packages和repodata两个文件拷贝到/var/software/centos7下
前提是当前目录在/mnt/centos下
命令:
cp -r Packages /openstack/centos7
cp -r repodata /openstack/centos7
修改/etc/yum.repos.d下的yum配置文件
先rm -rf *把目录下的所有文件删除
然后vi centos.repo创建一个名为centos的yum配置文件
把下面的配置文件信息复制粘贴就行了(注:一定要记住配置文件是怎么写的)
[centos]
name=CentOS
baseurl=file:///openstack/centos7
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[openstack]
name=openstack
baseurl=file:///openstack/iaas-repo
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
重建缓存
yum clean all
yum makecache
注:两台都要弄,配置文件要相同
添加第二块网卡
先用VM添加一块仅主机模式的网卡
使用ip a查看网卡信息(注:因为最小化安装没有装ifconfig)
如果要用ifconfig,请安装net-tools包:
yum install net-tools
根据自身情况修改网卡配置文件
拷贝命令:
cp ifcfg-eno16777736 ifcfg-eno33554984
注:每个人的网卡名可能不一样
然后修改ifcfg-eno33554984网卡配置文件
复制粘贴下面的配置文件把该改的改一下就行了 (注:要记住配置文件是怎么修改的)
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR=172.24.3.10
#IPADDR=172.24.3.20
NETMASK=255.255.255.0
注:两个节点都要修改
修改完成:systemctl restart network.service重启网络
在VM实例节点上添加一块40G的硬盘,仅compute节点
reboot重启虚拟机
对硬盘进行分区
(由于内存不足,只能用20G来演示)
分区命令:fdisk /硬盘路径
[root@compute ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xcb1fa46d.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xcb1fa46d
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (20973568-41943039, default 20973568):
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039):
因为前面加了10G还剩最后10G所以这里就默认了↑
Using default value 41943039
Partition 2 of type Linux and of size 10 GiB is set
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xcb1fa46d
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41943039 10484736 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
安装iaas-xiandian安装包
yum install iaas-xiandian -y
编辑文件/etc/xiandian/openrc.sh(配置环境变量)
HOST_IP=192.168.40.7 (根据自己的实际情况)控制节点第一块网卡的IP地址
HOST_NAME=controller
HOST_IP_NODE=192.168.40.8 (根据自己的实际情况)实例节点第一块网卡的IP地址
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=eno33554984 (外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=sdb1 (空白分区名)
SWIFT_PASS=000000
OBJECT_DISK=sdb2 (空白分区名)
STORAGE_LOCAL_NET_IP=192.168.40.8 实例节点第一块网卡的IP地址
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
注:控制节点和实例节点都要配置不然会报网络错误
脚本执行
下面执行脚本就行了,脚本执行完就可以访问网页了
控制节点和实例节点
执行脚本iaas-pre-host.sh进行安装
iaas-pre-host.sh
重启设备
完成配置后,同时重启两个节点服务器。
reboot 已执行完成
部署脚本安装平台
在控制节点执行脚本iaas-install-mysql.sh进行数据库及消息列表服务安装。
iaas-install-mysql.sh
在控制节点执行脚本iaas-install-keystone.sh进行keystone认证服务安装。
iaas-install-keystone.sh
在控制节点执行脚本iaas-install-glance.sh进行glance镜像服务安装。
iaas-install-glance.sh
在控制节点执行脚本iaas-install-nova-controller.sh进行nova计算服务安装。
iaas-install-nova-controller.sh
在实例节点执行脚本iaas-install-nova-compute.sh进行nova计算服务安装。
iaas-install-nova-compute.sh
在控制节点执行脚本iaas-install-neutron-controller.sh进行neutron网络服务安装。
iaas-install-neutron-controller.sh
在实例节点执行脚本iaas-install-neutron -compute.sh进行neutron网络服务安装。
iaas-install-neutron-compute.sh
在控制节点执行脚本iaas-install-neutron-controller-gre.sh进行vlan网络安装配置。
iaas-install-neutron-controller-gre.sh
在实例节点执行脚本iaas-install-neutron-compute-gre.sh进行vlan网络安装配置。
iaas-install-neutron-compute-gre.sh
在控制节点执行脚本iaas-install-dashboard.sh进行dashboard服务安装。
iaas-install-dashboard.sh
在控制节点执行脚本iaas-install-cinder-controller.sh进行cinder块存储服务安装。
iaas-install-cinder-controller.sh
在实例节点执行脚本iaas-install-cinder-compute.sh进行cinder块存储服务安装。
iaas-install-cinder-compute.sh
在控制节点执行脚本iaas-install-swift-controller.sh进行swift对象存储服务安装。
iaas-install-swift-controller.sh
在实例节点执行脚本iaas-install-swift-compute.sh进行swift对象存储服务安装。
iaas-install-swift-compute.sh
在控制节点执行脚本iaas-install-heat.sh进行heat编配服务安装。
iaas-install-heat.sh
在控制节点执行脚本iaas-install-ceilometer-controller.sh进行ceilometer监控服务安装。
iaas-install-ceilometer-controller.sh
在实例节点执行脚本 iaas-install-ceilometer-compute.sh进行ceilometer监控服务安装。
iaas-install-ceilometer-compute.sh
在控制节点执行脚本iaas-install-alarm.sh进行alarm告警服务安装。
iaas-install-alarm.sh
登录界面
管理界面
环境搭建结束了