云计算与OpenStack

超星网址

传统的计算模式

计算机系统结构

1.初识云计算与Openstack-2023-08-25-22-09-05

传统的计算模式是指企业或个人在自己的本地环境中构建、管理和维护硬件设备、操作系统和应用程序,以满足其计算和存储需求。

对于个人用户的场景:需要搭建服务或者使用Linux系统环境时,我们往往需要在本地计算机上搭建虚拟机或者单独购买一套硬件来实现。
对于企业用户的场景:需要对内向员工提供项目管理等等办公服务、对外向用户提供web服务,数据库服务等等,同样需要在企业内部通过搭建数据中心来实现。

  • 需要购买和维护物理硬件设备,同时需要专业的IT团队来管理硬件和软件设施。(成本过高)
  • 资源利用率可能不高,硬件设备难以进行快速的资源分配和释放。(企业达到一定规模后难以适应多变的需求)
  • 扩展时需要购买更多硬件,时间和成本较高。(扩展性差)
  • 需要考虑容灾和高可用性,可能需要复杂的架构设计。(安全性需要得到保障)

云计算的概念

云计算的定义: 云计算是一种按使用量付费的模式,它可以实现随时随地,便捷地,随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。

和传统模式特点比较

资源池化: 传统的虚拟化技术是将单个服务器硬件虚拟成多个虚拟机,其目的也是在于提高服务器资源的利用率。但是,由于单个服务器的CPU、内存、硬盘资源颗粒度较小,因此在虚拟化应用中,经常出现资源配置空洞,要么是CPU核数没有分配完,要么是内存没有分配完,更多的情况是硬盘容量存在大量空闲。而服务器资源池化可以更好的解决上述问题。

1.初识云计算与Openstack-2023-08-26-14-41-36

云计算的特点

  1. 资源池化:云计算中的资源(如计算能力、存储、网络等)被集中管理并池化,供多个用户共享。这种资源的共享和动态分配提高了资源的利用率。
  2. 按需分配: 用户可以根据自己的需求,自主地获取和配置计算资源,无需人工干预。这种自服务模式使用户能够快速获取所需资源,提高了效率。
  3. 快速弹性扩展: 用户可以根据需要快速扩展或缩减资源,以适应业务的变化。这种弹性特性允许用户在高峰时段获得更多资源,而在低谷时段释放资源。
  4. 可用性和容灾性:许多云服务提供商提供高可用性和容灾选项,确保服务在故障时能够持续运行,减少了业务中断的风险。

可扩展一方面使得上云的应用能够根据不同时段的业务需求动态调整资源另一方面,企业可以在不停机的情况下增加任意资源;可用性使得服务器出现故障时会无缝切换到资源池上的其他资源,不管是计算资源还是存储设备都能保证24小时不间断提供服务。
基于以上特点总结:用户不需要为应用单独购买服务器、同时不需要付出管理成本,只需要付出租用的成本就可以使用到随时能够扩容的并且有专业人员维护以保障安全的计算服务。

云计算的分类

按服务对象或者运营模式分类

  1. 公有云:“公有”反映了这类云服务并非用户所拥有,公有云是面向大众提供计算资源的服务。是由第三方云服务提供商提供资源,如应用和存储,这些资源是在服务商的场所内部署。用户通过Internet互联网来获取这些资源的使用。
    公有云的优势是成本低,扩展性非常好。缺点是对于云端的资源缺乏控制、保密数据的安全性、网络性能问题。
    规模最大的几个公有云厂商:阿里云、Amazon Web Services(AWS)、Google Cloud

  2. 私有云:“私有”更多是指此类平台属于非共享资源,而非指其安全优势。私有云是为了一个客户单独使用而构建的,所以这些数据、安全和服务质量都较公有云有着更好地保障。
    在私有云模式中,云平台的资源为包含多个用户的单一组织专用。私有云可由该组织、第三方或两者联合拥有、管理和运营。私有云的部署场所可以是在机构内部,也可以在外部。

  3. 混合云:混合云结合了公有云和私有云的特点,允许数据和应用在这两者之间流动。组织可以在私有云中部署敏感数据或关键业务应用,同时利用公有云的弹性来处理突发业务需求。混合云模型可以最大程度地平衡安全性、灵活性和成本效益。

