第一部分:IaaS云计算基础架构平台

服务器:先电

任务一、IaaS云平台搭建

基础环境:

1.使用命令行方式设置主机名,防火墙以及 SELinux 设置如下:

(1)设置控制节点主机名 controller;计算节点主机名:compute。

 hostnamectl set-hostname controller
hostnamectl set-hostname compute

(2)各个节点关闭防火墙,设置开机不启动。

systemctl stop firewalld.service
systemctl disable firewalld.service

(3)设置各个节点 selinux 状态为 permissive。

vi /etc/selinux/config
SELINUX=permissive

2.使用命令查询控制/计算节点的主机名。

 hostname

3 .使用命令查询控制/计算节点 selinux 的状态。

getenforce

4 .在控制节点上通过 SecureFX 上传两个镜像文件

CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,使用命 令创建/opt 下两个目录,并将以上镜像文件分别挂载到上述两个目录下,并 使用命令查看挂载的情况(需显示挂载的文件系统类型和具体的大小)。

 mkdir /opt/centos /opt/iaas
 mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
 mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
 df-Th

5 .在控制节点上通过 SecureFX 上传两个镜像文件

CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,通过命 令行创建两个目录,并将以上镜像文件分别挂载到上述两个目录下。

 mkdir /opt/centos /opt/iaas
 mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
 mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
 df-Th

6 .配置控制节点本地 yum 源文件 local.repo ,搭建 ftp 服务器指向存放 yum 源路径;配置计算节点 yum 源文件 ftp.repo 使用之前配置的控制节点 ftp 作 为 yum 源,其中的两个节点的地址使用主机名表示。使用 cat 命令查看上述 控制/计算节点的 yum 源全路径配置文件。

[controller]

在/etc/yum.repos.d创建local.repo源文件

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=file:///opt/iaas-repo

gpgcheck=0

enabled=1

[root@controller ~]# cat /etc/yum.repos.d/local.repo

【compute】

在/etc/yum.repos.d创建ftp.repo源文件

[centos]

name=centos

baseurl=ftp://192.168.100.10/centos

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=ftp://192.168.100.10/iaas-repo

gpgcheck=0

enabled=1

#  cat /etc/yum.repos.d/ftp.repo

7. 在控制节点和计算节点分别安装 iaas-xiandian 软件包,完成配置文件中基 本变量的配置,并根据提供的参数完成指定变量的配置。

yum install -y iaas-xiandian

vi /etc/xiandian/openrc.sh

传送命令scp /etc/xiandian/openrc.sh 192.168.100.20:/etc/xiandian/

任务二、IaaS云平台运维

1.按以下配置在云平台中创建云主机,完成本任务下的相关试题后关闭云主 机。

云主机:

(1)名称:IaaS

(2)镜像文件:Xiandian-IaaS-All.qcow2

(3)云主机类型:4cpu、8G 内存、100G 硬盘

(4)网络:网络 1:int-net1,绑定浮动 IP

网络 2:int-net2

注:该镜像已安装 IaaS 平台所有可能使用的组件,用于完成 IaaS 平台相关 运维操作题,必须按以上配置信息配置接入两个网络才能保证云主机运行正常。

根据题目要求,连接相应的云主机或各节点服务器,进行以下答题。

Nova运维:

1.修改云平台中默认每个 tenant 的实例注入文件配额大小,并修改。

 nova quota-class-show default

 nova quota-class-update --instances 20 default

 nova quota-class-show default

2.通过 nova 的相关命令创建云主机类型,并查询该云主机的详细信息。

  nova flavor-create exam 1234 1024 20 2

  nova flavor-show 1234

3.使用 nova 相关命令,查询 nova 所有服务状态。

  nova service-list

4.修改云平台中默认每个 tenant 的实例配额个数并查询。

  nova quota-class-show default

  nova quota-class-update --instances 20 default

  nova quota-class-show default

5.使用 nova 相关命令,查询 nova 所有的监控列表,并查看监控主机的详细 信息。

[root@controller ~]#nova hypervisor-list

[root@controller ~]#nova hypervisor-show controller

6.使用 grep 命令配合-v 参数控制节点/etc/nova/nova.conf 文件中有效的命令行覆盖输出到/etc/novaback.conf 文件。

7.此题可使用物理 iaas 环境,使用 nova 相关命令,启动一个云主机,云主 机类型使用 m1.small,镜像使用 CentOS_6.5_x86_64_XD.qcow2,云主机名 称为 examtest。

