第一部分: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 提供存储支持

05-28 17:14