1.初识云计算与Openstack-2023-08-26-20-09-02

按服务类型分类

1.初识云计算与Openstack-2023-08-26-20-00-39

  1. IaaS(Infrastructure as a Service–基础架构即服务):
    IaaS提供了基础的计算、存储和网络资源,用户可以在这些资源上构建和管理自己的应用环境。它为用户提供了虚拟化的计算资源,包括虚拟机、存储和网络连接。用户可以根据需要自主配置和管理操作系统、应用程序和数据。

    阿里云的ECS服务器,腾讯云的CVM服务器

  2. PaaS(Platform as a Service–平台即服务):
    PaaS在IaaS的基础上提供了更高层次的服务,除了计算、存储和网络,还包括了开发和部署应用程序所需的平台环境。PaaS提供了开发工具、数据库、中间件和运行时环境等,使开发人员能够更专注于应用程序的开发而不必关心底层基础设施。

    阿里云的EDAS

    1.初识云计算与Openstack-2023-08-26-16-31-49

  3. SaaS(Software as a Service–软件即服务):
    SaaS提供完整的应用程序,用户通过互联网访问这些应用程序,无需安装和维护。SaaS应用程序由云服务提供商托管和维护,用户只需要通过浏览器或移动应用访问应用功能。

    微软的Microsoft 365,各种在线工具。

1.初识云计算与Openstack-2023-08-26-16-32-26

OpenStack介绍

OpenStack是一个自由、开源的云计算平台。它主要作为基础设施即服务(IaaS)部署在公有云和私有云中,提供虚拟服务器和其他资源给用户使用。该软件平台由相互关联的组件组成,控制着整个数据中心内不同的厂商的处理器、存储和网络资源的硬件池。用户可以通过基于网络的仪表盘、命令行工具或RESTful网络服务来管理。

OpenStack始于2010年,是Rackspace和美国国家航空航天局的合作项目。截至2012年,它由2012年9月成立的非营利组织OpenStack基金会管理,旨在促进OpenStack软件及其社区。到2018年,已经有500多家公司加入了该项目。在2020年,该基金会宣布它将在2021年更名为Open Infrastructure Foundation(开放基础设施基金会)。

适用范围

OpenStack是基础设施即服务(IaaS)软件,让任何人都可以自行建立和提供云计算服务。

此外,OpenStack也用作建立防火墙内的“私有云”(Private Cloud),提供机构或企业内各部门共享资源。

发展历程

OpenStack每半年会发布一个版本,版本从字母A开始向后按顺序的命名;OpenStack社区为了方便描述,因此他们为每一个字母来进行投票,来选出一个单词。

1.初识云计算与Openstack-2023-08-26-20-34-27

OpenStack架构

1.初识云计算与Openstack-2023-08-26-21-59-40

核心组件

  1. Keystone: 身份认证服务,用于管理用户、项目和角色,并提供认证和授权功能。
  2. Nova: 计算服务,用于创建和管理虚拟机实例,提供计算资源。
  3. Neutron: 网络服务,提供网络资源的管理和连接,包括虚拟网络、子网、路由等。
  4. Glance: 镜像服务,用于管理虚拟机镜像,用户可以从镜像创建虚拟机实例。
  5. Placement: 该组件于OpenStack Stein版本引入,主要用于优化虚拟机实例的资源分配和调度。

其他常用组件:

  1. Cinder: 块存储服务,提供虚拟机实例所需的持久性块存储,如挂载到虚拟机的卷。
  2. Swift: 对象存储服务,用于存储非结构化数据,如文件、图像和视频等。
  3. Horizon: Web 控制台,提供用户界面,用于管理和监控 OpenStack 系统。

1.初识云计算与Openstack-2023-08-26-21-11-14

