openstack私有云搭建(省赛)
openstack私有云保姆级搭建
1.准备工作
(1) 镜像准备 CentOS-7-x86_64-DVD-2009.iso、chinaskills_cloud_iaas_v2.0.3.iso
切记不要使用这种带Minimal的系统镜像 要不然后面会报错 哪个版本都不行 例如 
(2) 两台虚拟机,配置两张网卡,第一张仅主机模式,第二张NAT模式,配置根据自身电脑来,不低于2G运行内存,虚拟机镜像使用 CentOS-7-x86_64-DVD-2009.iso,版本太低会出问题,
(3) MobaXterm远程连接工具
(4) 每台虚拟机装备三块硬盘,后面会用到
(5) 因为比赛是一个无网环境,所以我们自己电脑上第二张网卡可以不用管
| 主机名 | ens33 | ens34 | root密码 |
| controller | 192.168.100.10 | 无 | 000000 |
| compute | 192.168.100.20 | 无 | 000000 |
如图

2.配置两台主机的ens33(仅主机模式)网络
(1) 配置前检查网卡的配置 确保后面的ip是在这个网段下

(2) controller主机 如果虚拟机是克隆过来的 可以把UUID那一行删掉
vi /etc/sysconfig/network-scripts/ifcfg-ens33

重启网络
systemctl restart network
(3) compute主机 这里把UUID删除了
vi /etc/sysconfig/network-scripts/ifcfg-ens33

重启网络
systemctl restart network
(4) 最后使用远程工具连接(MobaXterm)
3.修改主机名和添加域名解析
controller 和compute 主机
(1) 修改主机名
# controller 主机
hostnamectl set-hostname controller
bash
# compute 主机
hostnamectl set-hostname compute
bash
(2) 添加本地域名解析
vi /etc/hosts 打开这个文件并添加内容

写完后把文件复制一份给compute
scp /etc/hosts compute:/etc/hosts
4.配置本地yum源
controller 主机
(1) 将两个镜像上传到 /opt/ 目录下

