Hello!大家好,今天阿坤为大家带来8G内存的云平台搭建,按照官方的标准是需要32G,最少也是16G内存的,但是阿坤觉的还不是极限,所以今天带大家挑战8G内存搭建最小云平台!

环境准备

1.总共需要三台虚拟机配置如下:
openstack主机配置:
2个CPU,6G内存(空闲内存),50G硬盘
nova1主机配置:
2个CPU,3.9G内存(空闲内存),100G硬盘
nova2主机配置:
2个CPU,3.9G内存(空闲内存),100G硬盘
2.配置静态IP:
openstack:192.168.1.20
nova1:192.168.1.21
nova2:192.168.1.22
3.配置主机名/etc/hosts
4.确保互相ping通
5.配置dns服务器/etc/resolv.conf
6.配置时间同步/etc/chrony.conf
7.配置专用Yum源
8.装包并安装openstack

具体步骤

所有操作以openstack主机操作为例
1.创建虚拟机

[root@room9pc01 ~]# sh vc.sh         //这个是自己写的创建虚拟机觉本
vm-manager> vmcreate
请输入虚拟机名字: openstack8
请输入虚拟机大小: 50G
Formatting '/var/lib/libvirt/images/openstack8.img', fmt=qcow2 size=53687091200 backing_file='.node_base.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
定义域 openstack8(从 /etc/libvirt/qemu/openstack8.xml)
vm-manager> vmcreate
请输入虚拟机名字: nova1
请输入虚拟机大小: 100G
Formatting '/var/lib/libvirt/images/nova1.img', fmt=qcow2 size=107374182400 backing_file='.node_base.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
定义域 nova1(从 /etc/libvirt/qemu/nova1.xml)vm-manager> vmcreate
请输入虚拟机名字: nova2
请输入虚拟机大小: 100G
Formatting '/var/lib/libvirt/images/nova2.img', fmt=qcow2 size=107374182400 backing_file='.node_base.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
定义域 nova2(从 /etc/libvirt/qemu/nova2.xml)vm-manager> quit
[root@room9pc01 ~]# vim /etc/libvirt/qemu/openstack8.xml
...<memory unit='KiB'>8188928</memory>                       //大小设置成8G就可以<currentMemory unit='KiB'>8188284</currentMemory>  //虚拟内存一般都和真实内存相同(切记不可大于真实内存设置)
...
[root@room9pc01 ~]# vim /etc/libvirt/qemu/nova1.xml     //nova2和nova1内存设置一样
...<memory unit='KiB'>4698112</memory>               //4.5G即可<currentMemory unit='KiB'>4697088</currentMemory>
...

2.配置IP就不带着大家浪费时间啦
3.配置主机名/etc/hosts

[root@openstack8 ~]# vim /etc/hosts      //nova1,nova2进行一样操作,或者直接scp
# ::1           localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.20    openstack8     //主机名+IP
192.168.1.21    nova1
192.168.1.22    nova2
:wq   //保存退出

4.确保互相ping通

[root@openstack8 ~]# ping -c 2 nova1
PING nova1 (192.168.1.21) 56(84) bytes of data.
64 bytes from nova1 (192.168.1.21): icmp_seq=1 ttl=255 time=0.513 ms
64 bytes from nova1 (192.168.1.21): icmp_seq=2 ttl=255 time=0.636 ms--- nova1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.513/0.574/0.636/0.066 ms
[root@openstack8 ~]# ping -c 2 nova2
PING nova2 (192.168.1.22) 56(84) bytes of data.
64 bytes from nova2 (192.168.1.22): icmp_seq=1 ttl=255 time=2.02 ms
64 bytes from nova2 (192.168.1.22): icmp_seq=2 ttl=255 time=0.608 ms--- nova2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.608/1.315/2.023/0.708 ms
[root@openstack8 ~]# ping -c 2 openstack8
PING openstack8 (192.168.1.20) 56(84) bytes of data.
64 bytes from openstack8 (192.168.1.20): icmp_seq=1 ttl=255 time=0.147 ms
64 bytes from openstack8 (192.168.1.20): icmp_seq=2 ttl=255 time=0.095 ms--- openstack8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.095/0.121/0.147/0.026 ms
[root@openstack8 ~]#

5.配置dns服务器/etc/resolv.conf