OpenStack本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。
这种分布式特性让OpenStack具备极大的灵活性、伸缩性和高可用性。

示例架构

示例架构需要至少两个节点(主机)来启动基本虚拟机或实例。块存储和对象存储等可选服务需要额外的节点。

基本两节点OpenStack部署示例:

  1. 控制节点(Controller Node): 这个节点承担了OpenStack核心服务的角色,例如Identity服务 (Keystone)、Dashboard服务 (Horizon)、Compute服务 (Nova API)、网络服务 (Neutron API) 等。这个节点管理OpenStack环境的整体状态。

  2. 计算节点(Compute Node): 这个节点用于运行虚拟机实例。虚拟机的资源会在计算节点上分配和运行。它连接到控制节点以获取任务和指令,并与存储和网络资源进行交互。

这种配置适用于非常基本的测试、学习或演示用途,但在生产环境中,为了实现更高的性能、可用性和容错性,通常会使用更多的节点和组件。

1.初识云计算与Openstack-2023-08-26-22-58-14

使用packstack部署OpenStack平台

资源清单

资源名称 说明 地址
openStack-train.iso Centos + OpenStack平台镜像

基础环境配置

节点规划

节点名称(主机名) 外网网卡IP地址(网卡名:ens34) 内网网卡IP地址(网卡名:ens33)
controller 192.168.20.10 192.168.10.10
compute 192.168.20.20 192.168.10.20

利用快照快速恢复系统

  1. 控制节点虚拟机环境准备

    虚拟机列表中右键名为控制节点的虚拟机->快照->快照管理器,选中项目2 系统安装完成后转到并确认。此时虚拟机控制节点已恢复到系统安装完毕后的版本(利用快照管理器可以将虚拟机快速恢复到之前已经保存过的任意状态)。

    这一步创建好的系统ROOT账户密码000000

    1.初识云计算与Openstack-2023-08-27-20-43-21

  2. 计算节点虚拟机环境准备

    右键计算节点打开快照管理器,选中快照5.3.3设置主机IP地址完成后转到。

此时运行OpenStack所需的双节点系统环境已经创建完成,接下来做基础配置。

虚拟机网络配置

