赞
踩
目录
1、本笔记来源于自我学习所得,该篇主要内容为在Centos 7系统搭建OpenStack。
2、所需要用到的软件及资源:VMware 虚拟机,远程链接工具(SecureCRT,XSHLL等),Centos7系统镜像,OpenStack iaas镜像包。
3、各自所配置的环境不同,因此,请同学们在搭建环境的过程中,灵活变通。
4.资源放文章末尾,同学们按需索取。
5、本文章比较细节,基础内容较多,各路大师勿喷。
提示:以下是本篇文章正文内容,下面案例可供参考
本文是将 Centos7 和 iaas 镜像作为本地Yum,镜像资料放文章末尾,自行按需索取。
这里使用远程链接工具进行上传,快捷键Alt+打开SFTP命令对话框:
- #使用 put 命令将文件上传
- sftp> put "D:\jingxiang\CentOS-7-x86_64-Everything-2009.iso" #put "文件所在路径"
- sftp> put "D:\jingxiang\cloud_iaas.iso"
传输完毕后使用 ls 命令查看是否上传成功到 root 根目录:
- [root@controller ~]# ls
- anaconda-ks.cfg CentOS-7-x86_64-Everything-2009.iso cloud_iaas.iso
使用mount挂载命令循环挂载两个镜像:
#命令参数 -o为只读,loop以回环设备形式挂载,可查阅内容
- [root@controller ~]# mkdir /opt/{centos,iaas}
- [root@controller ~]# mount -o loop CentOS-7-x86_64-Everything-2009.iso /opt/centos/
- [root@controller ~]# mount -o loop cloud_iaas.iso /opt/iaas/
删除掉/etc/yum.repos.d/下的所有文件,然后编写一个新的Yum仓库文件:
- [root@controller ~]# rm -rf /etc/yum.repos.d/* #删除/etc/yum.repos.d/下的所有文件
- [root@controller ~]# cat > /etc/yum.repos.d/local.repo <<EOF #创建local.repo文件并编写
- > [centos]
- > name=centos
- > baseurl=file:///opt/centos
- > enabled=1
- > gpgcheck=0
- > [iaas]
- > name=iaas
- > baseurl=file:///opt/iaas/iaas-repo
- > enabled=1
- > gpgcheck=0
- > EOF
- [root@controller ~]# yum clean all && yum repolist
出现以下源表示则表示配置成功:
controller计算节点安装FTP服务并配置:
- [root@controller ~]# yum -y install vsftpd
- [root@controller ~]# echo "anon_root=/opt" >> /etc/vsftpd/vsftpd.conf
- [root@controller ~]# systemctl start vsftpd
- [root@controller ~]# systemctl enable vsftpd
- [root@controller ~]# systemctl restart vsftpd
compute计算节点配置Yum源仓库:
- [root@compute ~]# rm -rf /etc/yum.repos.d/* #删除此目录下的所有文件
- [root@compute ~]# cat > /etc/yum.repos.d/local.repo <<EOF
- > [centos]
- > name=centos
- > baseurl=ftp://controller/centos #使用FTP,因为前期配置了主机名映射,这里直接使用主机名了
- > enabled=1
- > gpgcheck=0
- > [iaas]
- > name=iaas
- > baseurl=ftp://controller/iaas/iaas-repo #使用FTP,因为前期配置了主机名映射,这里直接使用主机名了
- > enabled=1
- > gpgcheck=0
- > EOF
- [root@compute ~]# yum clean all && yum repolist
出现以下源信息则表示配置成功:
分别在控制节点和计算节点安装iaas-xiandian:
- #controller控制节点
- [root@controller ~]# yum -y install iaas-xiandian
- #compute计算节点
- [root@compute ~]# yum -y install iaas-xiandian
控制节点配置openrc.sh,配置文件在:vi /etc/xiandian/:
- #controller控制节点
- [root@controller ~]# sed -i 's/#//' /etc/xiandian/openrc.sh #删除开头第一列注释
- [root@controller ~]# vi /etc/xiandian/openrc.sh
- #--------------------system Config--------------------##
- #Controller Server Manager IP. example:x.x.x.x
- HOST_IP=192.168.10.50 #控制节点IP地址
-
- #Controller HOST Password. example:000000
- HOST_PASS=root #控制节点用户密码
-
- #Controller Server hostname. example:controller
- HOST_NAME=controller #控制节点主机名
-
- #Compute Node Manager IP. example:x.x.x.x
- HOST_IP_NODE=192.168.10.60 #计算节点IP地址
-
- #Compute HOST Password. example:000000
- HOST_PASS_NODE=root #计算节点用户密码
-
- #Compute Node hostname. example:compute
- HOST_NAME_NODE=compute #计算节点主机名
-
- #--------------------Chrony Config-------------------##
- #Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
- network_segment_IP=192.168.10.0/24 #控制节点IP网段
- #-------------------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
-
- #Tunnel Network Interface. example:x.x.x.x
- INTERFACE_IP=192.168.10.50 #当前节点(controller控制节点)NAT的IP地址
-
- #External Network Interface. example:eth1
- INTERFACE_NAME=eth0 #外网网卡的名称
-
- #External Network The Physical Adapter. example:provider
- Physical_NAME=provider
-
- #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=sdb #第二块硬盘
-
- #--------------------Swift Config---------------------##
- #Password for Keystore swift user. exmaple:000000
- SWIFT_PASS=000000
-
- #The NODE Object Disk for Swift. example:md126p4.
- OBJECT_DISK=sdc #第三块硬盘
-
- #The NODE IP for Swift Storage Network. example:x.x.x.x.
- STORAGE_LOCAL_NET_IP=192.168.10.60 #存储节点NAT网卡IP地址(控制节点controller)
-
- #--------------------Heat Config----------------------##
- #Password for Mysql heat user. exmaple:000000
- HEAT_DBPASS=000000
-
- #Password for Keystore heat user. exmaple:000000
- HEAT_PASS=000000
-
- #--------------------Zun Config-----------------------##
- #Password for Mysql Zun user. exmaple:000000
- ZUN_DBPASS=000000
-
- #Password for Keystore Zun user. exmaple:000000
- ZUN_PASS=000000
-
- #Password for Mysql Kuryr user. exmaple:000000
- KURYR_DBPASS=000000
-
- #Password for Keystore Kuryr user. exmaple:000000
- KURYR_PASS=000000
-
- #--------------------Ceilometer Config----------------##
- #Password for Gnocchi 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
-
- #--------------------Barbican Config----------------##
- #Password for Mysql Barbican user. exmaple:000000
- BARBICAN_DBPASS=000000
-
- #Password for Keystore Barbican user. exmaple:000000
- BARBICAN_PASS=000000

