IaaS基础平台
第一部分: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基础平台的更多相关文章
- 基于 SOA 的组件化业务基础平台
业务基础平台是业务逻辑应用和基础架构平台之间的一个中间层,解决 “应用软件的业务描述和操作系统平台.软件基础架构平台之间的交互与管理问题”.操作系统平台解决了“应用软件系统与硬件之间的交互与管理问题” ...
- [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现
Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...
- Github开源项目(企业信息化基础平台)
JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...
- 中国交建 WAF 基础平台 http://waf.ccccltd.cn/
中国交建 WAF 基础平台 http://waf.ccccltd.cn/
- SpringBoot开源项目(企业信息化基础平台)
JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...
- 基于SOA的组件化业务基础平台[转]
转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...
- #AOS应用基础平台# 实现了在用户权限范围内自己定义的快捷菜单的导航展示
from=501" style="color:rgb(255,131,115); padding:0px; margin:0px; font-family:微软雅黑,Verdana ...
- JavaEE应用基础平台 AOS-V0.1 RELEASED
写在最前面 AOS是一个有着悠久历史传承和发扬的平台.她的前世G4Studio自2010年公布V1.0版本号以来,先后经过多次版本号更新.并得到了一些小伙伴的认可和使用.但我们希望做得更好,走得更远. ...
- AOS应用基础平台-模块开发流程
AOS平台简单介绍 AOS应用基础平台基于JavaEE技术体系,以"标准功能可复用.通用模块可配置.行业需求高速开发.异构系统无缝集成"为目标.为软件开发团队提供高效可控.随需应变 ...
随机推荐
- ASP.NET Core 2.2 : 二十三. 深入聊一聊配置的内部处理机制
上一章介绍了配置的多种数据源被注册.加载和获取的过程,本节看一下这个过程系统是如何实现的.(ASP.NET Core 系列目录) 一.数据源的注册 在上一节介绍的数据源设置中,appsettings. ...
- [Code] 大蛇之数据工程
作为“所谓码农”的首篇,本章内容理应涵盖基本编程技法. Python这个东西.简洁,作为载体,是个不错的选择呦. 链接资源: Python文档:https://docs.python.org/3/ 教 ...
- mybatis-dynamic-query 3.0 更新
项目地址: mybatis-dynamic-query 前言 在 2.0 完成对 tk.mapper 集成,为何 mybatis-dynamic-query 选择 tk.mapper 集成, 再 3. ...
- 【福利】离散&C++&硬件一笔记合集
离散 C++ 硬件
- Spring Security 前后端分离登录,非法请求直接返回 JSON
hello 各位小伙伴,国庆节终于过完啦,松哥也回来啦,今天开始咱们继续发干货! 关于 Spring Security,松哥之前发过多篇文章和大家聊聊这个安全框架的使用: 手把手带你入门 Spring ...
- MongoDB 学习笔记之 索引选项和重建索引
索引选项: {background:true}在后台创建索引,索引在构建过程中,其他客户端仍然可以查询数据,不会阻塞. db.comments.createIndex({anonymous: 1},{ ...
- 服务器配置https协议,三种免费的方法
最近想搞一个网站玩玩,发布网站用https协议已经是大势所趋了.例如微信小程序,不使用https协议根本不让接入.所以,分享一下我尝试过的三种方法. 1.Linux自签(OPENSSL生成SSL自签证 ...
- (八十五)c#Winform自定义控件-引用区块
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- iOS 设备数据管理工具 iMazing v2.10.3 绿色便携版
iMazing 是一款可以帮助用户管理 iOS 设备的软件,功能远远超出 iTunes.iMazing 连接你的 iOS 设备(iPhone. iPad 或 iPod)相连,使用起来也非常的方便.你可 ...
- 刨ThreadLocal的坟
ThreadLocal是大家比较常用到的,在多线程下存储线程相关数据十分合适.可是很多时候我们并没有深入去了解它的原理. 首选提出几个问题,稍后再针对这些问题一一解答. 提到ThreadLocal,大 ...