此步骤的配置需要在控制节点计算节点上完成,每个节点分别有两个网卡需要配置:一个内网网卡和一个外网网卡。

  1. 在编辑->虚拟网络编辑器可以为虚拟机配置桥接模式网络连接、NAT 和仅主机模式网络连接。

    1. 桥接模式

      桥接模式网络连接通过使用主机系统上的网络适配器将虚拟机连接到网络。如果主机系统位于网络中,桥接模式网络连接通常是虚拟机访问该网络的最简单途径。

    2. NAT模式

      使用 NAT 模式网络时,虚拟机在外部网络中不必具有自己的 IP 地址。主机系统上会建立单独的专用网络。在默认配置中,虚拟机会在此专用网络中通过 DHCP 服务器获取地址。虚拟机和主机系统共享一个网络标识,此标识在外部网络中不可见。

    3. 仅主机模式

      “仅主机模式”允许虚拟机仅与主机通信,而无法访问外部网络,适用于需要隔离的测试和开发环境。

    编辑->虚拟网络编辑器,右下角更改设置,按照节点规划仅主机模式NAT模式配置为如下图。其中仅主机模式的子网地址为192.168.10.0NAT模式的子网地址为192.168.20.0

    1.初识云计算与Openstack-2023-08-29-14-43-53

  2. 启动控制节点虚拟机,在控制节点中使用如下命令编辑网卡ens33的配置文件:

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

    编辑文件如下:

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static        # 1. 配置静态分配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=266c663e-d288-4d54-b100-00741dda6c70
    DEVICE=ens33
    ONBOOT=yes              # 2. 配置开机激活网卡
    IPADDR=192.168.10.10    # 3. 配置ip地址
    NETMASK=255.255.255.0   # 4. 配置子网掩码

    ens33作为内网网口不需要配置默认网关。

    用相同的方法配置外网网卡ens34,配置如下:

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=n
    BOOTPROTO=static        # 1. 配置静态分配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=ens34
    UUID=bf2fdda3-d6bf-4a72-953f-02cd83115887
    DEVICE=ens34
    ONBOOT=yes              # 2. 配置开机激活网卡
    IPADDR=192.168.20.10    # 3. 配置ip地址
    NETMASK=255.255.255.0   # 4. 配置子网掩码
    GATEWAY=192.168.20.2    # 5. 配置网关
    DNS1=114.114.114.114    # 6. 配置dns
    DNS2=8.8.8.8
  3. 使用命令ifup + 网卡名激活上一步修改的两个网卡配置

    [root@localhost ~]# ifup ens33
    [root@localhost ~]# ifup ens34

    使用命令ip addr查看当前网卡配置:

    [root@localhost ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
       link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
       inet 127.0.0.1/8 scope host lo
          valid_lft forever preferred_lft forever
       inet6 ::1/128 scope host
          valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
       link/ether 00:0c:29:f2:ca:50 brd ff:ff:ff:ff:ff:ff
       inet 192.168.10.10/24 brd 192.168.10.255 scope global noprefixroute ens33
          valid_lft forever preferred_lft forever
       inet6 fe80::922:6217:cb6c:e63/64 scope link noprefixroute
          valid_lft forever preferred_lft forever
    3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
       link/ether 00:0c:29:f2:ca:5a brd ff:ff:ff:ff:ff:ff
       inet 192.168.20.10/24 brd 192.168.20.255 scope global noprefixroute ens34
          valid_lft forever preferred_lft forever
       inet6 fe80::9b23:9dcb:6af7:812d/64 scope link noprefixroute
          valid_lft forever preferred_lft forever 

    作业1-参考以下命令,使用ping命令验证当前虚拟机网络,验证完成后截图上传。

    //验证内网网卡和宿主机之间的网络连通性
    [root@localhost ~]# ping -c3 -I ens33 192.168.10.1
    PING 192.168.10.1 (192.168.10.1) from 192.168.10.10 ens33: 56(84) bytes of data.
    64 bytes from 192.168.10.1: icmp_seq=1 ttl=128 time=0.154 ms
    64 bytes from 192.168.10.1: icmp_seq=2 ttl=128 time=0.587 ms
    64 bytes from 192.168.10.1: icmp_seq=3 ttl=128 time=0.461 ms 
    //验证外网网卡和外网资源的网络连通性
    [root@localhost ~]# ping -c3 -I ens34 www.baidu.com
    PING www.a.shifen.com (153.3.238.110) from 192.168.20.10 ens34: 56(84) bytes of data.
    64 bytes from 153.3.238.110 (153.3.238.110): icmp_seq=1 ttl=128 time=6.73 ms
    64 bytes from 153.3.238.110 (153.3.238.110): icmp_seq=2 ttl=128 time=6.99 ms
    64 bytes from 153.3.238.110 (153.3.238.110): icmp_seq=3 ttl=128 time=6.96 ms

到目前为止网络配置完成,下一步开始配置本地yum源

配置本地YUM源、FTP服务、防火墙

  1. 这一步是加载资源清单中列出的两个镜像源文件到虚拟机控制节点中。

    • 右键虚拟机控制节点->设置->选择已有的CD/DVD驱动器->浏览,选择本地的openStack-train.iso文件后完成镜像的加载,同时勾选已连接。

      1.初识云计算与Openstack-2023-08-28-20-13-50

  2. 重启控制节点虚拟机,镜像加载到虚拟机控制节点后还需要挂载到系统目录下才能进行读取。

    • 首先创建挂载点,挂载驱动器中的镜像到指定目录

      [root@localhost ~]# mkdir /opt/openstack    # 1. 创建挂载点
      [root@localhost ~]#
      [root@localhost ~]# mount /dev/sr0 /opt/openstack  # 2. 挂载openStack-train.iso镜像
      mount: /dev/sr0 is write-protected, mounting read-only

      挂载完成后df -h查看挂载情况

      /dev/sr0                  16G   16G     0 100% /opt/openstack
  3. 这一步配置控制节点的YUM源,控制节点的源文件在本地。

    • 删除现有的配置文件

      [root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo
    • 使用vi /etc/yum.repos.d/local.repo创建并编辑文件local.repo,并添加以下配置:

      [base]
      name=base
      baseurl=file:///opt/openstack/base/
      gpgcheck=0
      enabled=1
      [extras]
      name=extras
      baseurl=file:///opt/openstack/extras/
      gpgcheck=0
      enabled=1
      [updates]
      name=updates
      baseurl=file:///opt/openstack/updates/
      gpgcheck=0
      enabled=1
      [train]
      name=train
      baseurl=file:///opt/openstack/train/
      gpgcheck=0
      enabled=1
      [virt]
      name=virt
      baseurl=file:///opt/openstack/virt/
      gpgcheck=0
      enabled=1
    • 执行以下命令检查YUM源是否可用:

      [root@controller ~]# yum clean all           # 1. 清除缓存
      Loaded plugins: fastestmirror
      Cleaning repos: base extras train updates virt
      Cleaning up list of fastest mirrors
      [root@controller ~]# yum makecache           # 2. 重建缓存
      Loaded plugins: fastestmirror
      Determining fastest mirrors
      base                                                                                                                      | 2.9 kB  00:00:00
      extras                                                                                                                    | 2.9 kB  00:00:00
      train                                                                                                                     | 2.9 kB  00:00:00
      updates                                                                                                                   | 2.9 kB  00:00:00
      virt                                                                                                                      | 2.9 kB  00:00:00
      (1/15): base/primary_db                                                                                                   | 6.0 MB  00:00:00
      (2/15): base/filelists_db                                                                                                 | 7.0 MB  00:00:00
      (3/15): base/other_db                                                                                                     | 2.5 MB  00:00:00
      (4/15): extras/filelists_db                                                                                               | 259 kB  00:00:00
      (5/15): extras/other_db                                                                                                   | 145 kB  00:00:00
      (6/15): extras/primary_db                                                                                                 | 241 kB  00:00:00
      (7/15): train/filelists_db                                                                                               | 3.6 MB  00:00:00
      (8/15): train/primary_db                                                                                                 | 1.2 MB  00:00:00
      (9/15): train/other_db                                                                                                   | 465 kB  00:00:00
      (10/15): updates/filelists_db                                                                                             | 6.5 MB  00:00:00
      (11/15): updates/primary_db                                                                                               |  14 MB  00:00:00
      (12/15): updates/other_db                                                                                                 | 914 kB  00:00:00
      (13/15): virt/filelists_db                                                                                                |  14 kB  00:00:00
      (14/15): virt/other_db                                                                                                    |  45 kB  00:00:00
      (15/15): virt/primary_db                                                                                                  |  56 kB  00:00:00
      Metadata Cache Created
      [root@controller ~]# yum repolist            # 3. 查看仓库列表
      Loaded plugins: fastestmirror
      Loading mirror speeds from cached hostfile
      repo id                                                              repo name                                                             status
      base                                                                 base                                                                  10,039
      extras                                                               extras                                                                   500
      train                                                                train                                                                  3,168
      updates                                                              updates                                                                3,182
      virt                                                                 virt                                                                      63
    • 到目前为止控制节点的YUM源配置完毕,最后在控制节点上设置域名解析、关闭防火墙、安装FTP服务器为计算节点提供服务

      [root@controller ~]# hostnamectl set-hostname controller  # 1. 修改主机名

      修改完主机名后ctrl + D退出当前会话重新登录验证主机名设置是否生效。

      • /etc/hosts文件最后添加以下两行域名解析

        192.168.10.10 controller
        192.168.10.20 compute
      • 修改/etc/selinux/config文件中的SELINUX=enforcingSELINUX=disabled

        [root@controller ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
      • 禁用SELinux和防火墙

        [root@controller ~]# setenforce 0                   # 1. 禁用SELinux
        [root@controller ~]# systemctl disable firewalld    # 2. 关闭开机启动防火墙
        Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
        Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
        [root@controller ~]# systemctl stop firewalld       # 3. 立即关闭防火墙
        [root@controller ~]# yum remove -y NetworkManager   # 4. 卸载网络管理器
      • 安装配置FTP服务端

        [root@controller ~]# yum -y install vsftpd       # 1. 安装ftp服务端

        /etc/vsftpd/vsftpd.conf文件中加入一行anon_root=/opt,设置匿名用户访问的根目录为YUM源所挂载的目录

        [root@controller ~]# echo "anon_root=/opt" >> /etc/vsftpd/vsftpd.conf
        [root@controller ~]# systemctl start vsftpd      # 1. 立刻启动FTP服务端
        [root@controller ~]# systemctl enable vsftpd     # 2. 设置开机启动
        Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

  1. 这一步配置计算节点的YUM源,通过FTP服务访问挂载到控制节点的源文件。

    • 修改计算节点的主机名

      [root@localhost ~]# hostnamectl set-hostname compute  # 1. 修改主机名
    • /etc/hosts文件最后添加以下两行域名解析

      192.168.10.10 controller
      192.168.10.20 compute
    • 修改/etc/selinux/config文件中的SELINUX=enforcingSELINUX=disabled

    • 禁用SELinux和防火墙

      [root@compute ~]# setenforce 0                   # 1. 禁用SELinux
      [root@compute ~]# systemctl disable firewalld    # 2. 关闭开机启动防火墙
      Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
      Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
      [root@compute ~]# systemctl stop firewalld       # 3. 立即关闭防火墙
      [root@compute ~]# yum remove -y NetworkManager   # 4. 卸载网络管理器
    • 删除已有配置文件

      [root@compute ~]# rm -rf /etc/yum.repos.d/*.repo

      创建配置文件/etc/yum.repos.d/local.repo,并添加以下配置:

      [base]
      name=base
      baseurl=ftp://controller/openstack/base/
      gpgcheck=0
      enabled=1
      [extras]
      name=extras
      baseurl=ftp://controller/openstack/extras/
      gpgcheck=0
      enabled=1
      [updates]
      name=updates
      baseurl=ftp://controller/openstack/updates/
      gpgcheck=0
      enabled=1
      [train]
      name=train
      baseurl=ftp://controller/openstack/train/
      gpgcheck=0
      enabled=1
      [virt]
      name=virt
      baseurl=ftp://controller/openstack/virt/
      gpgcheck=0
      enabled=1
    • 执行以下命令检查YUM源是否可用:

      [root@compute ~]# yum clean all           # 1. 清除缓存
      Loaded plugins: fastestmirror
      Cleaning repos: base extras train updates virt
      Repository base is listed more than once in the configuration
      Repository extras is listed more than once in the configuration
      Repository updates is listed more than once in the configuration
      Cleaning up list of fastest mirrors
      [root@compute ~]# yum makecache         # 2. 重建缓存
      Loaded plugins: fastestmirror
      Repository base is listed more than once in the configuration
      Repository extras is listed more than once in the configuration
      Repository updates is listed more than once in the configuration
      Determining fastest mirrors
      * base: mirrors.aliyun.com
      * extras: mirrors.aliyun.com
      * updates: mirrors.aliyun.com
      base                                                                                                                      | 3.6 kB  00:00:00
      extras                                                                                                                    | 2.9 kB  00:00:00
      train                                                                                                                     | 2.9 kB  00:00:00
      updates                                                                                                                   | 2.9 kB  00:00:00
      virt                                                                                                                      | 2.9 kB  00:00:00
      (1/15): base/primary_db                                                                                                   | 6.0 MB  00:00:00
      (2/15): base/filelists_db                                                                                                 | 7.0 MB  00:00:00
      (3/15): base/other_db                                                                                                     | 2.5 MB  00:00:00
      (4/15): extras/filelists_db                                                                                               | 259 kB  00:00:00
      (5/15): extras/other_db                                                                                                   | 145 kB  00:00:00
      (6/15): extras/primary_db                                                                                                 | 241 kB  00:00:00
      (7/15): train/filelists_db                                                                                               | 3.6 MB  00:00:00
      (8/15): train/primary_db                                                                                                 | 1.2 MB  00:00:00
      (9/15): train/other_db                                                                                                   | 465 kB  00:00:00
      (10/15): updates/filelists_db                                                                                             | 6.5 MB  00:00:00
      (11/15): updates/primary_db                                                                                               |  14 MB  00:00:00
      (12/15): updates/other_db                                                                                                 | 914 kB  00:00:00
      (13/15): virt/filelists_db                                                                                                |  14 kB  00:00:00
      (14/15): virt/other_db                                                                                                    |  45 kB  00:00:00
      (15/15): virt/primary_db                                                                                                  |  56 kB  00:00:00
      Metadata Cache Created
      [root@compute ~]# yum repolist          # 3. 查看仓库列表
      Loaded plugins: fastestmirror
      Loading mirror speeds from cached hostfile
      repo id                                                              repo name                                                             status
      base                                                                 base                                                                  10,039
      extras                                                               extras                                                                   500
      train                                                                train                                                                  3,168
      updates                                                              updates                                                                3,182
      virt                                                                 virt                                                                      63
      repolist: 17,906

    作业2-完成上述yum repolist命令后截图上传。

安装OpenStack平台

  • 继续安装其他软件,控制节点安装配置deltarpm来兼容packstack

    [root@controller ~]# yum -y install deltarpm

    /etc/yum.conf文件中加一行禁用deltarpm

    [root@controller ~]# echo "deltarpm=0" >>/etc/yum.conf
  • 计算节点安装配置deltarpm来兼容packstack

    [root@compute ~]# yum -y install deltarpm

    /etc/yum.conf文件中加一行禁用deltarpm

    [root@compute ~]# echo "deltarpm=0" >>/etc/yum.conf
  • 配置iptables允许ftp服务的20/21端口

    1. 编辑文件 /etc/sysconfig/iptables-config ,设置第6行IPTABLES_MODULES=值为ip_conntrack_ftp

      IPTABLES_MODULES="ip_conntrack_ftp"
    2. 使用iptables命令添加两行防火墙规则

      [root@controller ~]# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
      [root@controller ~]# iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
      [root@controller ~]# iptables -L
      [root@controller ~]# iptables-save > /etc/sysconfig/iptables
  • 在控制节点安装packstack

    [root@controller ~]# yum install -y openstack-packstack
  • 生成配置文件

    [root@controller ~]# packstack --gen-answer-file=openstack.txt --os-neutron-l2-agent=openvswitch --os-neutron-ml2-mechanism-drivers=openvswitch --os-neutron-ml2-tenant-network-types=vxlan --os-neutron-ml2-type-drivers=vxlan,flat --provision-demo=n --os-neutron-ovs-bridge-mappings=extnet:br-ex --os-neutron-ovs-bridge-interfaces=br-ex:ens34
  • 修改配置文件中的IP地址为内网IP

    [root@controller ~]# sed -i 's/192.168.20.10/192.168.10.10/g' openstack.txt

    修改文件openstack.txt中计算机点的IP

    [root@controller ~]# sed -i 's/CONFIG_COMPUTE_HOSTS=.*/CONFIG_COMPUTE_HOSTS=192.168.10.20/g' openstack.txt
  • 开始安装OpenStack

    packstack --answer-file=openstack.txt

    packstack运行结束后如下图

    1.初识云计算与Openstack-2023-08-31-01-28-23

  • 登录OpenStack平台

    接下来可以通过预先配置的网址http://192.168.10.10/dashboard访问OpenStack平台

    账户信息通过cat keystonerc_admin查看

作业3-登录OpenStack平台后截图上传