8.此题可使用物理 iaas 环境,使用 openstack 相关命令,启动一个云主机, 云主机类型使用 m1.small,镜像使用 centos6.5,云主机名称为 xxxtest,并 使用 openstack 命令查看此云主机的详细信息。

9.此题可使用物理环境,登录 dashboard 界面,创建一台虚拟机,将该虚拟 机使用手动迁移的方式,迁移至另一个计算节点并查看。(controller 既是 控制也是计算)

10.登录 iaas-all 云主机,修改 nova 后端默认存储位置。

11.修改相应的配置文件,使得 openstack 云主机的工作负载实现所要求的性 能、可靠性和安全性。

12.配置 NFS 网络存储作为 nova 的后端存储。

Cinder 运维:

1.使用分区工具,对/dev/vda 进行分区,创建一个分区,使用命令将刚创建 的分区创建为物理卷,然后使用命令查看物理卷信息。

**[root@cyw ~]# fdisk /dev/vda**

**Command (m for help): m**

**Command action**

**   a   toggle a bootable flag**

**   b   edit bsd disklabel**

**   c   toggle the dos compatibility flag**

**   d   delete a partition**

**   g   create a new empty GPT partition table**

**   G   create an IRIX (SGI) partition table**

**   l   list known partition types**

**   m   print this menu**

**   n   add a new partition**

**   o   create a new empty DOS partition table**

**   p   print the partition table**

**   q   quit without saving changes**

**   s   create a new empty Sun disklabel**

**   t   change a partition's system id**

**   u   change display/entry units**

**   v   verify the partition table**

**   w   write table to disk and exit**

**   x   extra functionality (experts only)**

**Command (m for help): p**

**Command (m for help): n**

**Partition type:**

**   p   primary (0 primary, 0 extended, 4 free)**

**   e   extended**

**Select (default p): p**

**Partition number (1-4, default 1): 1**

**First sector (2048-83873316, default 2048):**

**Using default value 2048**

**Last sector, +sectors or +size{K,M,G} (2048-83873316, default 83873316): 10240**

**Partition 1 of type Linux and of size 4 MiB is set**

2.使用命令查看当前卷组信息,使用命令创建逻辑卷,查询该逻辑卷详细信 息。

3.创建一个卷类型,然后创建一块带这个卷类型标识的云硬盘,查询该云硬 盘的详细信息。

4.通过命令行创建云硬盘,将其设置为只读,查询该云硬盘的详细信息。

5.通过命令行创建云硬盘,查询该云硬盘的详细信息。

6.使用命令,对/dev/vda 分区,并把这个分区创建成物理卷,然后再把这个 物理卷加入到 cinder-volumes 卷组中,查看卷组详情。

7.使用命令创建一个云硬盘,然后通过 lvm 相关命令查看该云硬盘的详细信 息,最后通过 cinder 命令对这块云硬盘进行扩容操作,并查看详细信息。

8.登录 iaas 云主机,使用命令对硬盘/dev/vda 进行分区,将这个分区创建为 物理卷并使用 pvs 查看,然后将这个物理卷添加到 cinder-volumes 卷组中并 使用 vgs 查看。

9 .登录 controller 节点,创建云主机,镜像使用 centos6.5,flavor 使用 m1.medium,配置好网络。然后给云主机 iaas 挂载一个云硬盘,使用这块云 硬盘,把云主机 iaas 的根目录扩容,最后在 iaas 云主机上用 df -h 命令查看。

[root@controller ~]# lsblk

[root@controller ~]# vgs

[root@controller ~]# lvs

[root@controller ~]# pvcreate /dev/vda3

[root@controller ~]# vgextend VolGroup /dev/vda3

[root@controller ~]# vgs

[root@controller ~]# lVextend -L +5G /dev/mapper/VolGroup-lv_root

[root@controller ~]# df -h

[root@controller ~]# resize2fs /dev/mapper/volGroup-lv_root

[root@controller ~]# df -h

10 .登录“iaas-all”云主机,使用命令对磁盘/dev/vda 进行分区,然后使用命令, 创建 raid 磁盘阵列,最后将 md0 格式化为 ext4 格式并查看该磁盘阵列的 UUID。

12 .登录“iaas-all”云主机,查看 cinder 后端存储空间大小,将 cinder 存储空间 扩容 10 个 G 大小,最后查看 cinder 后端存储空间大小。

13 .修改相应的配置文件,增加 cinder backup 后端备份。

14.配置 NFS 网络存储作为 cinder 的后端存储。

