本人已经搭了很多次,也失败了很多次,这里面有很多失败的经验,以及提示,请按提示搭建,相信你也可以的!
不积小流无以成江海,多尝试才能吸取经验
开始搭建openstack
准备文件(如果没有请百度搜索)
CentOS-7-x86_64-DVD-1511.iso
XianDian-IaaS-v2.2.iso
cirros-0.3.4-x86_64-disk.img
SecureCRS
WinSCP
创建controller虚拟机
点击创建虚拟机,然后下一步,点击自定义硬件。内存配置为4G,新增网络适配器,设置为仅主机模式。(一个网卡为NAT,一个网卡为仅主机模式)。确定安装。
注意:为了节省时间,请最小化安装1511版本!
自定义—>稍后安装操作系统
提示#(是1511版本,图片只是演示)
处理器是1 核心2
还需要添加一个网卡,NAT模式的(一共是两个网卡,仅主机、NAT模式)
提示#内存设置成4G最好,防止内存溢出!
设置iso文件,选择Centos-7-x86_64-dvd-1511.iso(是1511版本,图片只是演示)
提示#
此操作,在安装时,必须选择自定义安装—>稍后安装操作系统(才能进入到此界面)
安装的时候语言请选择英文,不要选择中文。不然后期报错!!!
选中磁盘( 磁盘图标上面有个√ )
点击“I will configure partitioning ”然后再点击 Done
点击+号添加先swap、/、/boot。大小需要输入单位MiB、GiB
controller网络配置
1. 配置虚拟机ip
l 配置网卡eno16777736 (截图)
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
修改2项,添加2项IPADDR=192.168.100.10
PREFIX=24
提示#虚拟机此版本操作不能复制或者粘贴,退出时,请检查一遍,不要搞错了!!!
vi /etc/sysconfig/network-scripts/ifcfg-eno33554960
systemctl restart network
提示#
同样的,注意IP是192.168.200.10,退出前请检查!
重置虚拟网络编辑器
提示#
这一步是,设置虚拟网络(编辑):
仅主机子网ip是192.168.200.0
NAT模式的子网IP是192.168.100.0
测试网络
systemctl restart networkping 192.168.100.1
如果ping通,说明网络配置成功。
如果ping不通,请进入到物理机“网络和Internet设置”—>“网络适配器”—>将vm1和vm8,禁用、刷新、启用(如图)
然后再去尝试
克隆controller虚拟机为compute
注意:新建文件夹compute,不要放在之前存放comtroller中!
提示#此操作跟任务工单上不一样,请按我的方式操作!
给compute添加硬盘并分区
添加硬盘
虚拟机compute关机,点击“编辑虚拟机设置”-->“添加”-->下一步-->完成
提示#如果物理机的内存只有8G建议吧,这台虚拟机的内存改成2G
配置compute第一个网卡
启动compute,在compute虚拟机中执行
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
修改ip为192.168.100.20
提示#这一步和上一台虚拟机一样,只需要更改IP即可!
修改如图:
配置compute第二个网卡
修改ip为192.168.200.20
vi /etc/sysconfig/network-scripts/ifcfg-eno33554960
测试网络
systemctl restart network
打开controller和compute虚拟机。
在compute中执行
ping 192.168.100.10ping 192.168.100.1
都能ping通,证明网络配置成功
修改主机名称
注意:一定要连接100网段!!
用SecureCRS连接192.168.100.10 和192.168.100.20(两台虚拟机先要开机)
进入192.168.100.10 并重新登录
进入192.168.100.20 并重新登录
hostnamectl set-hostname controllerlogout
检查两台机器的ip
ip a
注意以下操作的命令,用controller和compute区分在哪一台机器上进行操作。
提示#一定要区分,是在哪台机子上执行!!!
在compute机子上分区
(注意回车!!!)
提示#第二台机子上:此操作必须要谨慎,错了就去重新删除添加硬盘!
fdisk /dev/sdb
n
p
1
(回车)
+10G
n
p
2
(回车)
(回车)
p
w
注意:上面命令是通过fdisk命令分区。将新加磁盘分/dev/sdb1和/dev/sdb2两个区。操作如图所示。
配置yum源
yum源备份
Controller:
cp -r /etc/yum.repos.d /etc/yum.repos.d_bakrm -rf /etc/yum.repos.d/CentOS-*
Computer:
cp -r /etc/yum.repos.d /etc/yum.repos.d_bakrm -rf /etc/yum.repos.d/CentOS-Base.repo
创建repo文件
【controller】
创建源local.repo文件
vi /etc/yum.repos.d/local.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】
创建源ftp.repo文件
vi /etc/yum.repos.d/ftp.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
上传iso文件
利用WinSCP工具,将centos(1511版本!!)和xiandian的iso文件上传到controller(192.168.100.10)的/root目录下。
提示#如果是压缩包(zip、rar、7z)请先解压出ISO,再上传
提示#
建议一个一个上传
挂载iso文件
创建目录controller
[root@controller ~]# mkdir /opt/{centos,iaas}
【挂载CentOS-7-x86_64-DVD-1511.iso】
注意:以自己电脑上的版本为准,这里以1511为例!controller
[root@controller ~] mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
【挂载XianDian-IaaS-v2.2.iso】 controller
[root@controller ~] mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
搭建ftp服务器,开启并设置自启controller
[root@controller ~]# yum install vsftpd -y
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
添加anon_root=/opt/ 允许匿名用户访问/opt/文件
anon_root=/opt/
提示#建议把此段代码,粘贴到文件最后面!
保存退出(如图)
启动controller
[root@controller ~]# systemctl start vsftpd
开机时启用controller
[root@controller ~]# systemctl enable vsftpd
关闭防火墙并设置开机不自启
【controller/compute】(注意:两台机器都要关闭防火墙) (截图)
关闭selinux防火墙
setenforce 0
关闭防火墙
systemctl stop firewalld
开机禁用防火墙
systemctl disable firewalld
清除缓存,验证yum源
【controller/compute】(注意:两台机器都要执行)
yum clean all
yum list
安装先电并编辑环境变量
# controller和compute节点
computer安装的时候需要关闭防火墙。
(注意:两台机器都要执行)
yum -y install iaas-xiandian
controller
[root@controller ~]# vi /etc/xiandian/openrc.sh
全部删除,输入以下内容,并保存。
提示#快捷键dd删除,注意粘贴的时候第一行,还在不在!!!一定要看
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=eno33554960
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.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
在controller上传输到compute(192.168.100.20)
[root@controller ~]# scp /etc/xiandian/openrc.sh 192.168.100.20:/etc/xiandian/openrc.sh
然后输入yes,然后输入密码。如图所示。
通过脚本安装服务
基础安装
# Controller节点和Compute节点(注意:两台机器都要执行)
提示#尽量在第一条命令执行完后再执行第二条
执行iaas-pre-host.sh脚本
iaas-pre-host.sh
提示#这个脚本运行时禁止输入!!!(脚本是自动的)
出现如下图所示,表示安装成功。
# 安装完成后重新登录
[controller][compute]执行
logout
重新登录
配置域名解析(检查)
检查一下即可。(注意:两台机器都要执行)
cat /etc/hosts
提示#输入命令后,请检查下面的是否一样
(1)controller 节点(后面两行一定要一样!!!)
192.168.100.10 controller
192.168.100.20 compute
(2)compute 节点(后面两行一定要一样!!!)
192.168.100.10 controller
192.168.100.20 compute
通过脚本安装服务(一定要注意在哪台机器上执行!!)
提示#以下的代码,必须第一台机器完毕,才能到第二台机器执行(一定要记住!!!)
关闭selinux防火墙
setenforce 0
关闭防火墙
systemctl stop firewalld
开机禁用防火墙
systemctl disable firewalld
安装mysql
# Controller节点
执行脚本iaas-install-mysql.sh进行安装
iaas-install-mysql.sh
安装Keystone认证服务
# Controller节点
执行脚本iaas-install-keystone.sh进行安装。
iaas-install-keystone.sh
安装Glance镜像服务
# Controller 节点
执行脚本iaas-install-glance.sh进行安装
iaas-install-glance.sh
安装Nova计算服务
#Controller节点
执行脚本iaas-install-nova-controller.sh进行安装
iaas-install-nova-controller.sh
#Compute节点
提示#看清楚是哪一台!!!尽量在第一台机器执行完后再执行第二台
执行脚本iaas-install-nova-compute.sh进行安装
iaas-install-nova-compute.sh
安装Neutron网络服务
#Controller节点
执行脚本iaas-install-neutron-controller.sh进行安装
iaas-install-neutron-controller.sh
提示#尽量在第一台机器执行完后再执行第二台
#Compute节点
执行脚本iaas-install-neutron-compute.sh进行安装
iaas-install-neutron-compute.sh
创建gre网络
(依次执行这两条命令,执行完再执行另一条)
#Controller节点
执行脚本iaas-install-neutron-controller-gre.sh进行安装
iaas-install-neutron-controller-gre.sh
#Compute节点
执行脚本iaas-install-neutron-compute-gre.sh进行安装
iaas-install-neutron-compute-gre.sh
安装Dashboard服务
#Controller
执行脚本iaas-install-dashboard.sh进行安装
iaas-install-dashboard.sh
要执行,不然后期无法创建云硬盘
【#Controller】
iaas-install-cinder-controller.sh
【#Compute节点】
iaas-install-cinder-compute.sh【#Controller】
iaas-install-swift-controller.sh
【#Compute节点】
iaas-install-swift-compute.sh
请在命令执行完后再执行下一个命令
这不是就安装成功了!!!
验证openstack平台
物理机输入http://192.168.100.10/dashboard ,出现如下界面,表示搭建成功。
http://192.168.100.10/dashboard
提示#登陆即可!!!
域:demo
用户名:admin
密码:000000
先不要关机!!!
基础准备 (基于之前搭建的openstack)【没有关机过,请跳过此步】
如果发现之前装的openstack不能登录,请执行以下。否则,请跳过基础准备工作这一步骤。
1. 执行openstack-service restart ,待执行完成后执行openstack-service status,查看各服务是否为active状态。 (在192.168.100.10机器上执行)
如果服务无问题,刷新登录页面还不能登录,请继续执行:
//重新挂载
[root@controller ~] mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
[root@controller ~] mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
//重启网络https服务
service httpd restart
service memcached restart
//关闭selinux防火墙
setenforce 0
//关闭防火墙
systemctl stop firewalld
//开机禁用防火墙
systemctl disable firewalld
2. 如果还不能登录,在物理机上执行 ping 192.168.100.10 ,验证是否能ping通。
如果不能ping通,且物理机ip正确,请关闭虚拟机,充重置虚拟网络编辑器,重新按照上一课要求设置ip网段。设置完成后再去ping。
如果不能ping通,物理机ip有问题,请重新按照上一课要求设置虚拟网络编辑器。