云计算技术与应用大赛-先电iaas平台搭建

云计算技术与应用大赛-先电iaas平台搭建

    • 前期准备
    • 搭建过程
        • 1.基本环境配置
          • 1.1网络配置
            • controller(控制节点)
            • compute(计算节点)
          • 1.2配置主机名
          • 1.3使用crt连接controller以及compute
          • 1.4关闭并禁止自启防火墙
          • 1.5禁用selinux
          • 1.6修改hosts
          • 1.7 上传镜像、配置yum源并安装ftp
    • 平台搭建

记录个人在学习中的所得以及遇到的一些问题

前期准备

创建两台linux虚拟机,controller和compute
1.内存和处理器根据物理机配置而定,太小可能会引起后续创建云主机时出现问题。
2.很多教程建议勾选虚拟化引擎第一项,跟着勾选。
3.所用镜像为CentOS-7-x86_64-DVD-1511.iso。
4.双网卡为:仅主机模式(内网网卡)、nat模式(外网网卡)。
5.内网:192.168.100.0/24、外网:192.168.200.0/24
云计算技术与应用大赛-先电iaas平台搭建_第1张图片云计算技术与应用大赛-先电iaas平台搭建_第2张图片

搭建过程

1.基本环境配置

1.1网络配置
controller(控制节点)

ifcfg-eno16777736:192.168.100.10(内网ip)
修改配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 

删除所有内容,添加如文本。

TYPE=Ethernet //网络类型
BOOTPROTO=static //表示为网卡配置静态还是动态IP地址(none:表示无须启动协议;bootp:表示使用BOOTP协议;dhcp :使用dhcp协议动态获取ip地址; static:表示手工设置静态IP地址)
NM_CONTROLLED=no //network mamager的参数
NAME=eno16777736 //设备名
DEVICE=eno16777736 //网卡物理设备名称
ONBOOT=yes //网卡是否自启
IPADDR=192.168.100.10 //ip地址
NETMASK=255.255.255.0 //子网掩码

ifcfg-eno33554960:192.168.200.10(外网ip)
修改配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eno33554960

删除所有内容,添加如文本。

TYPE=Ethernet //网络类型
BOOTPROTO=static //表示为网卡配置静态还是动态IP地址(none:表示无须启动协议;bootp:表示使用BOOTP协议;dhcp :使用dhcp协议动态获取ip地址; static:表示手工设置静态IP地址)
NM_CONTROLLED=no //network mamager的参数
NAME=eno33554960//设备名
DEVICE=eno33554960//网卡物理设备名称
ONBOOT=yes //网卡是否自启
IPADDR=192.168.200.10 //ip地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.200.2 //网关
compute(计算节点)

参考controller节点操作
ifcfg-eno16777736:192.168.100.20(内网ip)
ifcfg-eno33554960:192.168.200.20(外网ip)

1.2配置主机名
hostnamectl set-hostname controller
hostnamectl set-hostname compute
1.3使用crt连接controller以及compute

主机名使用内网ip,因为后续搭建中脚本会修改外网卡配置文件
云计算技术与应用大赛-先电iaas平台搭建_第3张图片云计算技术与应用大赛-先电iaas平台搭建_第4张图片

1.4关闭并禁止自启防火墙
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //禁止防火墙自启
1.5禁用selinux
setenforce 0 //临时禁用
vi /etc/sysconfig/selinux //将SELINUX=*修改为SELINUX=disabled

云计算技术与应用大赛-先电iaas平台搭建_第5张图片

1.6修改hosts
vi /etc/hosts 

添加

192.168.100.10 controller
192.168.100.20 compute

发送到controller或compute

scp /etc/hosts root@controller或compute:/etc/hosts
输入密码
1.7 上传镜像、配置yum源并安装ftp

以下操作在controller终端中进行

cd /opt
mkdir iaas centos repo

使用crt上传iaas镜像和centos镜像至/opt/
在controller终端窗口中按Ctrl+P进入传输界面,界面中输入cd /opt/,拖动镜像进入界面即可上传

备份repo文件
mv /etc/yum.repos.r/C* /opt/repo