Swift 运维:

3.使用 swift 相关命令,查询 swift 对象存储服务可以存储的单个文件大小的 最大值。

6.登录 IaaS 云主机,创建 swifter 用户,并创建 swift 租户,将 swifter 用户规 划到 swift 租户下,赋予 swifter 用户使用 swift 服务的权限,并通过 url 的方 式使用该用户在 swift 中创建容器。

7.使用 url 的方式,用 admin 账号在 swift 中创建容器,创建完之后用 url 的 方式查看容器列表。

8.配置 swift 对象存储为 glance 的后端存储,并查看。

KVM运维:

1.在物理云平台查询云主机 IaaS 在 KVM 中的真实实例名,在计算节点使用

virsh 命令找到该实例名对应的 domain-id,使用该 domain-id 关闭云主机 IaaS。

2.在物理云平台查询云主机 IaaS 在 KVM 中的真实实例名,在计算节点使用

virsh 命令找到该实例名对应的 domain-id,使用该 domain-id 重启云主机 IaaS。

3.此题使用物理 iaas 平台。登录 compute 节点,使用命令将 KVM 进程绑定 到特定的 cpu 上。

[root@controller ~]# ps -e|grep kvm

4.此题使用物理平台。登录 controller 节点,调优 kvm 的 I/O 调度算法,centos7 默认的是 deadline,使用命令将参数改为 noop 并查询。

5.此题使用物理 iaas 平台。登录 controller 节点,使用 cat 命令,只查看当前

最后将大页挂载到/dev/hugepages/上。

6.登录 192.168.100.10/dashboard,创建一个云主机。在云主机所在的物理节 点,进入 virsh 交互式界面,调整虚拟机的内存大小,最后使用命令查看该 虚拟机的详情。

7.KVM 网络优化:让虚拟机访问物理网卡的层数更少,直至对物理网卡的 单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。

网络运维:

1.在控制节点安装配置 JDK 环境。安装完成后,查询 JDK 的版本信息。

[root@controller ~]# java -version

2.在控制节点安装配置 Maven 环境。安装完成后,查询 Maven 的版本信息。

[root@controller ~]# java -version

3 .继续完成 OpenDaylight 的安装,完成后使用 curl 命令访问网页

http://192.168.100.10:8181/index.html

[root@controller ~]# curl -i http://192.168.100.10:8181/index.html

4 .创建网桥 br-test,把网卡 enp9s0 从原网桥迁移到 br-test,查询 openvswitch

的网桥信息和该网桥的端口信息。

5 .创建命名空间 ns。

6.在网桥 br-test 中创建内部通信端口 tap。

7.在命名空间 ns 中配置端口 tap 的地址为 172.16.0.10/24。

8.在命名空间中查询端口 tap 的地址信息。

9.通过 openvswitch 手动运维 openstack 中虚拟主机的通讯信息。

数据加密:

前提:按要求配置静态 fixed_key,使 cinder 和 nova 组件可以使用加密过的 Block Storage 卷服务,配置好之后,创建一个卷类型叫 luks,并把这个类型配置 为加密类型,cipher 使用“aes-xts-plain64”,key_size 使用“512”,control-location 使用“front-end”,Provider      使用“nova.volume.encryptors.luks.LuksEncryptor”。

1.使用命令查看卷类型列表和加密卷类型列表。

2.使用命令创建两个卷,前者不加密,后者使用 luks 卷类型加密。然后查看 卷列表。

3 .使用命令创建两个卷,前者不加密,后者使用 luks 卷类型加密。使用 nova 命令,创建一个云主机,镜像使用提供的 cirros 镜像,然后使用命令分别将 创建的两块云硬盘 attach 到云主机上,最后使用 cinder list 查看。

4 .使用命令创建两个卷,前者不加密,后者使用 luks 卷类型加密。使用 nova 命令,创建一个云主机,镜像使用提供的 cirros 镜像,然后使用命令分别将 创建的两块云硬盘 attach 到云主机上,最后使用 strings 命令验证数据卷的加 密功能。

负载均衡:

1.安装完 neutron 网络后,使用 neutron 命令查询 lbaas 服务的状态。(物理 环境)

2.使用负载均衡创建 nginx 资源池,使用 http 协议,选择轮循负载均衡方式。 创建完成后添加 vip:nginx-vip,使用 http 协议,端口为 80,HTTP_COOKIE 会话持久化。使用 neutron 命令查询资源池 nginx 详细信息、nginx-vip 详细 信息。