[root@openstack8 ~]# vim /etc/resolv.conf       //nova1,nova2进行一样操作,或者直接scp
; generated by /usr/sbin/dhclient-script
#search localhost        //必须注释掉或者删掉,否则安装后会导致某些功能报错
nameserver 192.168.1.254
:wq   //保存退出

6.配置时间同步/etc/chrony.conf

[root@openstack8 ~]# vim /etc/chrony.conf    //nova1,nova2进行一样操作,或直接scp
...
server 192.168.1.254 iburst    //修改成真机ip保持时间一致
...
:wq   //保存退出
[root@openstack8 ~]# systemctl restart chronyd      //改完配置文件必须重启服务,三台都做
[root@openstack8 ~]# chkconfig chronyd on            //并设置开机自启(个人习惯6、7混合用),三台都做
注意:正在将请求转发到“systemctl enable chronyd.service”。
[root@openstack8 ~]# chronyc sources -v    //三台机器都执行一遍用来检查时间是否同步成功
210 Number of sources = 1.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* gateway                       3   6   377    58   +108us[ +153us] +/-   15ms
// 如果gateway前面符号为^*说明同步OJBK,若为^~则同步NOJBK

7.配置专用Yum源
1)真机上操作
从网上下载好所需要用的包,这里我吧它分成了两个目录分别是,extras和opentsack目录,并搭建ftp服务器使虚拟机可以挂载yum源,实际上我们用到的主要是extras源以及rhel-7-server-openstack-10-rpms源和rhel-7-server-openstack-10-devtools-rpms源.

[root@room9pc01 ~]# ls /var/ftp/{extras,openstack}/
/var/ftp/extras/:
comps.xml  Packages  repodata  version.txt/var/ftp/openstack/:
docs                                      rhel-7-server-rhceph-2-osd-rpms
rhel-7-server-openstack-10-devtools-rpms  rhel-7-server-rhceph-2-tools-rpms
rhel-7-server-openstack-10-optools-rpms   rhel-7-server-rhscon-2-agent-rpms
rhel-7-server-openstack-10-rpms           rhel-7-server-rhscon-2-installer-rpms
rhel-7-server-openstack-10-tools-rpms     rhel-7-server-rhscon-2-main-rpms
rhel-7-server-rhceph-2-mon-rpms           version.txt

2)openstack服务器操作

[root@openstack8 ~]# vim /etc/yum.repos.d/local.repo   //三台都配置,或者直接scp
[local_repo]                                        //本地正常源
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=0
[extras]                                            //以下三个都是openstack需要用的三个源
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/extras"
enabled=1
gpgcheck=0
[openstack1]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0
[openstack2]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
:wq   //保存退出
[root@openstack8 ~]# for i in openstack8 nova1 nova2
> do
> scp /etc/yum.repos.d/local.repo $i:/etc/yum.repos.d/
> done
local.repo                                                               100%  488   324.7KB/s   00:00
local.repo                                                               100%  488   192.2KB/s   00:00
local.repo                                                               100%  488   313.0KB/s   00:00
[root@openstack8 ~]# for i in openstack8 nova1 nova2   //检查三台机器源是否成功加载
> do
> ssh $i 'yum repolist'
> done
已加载插件:fastestmirror
Determining fastest mirrors
源标识                             源名称                                  状态
extras                             CentOS-7 - Base                            76
local_repo                         CentOS-7 - Base                         9,911
openstack1                         CentOS-7 - Base                           680
openstack2                         CentOS-7 - Base                             3
repolist: 10,670                                //都显示10670个包yum源就搭建完毕啦
已加载插件:fastestmirror
Determining fastest mirrors
源标识                             源名称                                  状态
extras                             CentOS-7 - Base                            76
local_repo                         CentOS-7 - Base                         9,911
openstack1                         CentOS-7 - Base                           680
openstack2                         CentOS-7 - Base                             3
repolist: 10,670
已加载插件:fastestmirror
Determining fastest mirrors
源标识                             源名称                                  状态
extras                             CentOS-7 - Base                            76
local_repo                         CentOS-7 - Base                         9,911
openstack1                         CentOS-7 - Base                           680
openstack2                         CentOS-7 - Base                             3
repolist: 10,670

8.装包并安装openstack
1)装包
nova1,nova2服务器

[root@nova1 ~]# yum -y install qemu-kvm libvirtdaemon libvirt-daemon-driver-qemu libvirt-client  //nova2做相同操作,总计87个包
...