配置yum源
vi /etc/yum.repos.r/local.repo
	添加如下内容:
	[centos]
	name=centos
	baseurl=file:/opt/centos
	gpgcheck=0
	disabled=1
	[iaas]
	name=iaas
	baseurl=file:/opt/iaas/iaas-repo
	gpgcheck=0
	disabled=1
	
保存后发送至compute
	scp /etc/yum.repos.r/local.repo root@compute:/etc/yum.repos.r/ftp.repo
	
挂载镜像
	mount -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /mnt
	cp -rfv /mnt/* /opt/centos
	umount /mnt
	mount -o loop /opt/XianDian-IaaS-v2.2.iso /mnt
	cp -rfv /mnt/* /opt/iaas
	umount /mnt
	
yum相关
	清除缓存
	yum clean all
	列出所有可安裝的软件清单
	yum list

安装ftp
	yum install vsftpd -y

ftp相关配置
	vi /etc/vsftpd/vsftpd.conf
	添加 anon_root=/opt/
	重启vsftpd
	systemctl restart vsftpd
	启动自启vsftpd
	systemctl enabled vsftpd

在compute中修改ftp.repo并进行yum相关操作

vi /etc/yum.repos.r/ftp.repo
	[centos]
	name=centos
	baseurl=ftp:/controller/centos 
	gpgcheck=0
	disabled=1
	[iaas]
	name=iaas
	baseurl=ftp:/controller/iaas/iaas-repo
	gpgcheck=0
	disabled=1
	
yum相关
	清除缓存
	yum clean all
	列出所有可安裝的软件清单
	yum list

平台搭建

controller节点和compute节点
安装iaas-xiandian软件包
yum install xiandian-iaas -y
修改openrc.sh

#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10

#Controller Server hostname. example:controller
HOST_NAME=controller

#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20

#Compute Node hostname. example:compute
HOST_NAME_NODE=compute

#--------------------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

#External Network Interface. example:eth1
INTERFACE_NAME=eno33554960

#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101

#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200

#--------------------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=

#--------------------Trove Config--------------------##
#Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000

#Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000

#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=

#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=

#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

#--------------------Ceilometer Config----------------##
#Password for Mysql 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


个人使用命令 sed -i -e “s/PASS=/PASS=000000/” -e “s/^#//” /etc/xiandian/openrc.sh
再修改个别项
完成后自启reboot 或重新登录终端 login

执行脚本iaas-pre-host.sh
按顺序执行
#Controller节点
通过脚本安装mysql数据库服务
	执行脚本iaas-install-mysql.sh进行安装
	
通过脚本安装keystone人证服务
	执行脚本iaas-install-keystone.sh进行安装
	
通过脚本安装glance服务
	执行脚本iaas-install-glance.sh进行安装
	
通过脚本安装nova服务
	#Controller节点
	执行脚本iaas-install-nova-controller.sh进行安装
	#Compute节点
	执行脚本iaas-install-nova-compute.sh进行安装

通过脚本安装neutron服务
	#Controller节点
	执行脚本iaas-install-neutron-controller.sh进行安装
	#Compute节点
	执行脚本iaas-install-neutron-compute.sh进行安装
		
	通过脚本创建neutron网络
		创建flat网络
		#Controller节点
		执行脚本iaas-install-neutron-controller-flat.sh进行安装
		#Compute节点
		执行脚本iaas-install-neutron-compute-flat.sh进行安装
		
		创建gre网络
		#Controller节点
		执行脚本iaas-install-neutron-controller-gre.sh进行安装
		#Compute节点
		执行脚本iaas-install-neutron-compute-gre.sh进行安装
		
		创建vlan网络
		#Controller节点
		执行脚本iaas-install-neutron-controller-vlan.sh进行安装
		#Compute节点
		执行脚本iaas-install-neutron-compute-vlan.sh进行安装
通过脚本安装dashboard服务
	#Controller
	执行脚本iaas-install-dashboard.sh进行安装

省赛仅需安装至dashboard服务
至此安装完成

你可能感兴趣的:(笔记)