3.使用负载均衡创建 nginx 资源池,使用 http 协议,选择轮循负载均衡方式。 创建完成后添加 vip:nginx-vip,使用 http 协议,端口为 80,HTTP_COOKIE 会话持久化。使用命令查看所创建资源池的 haproxy 配置文件。(物理环境)

[root@controller ~]# cd /var/lib/neutron/lbaas/

[root@controller lbaas]# cat /var/lib/neutron/lbaas/9412c907-99f5-401b-b5bc-0d1a7628387e/conf

global

        daemon

        user nobody

        group haproxy

        log /dev/log local0

        log /dev/log local1 notice

        stats socket /var/lib/neutron/lbaas/9412c907-99f5-401b-b5bc-0d1a7628387e/sock mode 0666 level user

defaults

        log global

        retries 3

        option redispatch

        timeout connect 5000

        timeout client 50000

        timeout server 50000

frontend 42aea3d2-84fb-4b15-97c7-cd56376fc360

        option tcplog

        bind 10.0.0.4:80

        mode http

        default_backend 9412c907-99f5-401b-b5bc-0d1a7628387e

        option forwardfor

backend 9412c907-99f5-401b-b5bc-0d1a7628387e

        mode http

        balance roundrobin

        option forwardfor[root@controller lbaas]#

防火墙:

1.防火墙规则创建,添加名为 icmp 的规则,拒绝所有源 IP、源端口、目的 IP、目的端口的 ICMP 规则。使用 neutron 命令查询规则列表信息、详细信 息。(物理环境)

[root@controller ~]# neutron firewall-rule-list

[root@controller ~]# neutron firewall-rule-show

2.防火墙创建,创建名为 nginx 的防火墙,添加防火墙规则 nginx-80,放行 所有源 IP、源端口、目的 IP、目的端口为 80 的规则。创建防火墙策略 nginx-policy,添加 nginx-80 规则。使用 neutron 命令查询防火墙详细信息、策略详细信息、规则详细信息。(物理环境)

[root@controller ~]# neutron firewall-show

[root@controller ~]# neutron firewall-policy-show

[root@controller ~]# neutron firewall-rule-show

Mariadb高可用:

1.申请两台虚拟机,构建 mariadb 高可用数据库集群,通过命令查询集群状 态。

2.申请两台虚拟机,构建 mariadb 主从数据库,通过命令查询数据库状态。

3.配置 mariadb 高可用数据库,并对集群数据库进行运维操作。

系统排错:

1.使用 awk 相关命令,查询表格文件中以空格为分隔符,包含关键字“key” 的一行中第一个字段和最后一个字段的内容,以“,”作为间隔。

2.使用 sed 相关命令,显示文件中第 10 行内容。

[root@controller ~]# sed -n '10,10p' cheng.txt

3.使用 sed 相关命令,替换文件中的关键词“key”为“guanjianci”。

[root@controller ~]# sed -i "s/key/guanjianci/g" cheng.txt

4.使用 grep 相关命令,查询显示文件中以“[”开始并以“]”结束的所有行。

5.使用 grep 相关命令,查询显示文件中的包含关键词“key”的行。

6 .登录“iaas-all”云主机,使用 curl 的方式,获取 token 值,并使用该 token

值,获取用户信息。

7 .登录“iaas-all”云主机,使用 curl 的方式,获取 token 值,并使用该 token

值,获取指定用户信息。

8 .登录“iaas-all”云主机,获取 token 值,使用 curl 的方式,创建用户并使用 命令查询验证。

9.在云平台后台管理的过程中出现错误导致无法获取镜像信息,找出错误原

因,并进行修复。

10.在云平台后台管理的过程中出现错误导致无法登录数据库,找出错误原 因,并进行修复。

11.在云平台后台管理的过程中出现错误导致无法进行 keystone 验证,找出 错误原因,并进行修复。

12.在云平台后台管理的过程中对象存储功能无法使用,找出错误原因,并 进行修复。

13.在云平台后台管理的过程中块存储功能无法使用,找出错误原因,并进 行修复。

14.在云平台后台管理的过程中无法上传镜像,找出错误原因,并进行修复。

15.在云平台后台管理的过程中无法将云硬盘挂载到云主机上,找出错误原 因,并进行修复。

16.在云平台后台管理的过程中无法获取云主机详细信息,找出错误原因, 并进行修复。

17.在云平台中创建云主机过程中出现错误无法成功创建,找出错误原因, 并进行修复。