计算节点配置iaas-xiandian:
- [root@compute ~]# sed -i 's/#//' /etc/xiandian/openrc.sh #删除第一列的注释
- [root@compute ~]# vi /etc/xiandian/openrc.sh
- ######在大约69行位置修改此项,其它参数均与控制节点(controller)相同######
- #Tunnel Network Interface. example:x.x.x.x
- INTERFACE_IP=192.168.20.60 #当前节点(compute控制节点)的IP地址
控制节点和计算节点启动初始化脚本:
注意:启动脚本跑完后需要重新链接服务器,或者重启服务器
- #控制节点
- [root@controller ~]# iaas-pre-host.sh
- #计算节点
- [root@compute ~]# iaas-pre-host.sh
在控制节点上通过脚本安装MySQL:
[root@controller ~]# iaas-install-mysql.sh
在控制节点上通过脚本安装Keystone:
[root@controller ~]# iaas-install-keystone.sh
在控制节点上通过脚本安装Glance:
[root@controller ~]# iaas-install-glance.sh
在控制节点和计算节点上通过脚本安装Nova:
- #控制节点
- [root@controller ~]# iaas-install-nova-controller.sh
- #计算节点
- [root@compute ~]# iaas-install-nova-compute.sh
在控制节点和计算节点上通过脚本安装Neutron:
- #控制节点
- [root@controller ~]# iaas-install-neutron-controller.sh
- #计算节点
- [root@compute ~]# iaas-install-neutron-compute.sh
在控制节点和计算节点上通过脚本安装Cinder:
- #控制节点
- [root@controller ~]# iaas-install-cinder-controller.sh
- #计算节点
- [root@compute ~]# iaas-install-cinder-compute.sh
在控制节点上通过脚本安装Swift:
- #控制节点
- [root@controller ~]# iaas-install-swift-controller.sh
- #计算节点
- [root@compute ~]# iaas-install-swift-compute.sh
在控制节点安装Heat编排服务:
[root@controller ~]# iaas-install-heat.sh
在控制节点安装密钥管理服务:
[root@controller ~]# iaas-install-barbican.sh
在控制节点上通过脚本安装Dashboard:
[root@controller ~]# iaas-install-dashboard.sh
访问Web平台,进行测试平台是否成功搭建:
我这里IP地址是192.168.20.50,所以访问的是http://192.168.20.50/dashboard
http://控制节点IP地址/dashboard
Domain所属域:demo 用户名:admin 密码:000000
访问出现下图,并登录成功,则表示搭建完成:
在平台搭建的过程中,所遇到的均为细节上的问题,openrc.sh配置文件中Neutron的IP地址,是填相对应节点的IP,否则在安装服务包的时候会产生卡顿报错等情况!!!!
本篇内容就到这里啦,感谢各路同学们的观看,也希望能够给作者点个小小的支持。祝愿大家在学习之路上,一路高升!!!!
文章制作不易,转载请注明出处!!!!!!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。