准备工作:两台CentOS7以上的虚拟机,(CentOS7之前的有许多命令不同)做好资源的分配;

准备镜像两块,CentOS7以上的一块、Iaas服务的基础镜像一块。(这Iaas平台的镜

像是先电下的一个)

控制节点和计算节点资源配置
节点名称 第一张网卡(有网关,外网用) 第二张网卡(无网关,内网用)
控制节点 controller 192.168.137.27/24 192.168.200.27/24
计算节点 compute 192.168.137.37/24 192.168.200.37/24

创建虚拟机,内存给4g,处理器数量2个、内核2个,勾选上虚拟化引擎,如图:

要有两张网卡,我用的镜像是7.5-1804的那块,镜像官网下载

我们先创建一个虚拟机,后面一台直接复制这台,这样更省时间。

开启虚拟机,等待安装,语言根据爱好自选,下面有汉语,最小化安装,给硬盘配置,自己分配,别让系统去干(磁盘空间够的话,资源什么的可以往大了分配,我这磁盘空间不够就将就一下了)。如下:

等待它安装好哈······

网卡的话两张是NAT也行的,第一张的话有网关就行用做openstack里面实例的外网,第二张就当做内网用。

root登录,输入密码,进入网络配置文件(#符号后面跟着的是注释哈,不要写进去,我写是为了解释一下这些东西的):

cd /etc/sysconfig/network-scripts/###编辑第一张网卡
vi ifcfg-ens33###英文状态下按i键是进入输入模式,输好后按esc键退出输入模式,“:wq”是保存文档,“:q!”强制退出###内容,写完后记得保存下来TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static                    #网卡状态,系统默认为DHCP分发IP模式,static为静态IP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=51e4cbf2-1a7d-4c25-8d90-253c1d195ce4
DEVICE=ens33                        #网卡设备名称
ONBOOT=yes                          #开机是否生效,系统默认为no,我们需要改为yes
IPADDR=192.168.137.27               #IP
GATEWAY=192.168.137.2               #网关,OpenStack默认可不加
NETMASK=255.255.255.0               #子网掩码,同PREFIX=24等效果###编辑第二张网卡
vi ifcfg-ens34TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=6f6722fb-87b8-4c51-a13f-fe1c67f90b51
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.200.27
NETMASK=255.255.255.0

配置好网络后,重新启动网络,才能用连接工具连接上:

systemctl restart network        #重新启动网络ip a                            #可以看到网络的配置信息

网络的信息如下:

做好这些配置后,直接关机,最好就做一个快照哈,以备出错的可能,我就错了很多次了。

后面我们就做另外一台了,直接复制(克隆)前面的那一台。

红色的地方要特别注意哈,这样才是完整的将前面做好配置的虚拟机完全复制出来。

开启复制的那台,修改ip,同前面的操作,只要改动ip就好。

最后我们就有两台虚拟机。

给虚拟机该主机名:

####计算节点主机名称,改完退出控制台,重新连接
hostnamectl set-hostname computelogout####控制节点主机名称,改完退出控制台,重新连接
hostnamectl set-hostname controllerlogout

最后改完后如图:

再而就是给控制节点做磁盘分区了:

lsblk        #查看磁盘的信息fdisk /dev/sda        #磁盘分区fdisk /dev/sda
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.Command (m for help): m
Command actiona   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partition                                 #删除一个分区g   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partition                                #增加一个分区o   create a new empty DOS partition tablep   print the partition table                          #打印磁盘分区情况表q   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)#按n增加分区,让它分区号默认,一直回车,到了Last结束时,写入要给分区空间的大小
Partition type:p   primary (3 primary, 0 extended, 1 free)e   extended
Select (default e):
Using default response e
Selected partition 4
First sector (73154560-125829119, default 73154560):
Using default value 73154560
Last sector, +sectors or +size{K,M,G} (73154560-125829119, default 125829119): +10G#按p可以查看分好后的结果Command (m for help): pDisk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 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: 0x00094d79Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    52183039    25041920   8e  Linux LVM
/dev/sda3        52183040    73154559    10485760   83  Linux
/dev/sda4        73154560    94126079    10485760    5  Extended#按w,最后就是保存磁盘分区信息,将分区的信息写入#reboot重启后才能看到最后修改的信息

我这就只有sda一块,就只针对它了,做好分区后,重启,最终是多出sda3、sda4两个分区,一个有10G、另外一个1k(我也不晓得它为什么变成1k了,刚才写分区信息时都给了10G):

写两台虚拟机之间的映射关系:

vi /etc/hosts#内容,只加ip和主机名。(两台做一样的映射关系)127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.27 controller                #文件加控制节点IP和主机名
192.168.137.37 compute                   #文件加计算节点IP和主机名

另外一台可以用远程复制:

#scp远程安全复制命令
#root@ip:要复制的文件路径    复制到当前计算机的路径scp root@192.168.137.27:/etc/hosts /etc/yes    #允许#要输入远程复制主机的root登录密码

计算节点的配置做好了一半,回到给控制节点来:

给控制节点上传镜像,要挂载用的CentOS-7-x86_64-DVD-2009.iso和chinaskills_cloud_iaas.iso两块文件,再去创建两个挂载目录:

mkdir /opt/centos        #在opt目录下创建了centos目录,用来挂载Centos...那块mkdir /opt/iaas          #在opt目录下创建了iaas目录,用来挂载Iaas服务镜像的那块

挂载镜像:

#将镜像(镜像所在路径)挂载在/opt/centos/目录下
mount CentOS-7-x86_64-DVD-2009.iso /opt/centos/#将镜像(镜像所在路径)挂载在/opt/iaas/目录下
mount chinaskills_cloud_iaas.iso /opt/iaas/

结果:

这样的挂载方式每次开机重启,它镜像都会被系统卸载下来,所以我要给它永久挂载在目录上,一直使用:

####编辑系统挂载文件
vi /etc/fstab####文件里面的内容增加
/root/CentOS-7-x86_64-DVD-2009.iso /opt/centos iso9660 defaults 0 0
/root/chinaskills_cloud_iaas.iso /opt/iaas     iso9660 defaults 0 0

挂载好镜像后,开始配置本地yum源,要先把原有的那些repo文件删掉,我们自己配置自己写一个。控制节点如下:

###查看系统自带的哪些repo文件ll /etc/yum.repos.d/###删掉它目录下的所有(*代表所有)rm -rf /etc/yum.repos.d/*vi /etc/yum.repos.d/local.repo[centos]
name=centos
baseurl=file:///opt/centos             ##centos系统yum来源的基础路径
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo     ##iaas服务,这里写的是挂载下iaas目录下的另一个路径
gpgcheck=0
enabled=1

清空yum缓存,生成yum缓存,查看yum是否生效:

命令:
###清空yum缓存
yum clean all###生成yum缓存
yum makecache###查看yum是否生效
yum list

控制节点安装vsftpd(ftp工具),指定vsftpd 路径,如下:

###本地用yum安装服务,install后接服务名
yum -y install vsftpd###配置vsftpd服务的共享文件
vi /etc/vsftpd/vsftpd.conf ###头顶加上要共享的目录,由于该服务是给计算节点提供源,所以要将之前镜像挂载的目录共享给出去
anon_root=/opt####保存退出#####查看目录下文件的头几行(-n n是几就显示出几行来)
head -1 /etc/vsftpd/vsftpd.conf

设置临时防火墙规则,重启vsftpd服务及设置开机自启动:

###控制节点重启vsftpd
systemctl restart vsftpd###控制节点设置开机生效规则
systemctl enable vsftpd###控制、计算节点设置selinux规则
setenforce 0###查看selinux规则
getenforce###控制、计算节点关闭防火墙
systemctl stop firewalld###计算节点测试访问控制节点资源
curl ftp://192.168.137.27

结果运行图:

将控制节点的/etc/vsftpd/vsftpd.conf 复制到计算节点上,更改baseurl的路径就行:

###远程复制命令
scp root@192.168.137.27:/etc/yum.repos.d/local.repo /etc/yum.repos.d/###修改内容,计算节点/etc/yum.repos.d/local.repo内容为
[centos]
name=centos
baseurl=ftp://192.168.137.27/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.137.27/iaas/iaas-repo
gpgcheck=0
enabled=1###/etc/yum.repos.d/下面不止一份repo文件,其它C开头的都是系统自带的,删了就行
rm -rf /etc/yum.repos.d/CentOS-*

结果:

基本上都准备好了,可以安装iaas的服务了。

查找iaas-的服务:

 yum list | grep iaas-

安装iaas服务:

yum -y install iaas-xiandian.x86_64

安装好后,就给iaas服务配置文件了/etc/xiandian/openrc.sh:

####批量删除注释符,也就是#号,在查看状态下::%s/^#//g
####:(英文下冒号)%(表示全文)s(是替换功能)^(以什么开头)#(#字符开头)/(控格)/g(确认替换了)
####整体就是全文将以#字符开头的替换成空格
####同样的可以:%s/PASS=/PASS=000000/g
####整体就是全文将以PASS=字符的替换成PASS=000000####内容#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.137.27                         #控制节点IP#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.137.37                    #计算节点IP#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.137.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.137.27            #填本机IP(计算节点就填计算的IP)#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=sda3#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sda4#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.137.37                    #计算节点的IP#--------------------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

将文件复制去计算节点里,在计算节点的文件就只需要改:

INTERFACE_IP=192.168.137.37            #填本机IP(计算节点就填计算的IP)

保存退出,就可以刷脚本了,脚本有人写好了,我们就直接用就好了,控制、计算节点都安装基础服务:

 iaas-pre-host.sh
安装完成后可重启服务器,建议重启

刷完后是:

控制节点安装MySQL(数据库服务),keystone(认证服务),glance(镜像服务),dashboard(实现数据可视化服务),neutron(网络服务),nova(计算服务),cinder(块存储服务),swift(对象存储服务):

iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-dashboard.sh
iaas-install-neutron-controller.sh
iaas-install-nova-controller.sh
iaas-install-cinder-controller.sh
iaas-install-swift-controller.sh

计算节点:

iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-cinder-compute.sh
iaas-install-swift-compute.sh

登录dashboard

浏览器访问,192.168.137.27/dashboard

域控写demo

用户名admin

密码000000

结果:

Iaas私有云平台搭建(Openstack)相关推荐

  1. 物联网iot私有云平台搭建

    物联网iot私有云平台搭建 物联网的平台有多种,把其中的一些列出一个开源平台比照表. IoT 软件平台 设备管理? 集成 安全 数据收集协议 分析 支持可视化? 数据库 Kaa IoT Platfor ...

  2. OpenStack ussuri 私有云平台搭建

    一.OpenStack简介 openstack是一个云操作系统,这个操作系统控制着数据中心中的计算,存储和网络资源.所有这些资源的管理都是通过API来来实现的,并且管理资源都有相应的认证机制. 在op ...

  3. Openstack 多节点的企业私有云平台搭建

    这里采用的是虚拟机做的一个Openstack 多节点的企业私有云平台测试,仅供参考 编号 系统 主机名–身份 IP @1 centos7 ct–控制节点 NAT:eth0=192.168.11.51 ...

  4. openstack私有云平台搭建

    1.1 安装 CentOS7 说明 [CentOS7 版本] CentOS7 系统选择 2009 版本:CentOS-7-x86_64-DVD-2009.iso [空白分区划分] 在 CentOS7 ...

  5. 先电iaas云平台搭建(openstack)————搭建过程

    写在前面: 1,在上一篇博客中具体记录了创建controller和compute这两个节点的过程 2,此片博客继续上一篇博客内容 3,使用的远程连接工具为CRT 4,搭建过程两个节点有重复步骤,均以c ...

  6. 搭建OpenStack多节点的企业私有云平台——基础基础环境搭建

    搭建OpenStack多节点的企业私有云平台--基础环境搭建 参考书籍:OpenStack云平台部署与高可用实战 前期准备: 安装VMware workstation 15.5 下载CentOS-7- ...

  7. 小米基于OpenStack搭建私有云平台技术架构大揭秘!

    摘要: 小米公司OpenStack项目的技术负责人潘晓东分享在使用OpenStack建设小米私有云平台的一些经验和踩过的一些坑,重点探讨在目前OpenStack还不太稳定的情况下,如何建设一个具备企业 ...

  8. 云计算 openstack 云平台搭建详细教程(基于 Vmware 虚拟机搭建)

    OpenStack 和 云计算 1.OpenStack 基本概述 早在1988年,类似云计算概念的"网络就是计算机"概念就被 SUN 微系统公司 的合作创建者约翰 · 盖奇首次提出 ...

  9. 视频教程-ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频|-云平台

    ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频| ZStack云计算解决方案专家,12年虚拟化与云计算相关工作经验,先后就职于IT系统集成商.国内知名软件上市公司以及云计算服务商,分别从 ...

最新文章

  1. linux之LAMP架构优化
  2. java 委托机制_通过反射实现Java下的委托机制代码详解
  3. MATLAB中BP神经网络用于回归拟合算法实现(另附GRNN代码)
  4. 【HDU - 4055】Number String(dp,思维)
  5. QT学习笔记(十):通用算法示例
  6. dropout为什么有效
  7. 微信小程序弹框禁止下面的页面滚动
  8. 在文档阅读器上为 PDF 文档生成多级目录
  9. 三分钟介绍什么是前端开发框架
  10. java自行车e2_摩托罗拉E2 JAVA应用程序安装指南
  11. Flex实现栅格布局
  12. hssfrow 单元格样式_poi导出excel单元格中画斜线_AnyReport报表
  13. 计算机学院主管学生日常工作的是,学生会的年度计划书(网络版)doc(完整版)...
  14. 局部连接层(Locally-Connected Layer)
  15. Pixelmator for mac(图片编辑处理工具) v3.8.1激活版
  16. 不安装Office操作Excel文件(.xlsx)
  17. excel——数据透视表教程
  18. 时尚的免费杀毒软件Avast!超酷登场(提供下载)-1
  19. python协同过滤算法计算时间_协同过滤算法_coding - SegmentFault 思否
  20. 【历史上的今天】7 月 17 日:软银收购 ARM;第一次电子邮件中断;维基媒体国际会议

热门文章

  1. 移动端点击事件touch、tap、swipe等详解
  2. Nested exception: The processing instruction target matching [xX][mM][lL] is not allowed.
  3. 论向大佬提问问题的正确方式。
  4. H5网页获取微信授权登录
  5. MATLAB笔记:一些自嵌函数/built-in function
  6. SPSS .net
  7. python traceback print_python traceback捕获并打印异常
  8. SQLite基本用法
  9. esp32系列(1):Hello world, 初识esp32
  10. 提取手机上的所有apk文件