18.在云平台后台管理的过程中发生错误,错误现象为无法创建可用的云硬 盘,无法获取云主机信息,也无法将云硬盘挂载到云主机上。找出错误原因, 并进行修复。

19.搭建 Ceph 分布式集群存储,配置 Ceph 作为 openstack 后端的统一存储, 为 glance、nova、cinder、swift 提供存储支持

IaaS基础平台的更多相关文章

  1. 基于 SOA 的组件化业务基础平台

    业务基础平台是业务逻辑应用和基础架构平台之间的一个中间层,解决 “应用软件的业务描述和操作系统平台.软件基础架构平台之间的交互与管理问题”.操作系统平台解决了“应用软件系统与硬件之间的交互与管理问题” ...

  2. [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现

    Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...

  3. Github开源项目(企业信息化基础平台)

    JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...

  4. 中国交建 WAF 基础平台 http://waf.ccccltd.cn/

    中国交建  WAF 基础平台  http://waf.ccccltd.cn/

  5. SpringBoot开源项目(企业信息化基础平台)

    JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...

  6. 基于SOA的组件化业务基础平台[转]

    转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...

  7. #AOS应用基础平台# 实现了在用户权限范围内自己定义的快捷菜单的导航展示

    from=501" style="color:rgb(255,131,115); padding:0px; margin:0px; font-family:微软雅黑,Verdana ...

  8. JavaEE应用基础平台 AOS-V0.1 RELEASED

    写在最前面 AOS是一个有着悠久历史传承和发扬的平台.她的前世G4Studio自2010年公布V1.0版本号以来,先后经过多次版本号更新.并得到了一些小伙伴的认可和使用.但我们希望做得更好,走得更远. ...

  9. AOS应用基础平台-模块开发流程

    AOS平台简单介绍 AOS应用基础平台基于JavaEE技术体系,以"标准功能可复用.通用模块可配置.行业需求高速开发.异构系统无缝集成"为目标.为软件开发团队提供高效可控.随需应变 ...

随机推荐

  1. .netCore+Vue 搭建的简捷开发框架

    话不多说,上图: 整体项目结构如图所示,我的设计初衷是基于.netCore + DI + Vue 打造一个适合初学者的简捷开发框架. 架构模型采用基于RESTful API风格的前后台分离框架,总体分 ...

  2. Integer对象大小比较问题

    一.问题 先来看一看例子 public class IntegerTest { public static void main(String[] args) throws Exception { In ...

  3. centos赋予访问权限

    chmod u+x *.sh (代表授权现在所处的文件目录下的所有以:.sh的文件 启动tomcat:/usr/local/tomcat9/bin/shutdown.sh 关闭tomcat:/usr/ ...

  4. 指针生产网络(Pointer-Generator-Network)原理与实战

    0 前言 本文内容主要:介绍Pointer-Generator-Network在文本摘要任务中的背景,模型架构与原理.在中英文数据集上实战效果与评估,最后得出结论.参考的<Get To The ...

  5. css3不定宽高水平垂直居中

    1 justify-content:center;//子元素水平居中 2 align-items:center;//子元素垂直居中 3 display:-webkit-flex; 在父级元素上面加上上 ...

  6. Postman 之 HTTP Multipart/form-data 调试

    无论是前端,还是后端开发,HTTP 接口的使用率实在是太高了.开发好了特定的 HTTP 接口,没有一个好的测试工具,怎么可以呢? 而 Postman 就是一款好用的爱不释手的测试工具,谁用谁说爽. 接 ...

  7. FP-Tree算法详细过程(Java实现)

    我就不说FP-Tree的作用.优点什么的了,直接用例子来解释构建FP-Tree和找出所有频繁项集,第一次写博客,不对之处还请指出. 输入文件: testInput.txt T1 T2 T3 T4 T5 ...

  8. Vsftp服务-实战案例

    Vsftp 实验案例一:(本地用户) 试验版本:Linux7.X版本 公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文 件.创建目录.更新网页等等.公司 ...

  9. 一个PHP文件搞定微信H5支付

     / 更新于 2018-07-02 / 8 条评论 过年期间也坚持要撸码啊接着给博客除草,在这个小除夕是情人节的一天,祝大家新年快乐,情人节能够顺利脱单~~~ 回归正题,这篇文章介绍一下微信H5支付, ...

  10. 值类型不允许赋值为Null

    与引用类型不同,值类型不可能包含 null 值. 每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值.有关值类型默认值的信息,请参见默认值表. bool false byte 0 char ' ...