(2) 在/opt/ 目录下创建两个文件夹 centos和iaas
mkdir /opt/centos
mkdir /opt/iaas
(3) 把自带的yum源文件删掉
rm /etc/yum.repos.d/* -f
(4) 挂载镜像
# 挂载centos2009镜像到/mnt/目录
mount -o loop /opt/CentOS-7-x86_64-DVD-2009.iso /mnt/
# 将文件复制到/opt/centos
cp -rvf /mnt/* /opt/centos/
# 结束挂载
umount /mnt/
# 挂载iaas镜像到/mnt/目录
mount -o loop /opt/chinaskills_cloud_iaas_v2.0.3.iso /mnt/
# 将文件复制到/opt/iaas
cp -rvf /mnt/* /opt/iaas/
# 结束挂载
umount /mnt/
(5) 编写yum源文件
vi /etc/yum.repos.d/local.repo
写入以下内容
[centos]
name=centos
gpgcheck=0
enabled=1
baseurl=file:///opt/centos
[iaas]
name=iaas
gpgcheck=0
enabled=1
baseurl=file:///opt/iaas/iaas-repo
清除yum源缓存
yum clean all
重新加载yum源
yum repolist
成功展示

vsftpd安装和配置( compute通过vsftpd来配置域名本地源 )
controller主机
(1) 安装vsftpd
yum install -y vsftpd
(2) 配置vsftpd并重启服务
打开该文件
vi /etc/vsftpd/vsftpd.conf
添加一行配置,可以写在最上方
anon_root=/opt/
重启服务,并设置成开机自启
systemctl start vsftpd
systemctl enable vsftpd
(3)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config

cmpute 主机
(1) 删除本地自带yum源文件
rm /etc/yum.repos.d/* -f
(2) 编写yum源文件
vi /etc/yum.repos.d/ftp.repo
添加以下内容
[centos]
name=centos
gpgcheck=0
enabled=1
baesurl=ftp://controller/centos
[iaas]
name=iaas
gpgcheck=0
enabled=1
baseurl=ftp://controller/iaas/iaas-repo
清除yum源缓存
yum clean all
重新加载yum源
yum repolist
成功后会显示软件包数量和controller一样
5.安装openstack,并写入配置文件
(1) 安装openstack (controller和compute 都要安装)
yum install -y openstack-iaas
(2) 配置文件(controller)完成后复制一份到compute
vi /etc/openstack/openrc.sh
进入后在底下命令行模式执行两个命令
:%s/#/ # 清除每一行第一个#
:%s/PASS=/PASS=000000 # 替换
其他配置属性
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10
#Controller HOST Password. example:000000
HOST_PASS=000000
#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 HOST Password. example:000000
HOST_PASS_NODE=000000
#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.100.0/24
#--------------------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
#--------------------Placement Config----------------------##
#Password for Mysql placement user. exmaple:000000
PLACEMENT_DBPASS=000000
#Password for Keystore placement user. exmaple:000000
PLACEMENT_PASS=000000
#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
#--------------------Neutron 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=ens34
#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=102.168.100.20
#--------------------Trove Config----------------------##
#Password for Mysql trove user. exmaple:000000
TROVE_DBPASS=000000
#Password for Keystore trove user. exmaple:000000
TROVE_PASS=000000
#--------------------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 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
#--------------------ZUN Config----------------##
#Password for Mysql ZUN user. exmaple:000000
ZUN_DBPASS=000000
#Password for Keystore ZUN user. exmaple:000000
ZUN_PASS=000000
#Password for Keystore KURYR user. exmaple:000000
KURYR_PASS=000000
#--------------------OCTAVIA Config----------------##
#Password for Mysql OCTAVIA user. exmaple:000000
OCTAVIA_DBPASS=000000
#Password for Keystore OCTAVIA user. exmaple:000000
OCTAVIA_PASS=000000
#--------------------Manila Config----------------##
#Password for Mysql Manila user. exmaple:000000
MANILA_DBPASS=000000
#Password for Keystore Manila user. exmaple:000000
MANILA_PASS=000000
#The NODE Object Disk for Manila. example:md126p5.
SHARE_DISK=sdd
#--------------------Cloudkitty Config----------------##
#Password for Mysql Cloudkitty user. exmaple:000000
CLOUDKITTY_DBPASS=000000
#Password for Keystore Cloudkitty user. exmaple:000000
CLOUDKITTY_PASS=000000
#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
(3) 复制一份给compute
scp /etc/openstack/openrc.sh compute:/etc/openstack/openrc.sh
6.配置无密钥节点
controller主机
ssh-keygen 执行后一直回车就行
ssh-copy-id compute 执行后输入compute节点密码000000
compute主机
ssh-keygen 执行后一直回车就行
ssh-copy-id controller 执行后输入controller节点密码000000
7.执行脚本
(1) 先执行初始化脚本
1. 两台主机都要执行 先执行完controller在执行compute
iaas-pre-host.sh
2.两台都执行完后重启主机
init 6
3.重启后会出现这个标识

(2) 按顺序执行其他脚本,还是先执行完controller在执行compute
1.controller 主机 前七个最好安装一下 后面的看需求可以不安装
iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-placement.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-dashboard.sh
iaas-install-cinder-controller.sh
iaas-install-swift-controller.sh
iaas-install-heat.sh
iaas-install-manila-controller.sh
iaas-install-cloudkitty.sh
iaas-install-barbican.sh
2.compute 主机 确保compute安装的组件 controller必须是已安装的状态
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-cinder-compute.sh
iaas-install-swift-compute.sh
iaas-install-manila-compute.sh
8.最后基础搭建已经完成 可以登录网站查看效果
http://192.168.100.10/dashboard/
用户名 admin
密码 000000

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)