openstack服务器

[root@openstack8 ~]# yum -y install qemu-kvm libvirtdaemon libvirt-daemon-driver-qemu libvirt-client python-setuptools    //openstack服务器上装五个包,总计91个
....

2)安装openstack

[root@openstack8 ~]# yum install -y openstack-packstack   //安装openstack包,总计77个包
...
[root@openstack8 ~]# packstack --gen-answer-file=answer.ini   //创建通用应答文件[root@openstack8 ~]# vim answer.ini...
42   CONFIG_SWIFT_INSTALL=n      //swift对象存储的安装,因为没有,所以使用本地硬盘
45   CONFIG_CEILOMETER_INSTALL=n     //计费模块
49   CONFIG_AODH_INSTALL=n         //计费模块
53   CONFIG_GNOCCHI_INSTALL=n          //计费模块
75   CONFIG_NTP_SERVERS=192.168.1.254      // ntp服务器地址
98   CONFIG_COMPUTE_HOSTS=192.168.1.11     //nova组件安装的主机地址
102  CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11     //neutron组件安装的主机地址
333  CONFIG_KEYSTONE_ADMIN_PW=a                //默认的管理员密码 330是用户名
840  CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat      //支持的网络协议, flat直连网络,vxlan-->valn的扩展模式vlan支持1-4096个用户,vxlan比较大
910  CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex    //虚拟交换机的名称
921  CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0       //指定br-ex交换机外网出口的网卡
1179 CONFIG_PROVISION_DEMO=n                //演示demo 关闭...:wq
[root@openstack8 ~]# packstack --answer-file=answer.ini       //一键部署openstack,时间大概20分钟~40分钟不等
Welcome to the Packstack setup utilityThe installation log file is available at: /var/tmp/packstack/20191009-112804-UhwdSh/openstack-setup.logInstalling:
Clean Up                                             [ DONE ]
Discovering ip protocol version                      [ DONE ]
Setting up ssh keys                                  [ DONE ]
Preparing servers                                    [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries                        [ DONE ]
Installing time synchronization via NTP              [ DONE ]
Setting up CACERT                                    [ DONE ]
Preparing AMQP entries                               [ DONE ]
Preparing MariaDB entries                            [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries                           [ DONE ]
Preparing Glance entries                             [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries                             [ DONE ]
Preparing Nova API entries                           [ DONE ]
Creating ssh keys for Nova migration                 [ DONE ]
Gathering ssh host keys for Nova migration           [ DONE ]
Preparing Nova Compute entries                       [ DONE ]
Preparing Nova Scheduler entries                     [ DONE ]
Preparing Nova VNC Proxy entries                     [ DONE ]
Preparing OpenStack Network-related Nova entries     [ DONE ]
Preparing Nova Common entries                        [ DONE ]
Preparing Neutron LBaaS Agent entries                [ DONE ]
Preparing Neutron API entries                        [ DONE ]
Preparing Neutron L3 entries                         [ DONE ]
Preparing Neutron L2 Agent entries                   [ DONE ]
Preparing Neutron DHCP Agent entries                 [ DONE ]
Preparing Neutron Metering Agent entries             [ DONE ]
Checking if NetworkManager is enabled and running    [ DONE ]
Preparing OpenStack Client entries                   [ DONE ]
Preparing Horizon entries                            [ DONE ]
Preparing Puppet manifests                           [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 192.168.1.20_controller.pp
192.168.1.20_controller.pp:                          [ DONE ]
Applying 192.168.1.20_network.pp
Applying 192.168.1.21_network.pp
192.168.1.20_network.pp:                             [ DONE ]
192.168.1.21_network.pp:                             [ DONE ]
Applying 192.168.1.21_compute.pp
192.168.1.21_compute.pp:                             [ DONE ]
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]**** Installation completed successfully ******                        //出现successfully就成功啦Additional information:* File /root/keystonerc_admin has been created on OpenStack client host 192.168.1.20. To use the command line tools you need to source the file.* To access the OpenStack Dashboard browse to http://192.168.1.20/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.* The installation log file is available at: /var/tmp/packstack/20191009-112804-UhwdSh/openstack-setup.log* The generated manifests are available at: /var/tmp/packstack/20191009-112804-UhwdSh/manifests
[root@openstack8 ~]#
[root@openstack8 ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf    //Horizon 存在一个软件的配置BUG
WSGIApplicationGroup %{GLOBAL}         //在35行后下面加上这一行就可以解决
[root@openstack8 ~]#apachectl graceful     //重新加载配置

最后在真机上登入网站

[root@room9pc01 ~]# firefox 192.168.1.20   //出现如图首页

用户默认admin,密码是你当时改的密码

登入成功后显示界面

到这呢阿坤的8G openstack云平台就挑战成功辽,至于为什么没nova1,nova2一起安装呢,是因为电脑内存不允许呀,小编怕爆内存,所以安全起见就只先安装了nova1,至于nova2配置够的小伙伴可以一试哦!

CentOS上搭建OpenStack云平台只需8G内存!!!相关推荐

  1. 手把手教你搭建OpenStack云平台(超级详细)

    一.前言 OpenStack云平台搭建需要两个节点,一个是controller(控制节点),另一个是compute(计算节点). 控制节点(controller)规划如下: 一块200G的硬盘.两块网 ...

  2. 【OpenStack云平台】搭建openstack云平台

    1. 系统镜像 安装运行环境系统要求为CentOS7.5,内核版本不低于3.10. CentOS-7.5-x86_64-DVD-1804.iso Chinaskill_Cloud_iaas.iso 2 ...

  3. 搭建过程:在Centos上搭建个人云盘NextCloud

    前言 为什么使用NextCloud 之前一直使用Windows自带的OneDrive,但有以下问题妨碍使用: 同步速度堪忧 空间非常有限 把自己的数据保存在他人的服务器上总觉得不舒服. NextClo ...

  4. Openstack云平台的搭建与部署(具体实验过程截图评论拿)

    目录 Openstack云平台的搭建与部署................................... 3 Keywords:Openstack.Cloud Computing.Iaas.. ...

  5. 干货 | 手把手教你搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...

  6. 手把手带你去搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...

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

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

  8. 先电Openstack云平台搭建【超级详细】【附带镜像】

    前言 大二上学期学习Openstack,苦于百度与CSDN上没有对应版本的教程,学的十分艰难,在此,将我的Openstack云平台搭建过程写出,留给新手学习 准备工作: VMware Workstat ...

  9. OpenStack云平台搭建(3) | 部署Glance

    目录 1.登录数据库授权 2.安装glance 3.测试一下 安装部署Glance镜像服务 Image Service  镜像服务: 代号:Glance: 为云平台虚拟机提供镜像服务,例如:上传镜像. ...

最新文章

  1. mysql表大小限制_技术分享 | 在磁盘上查找 MySQL 表的大小
  2. iOS开源项目周报0316
  3. C语言左移位符号 << 结合 |= 实现置位操作
  4. RealARM210 V3.2硬件版本 nand flash地址分配明细
  5. matlab胡良剑第五章,MATLAB习题参考答案(胡良剑,孙晓君)
  6. java电脑运行视频演示_javaweb视频第一天(二)
  7. java 学生课程成绩_Java课设--学生成绩管理系统一
  8. Java基础——JSP(三)
  9. Springboot整合ES
  10. Push or pull?
  11. 深度时空3D卷积神经网络用于交通预测
  12. python机器学习分析影响房价的主要因素
  13. 阿里巴巴字体图标库使用及更新方法
  14. python counter转换为列表_Python标准库---collections.counter
  15. 1934 贝茜放慢脚步(二路归并)
  16. 域前置,水太深,偷学六娃来隐身
  17. kernel源代码标记:mainline 、longterm、stable、linux-next、snapshot的含义
  18. 基于javaweb+jsp的鲜花花卉销售管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)
  19. ubuntu 安裝 jdk 6 遇到的問題
  20. 50个超酷photoshop动作演示及下载

热门文章

  1. 韩国美女的16种味道
  2. mysql读写分离 abp_mysql读写分离策略
  3. 漫画:二分法系列篇(第一讲)
  4. android名字最长,AaaaaAAaaa...体验史上名字最长的游戏
  5. 计算机专业学生 | 要尝试去学会阅读源码,它能让你学会很多!
  6. 解决‘from sklearn.inspection import DecisionBoundaryDisplay‘行代码爆红问题
  7. 通达信板块监控指标_通达信辅助判断指标公式行业板块看盘幅图
  8. 关闭互斥句柄达到游戏多开MFC源码
  9. Hibernate数据库方言
  10. 使用Systemctl命令来管理系统服务