云计算与虚拟化复习

第一章:云计算与虚拟化概论

1. 简述虚拟化技术中。虚拟化监视器(VMM)的主要作用。

答:虚拟机监视器,又称虚拟化层,是联系主机与虚拟机的一个中间件,在虚拟化技术中,VMM 可以对下层的硬件资源进行封装和隔离,将其抽象为另一种形式的逻辑资源,提供给上层虚拟机使用。

2. 一个系统称为虚拟机需要具备的条件:

由 VMM 提供高效、独立的计算机系统;
拥有自己的虚拟硬件;
上层软件·将其识别为真实物理机;
有虚拟机控制台。

3. 虚拟机技术的主要特点:同质、高效、资源可控、移植方便。

4. CPU 一般分为用户态与内核态两种状态。

5. X86 CPU 可以分为内核态( Ring0 )、驱动层( Ring1 和 Ring2 )和用户态( Ring3 )。

6. 虚拟化的实现的方式分为全软件模拟、虚拟化层翻译和容器虚拟化三种。

7. 全虚拟化中特权解除和陷入模拟。

8. 内存虚拟化中,涉及三类地址,两层映射,其中,Guest OS 负责 VA(虚拟地址)到 PA(物理地址)的映射;VMM 负责从 PA(物理地址)到 MA(机器地址)的映射。

9. 与虚拟机相比,容器的特点:

容器中运行的一般不是完整的 OS ,而虚拟机上运行的必须是完整的 OS ;
容器比虚拟机占用的资源更少;
容器在云硬件中被复用,虚拟机在裸机上被复用;
容器的部署时间是毫秒级,虚拟机至少为分钟级。

10. 云计算的实现方式:

IasS----基础设施即服务:基础设施由一些硬件、网络和操作系统资源集成;
PaaS----平台即服务:PaaS 在 IaaS 的基础上加入了中间件和数据库资源;
SaaS----软件即服务:在 SaaS 模式下,用户使用的软件并不需要自己安装,也不用自己维护,只需要登录即可使用。

第二章:创建 KVM 虚拟机

1. KVM 即基于内核的虚拟机,是一种开源的虚拟化技术。内核不是操作系统,而是一个完整操作系统的核心部分,通常用于运行进程,并提供进程间的通信。

2. KVM 技术由 KVM 引擎、虚拟化程序 QEMU 和管理工具 Libvirt 组成。

3. KVM 的作用:

提高物理服务器的资源利用率;
支持批量部署虚拟机;
支持实时快照功能;
支持克隆功能;
支持离线迁移和在线迁移;
支持资源的动态调整。

4. 关闭服务端防火墙的命令

systemctl stop firewalld
systemctl disable firewalld

5. 创建一个名叫 br0 的网桥,将其物理网卡 enp33 绑定在该网桥上。

virsh iface-bridge enps33 br0

6. 重启网络命令

systemctl restart network

7. 启动 KVM 虚拟机管理器界面的命令

virt-manager

8. 在 /var/lib/libvirt/images/ 目录下创建一个名为 mycentos.qcow2 的 qcow2 格式的镜像文件,大小为 50G 。

qemu-img create /var/lib/libvirt/images/mycentos.qcow2 -f qcow2 50G

第三章:CPU 虚拟化

1. 多 CPU 技术发展至今,主要经历了 SMP、MPP 和 NUMA 三种技术。

2. 查看宿主机配置信息

numactl --hardware

3. Linux 默认采用 NUMA 平衡策略,也就是说系统会自动调配内存使用,以求保持平衡,停用和启用 NUMA 自动平衡的命令。

echo 0 > /proc/sys/kernel/numa_balancing  //停用
echo 1 > /proc/sys/kernel/numa_balancing  //启用

4. 在宿主机启动 virsh 命令行管理工具后,可以列出正在运行的虚拟机的信息的命令。

list

5. 在宿主机的 virsh 工具中查看某虚拟机的 NUMA 模式配置

numatune

6. 修改 KVM 虚拟机的配置信息,默认情况下,虚拟机的配置文件存放在 /etc/libvirt/qemu 路径下,名字为: 虚拟机名.xml

vi /etc/libvirt/qemu/CentOS7.xml

7. 虚拟 CPU 上使用的 NUMA 模式共有三种

strict 只使用本节点内存
preferred 优先使用本节点内存
interleave 交错使用各节点内存

8. 在 virsh 工具中将宿主机中编号为 2 的虚拟机设置为使用节点 1、3 的 CPU 。

virsh # numatune 2 --nodeset '1,3'

9. 在 virsh 工具中查看编号为 2 的虚拟机的 VCPU 与宿主机的物理 CPU 之间的对应关系。

vish # vcpuinfo 2

10. 在 virsh 工具中将编号为 2 的虚拟机的 VCPU 节点 0 与宿主机的物理 CPU 节点 3 进行在线绑定。

virsh # vcpupin 2 0 3

11. 目前,编号为 2 的虚拟机有 1 个 VCPU ,在宿主机的 virsh 工具中使用命令,为其在线添加 1 个 VCPU 。

virsh # setvcpus 2 2 --live

12. 常用的 VCPU 配置模式有 custom 、host-model 、host-passthrough ,其中,直接将物理 CPU 指定给 VCPU 使用的配置模式是 host-passthrough 。

第四章:内存虚拟化

1. KSM 使用了 CentOS7 的哪 2 个服务?这 2 个服务的开启和关闭命令是什么?

使用了 ksm 服务和 ksmtuned 服务

#开启
systemctl restart ksm
systemctl restart ksmtuned
#关闭
systemctl stop ksm
systemctl disable ksm
systemctl stop ksmtuned
systemctl disable ksmtuned

2. 什么是内存气球技术?有哪两种基本的操作方式?内存气球有何优势和不足?

内存气球技术可以在虚拟机和宿主机之间按照实际需求的变化动态调整内存分配,有效提高内存利用率。
内存气球的基本操作方式:
膨胀:把虚拟机的内存划给宿主机。
压缩:把宿主机的内存划给虚拟机。
优势:
1.节约内存
2.内存调节灵活
3.归还内存,缓解宿主机压力
不足:
1.需要虚拟机操作系统加载内存气球驱动
2.可能会降低虚拟机操作系统的运行性能
3.只能使用命令行来使用内存气球,不便于大规模自动化部署
4.可能使内存被过度碎片化
5.影响虚拟机内核对内存的优化效果

3. 进行虚拟机的内存限制的两种方式:一种是使用命令 memtube ;另一种是修改虚拟机的配置文件。

第五章:网络虚拟化

1. 全虚拟化与半虚拟化网卡的区别

全虚拟化网卡是由虚拟化层完全模拟出来的,而半虚拟化网卡则是通过驱动程序对操作系统进行了改造。在生产环境中,半虚拟化网卡。即 Virtio 网卡较多。

2. PCI Passthrough 功能可以让虚拟机独占物理网卡,允许有多块网卡的宿主机将其中的几块网卡分配给网络 I/O 需求大的虚拟机,由其他虚拟机共享剩余的网卡。

3. Open vSwitch bond 常用的配置模式有哪些?

  • active-backup 模式:先分配其中的一块物理网卡,如果损坏,就切换到另一个网卡上;
  • balance-slb 模式:根据数据源的 MAC 地址和 VLAN ID 在物理网卡间均衡分配;
  • balance-tcp 模式:该模式可已根据数据源的 IP 地址、TCP 端口等均衡分配网络负载,但需要上游交换机支持,如果不满足条件,则自动切换回 balance-slb 模式。

第六章:存储虚拟化

1. KVM 支持 IDE 、SATA 、Virtio 、Virtio-SCSI 四种类型的硬盘,其中 IDE、SATA 是全虚拟化硬盘,Virtio 、Virtio-SCSI 是半虚拟化硬盘。

2. 虚拟机常用的镜像格式:raw 、cloop 、cow 、qcow 、qcow2

  • row :一种简单的二进制文件格式,会一次性占用完所分配的硬盘空间。
  • cloop :压缩的 loop 格式,主要用于可直接引导的 U 盘或光盘。
  • qcow2 :一种功能较为全面的格式,支持内部快照、加密、压缩等功能,读写性能也比较好。

3. 使用命令创建镜像

  1. 创建一个名为 test.raw ,大小为 2G 的镜像文件;
qemu-img create test.raw 2G  // 默认镜像格式为 raw ,所以不用指定
  1. 创建一个名为 test.qcow2 ,大小为 2G 的镜像文件;
qemu-img create test.qcow2 -f qcow2 2G  // -f 指定镜像格式

4. 使用命令查看镜像文件信息

qemu-img info test.raw

5. 使用命令将镜像文件 test.raw 转换为 qcow2 格式,名字为 test1.qcow2 。

qemu-img convert -p -f raw -O qcow2 test.raw test1.qcow2

6. 使用命令为镜像文件 test.qcow2 创建快照 snap1 。

qemu-img snapshot test.qcow2 -c snap1

第七章:资源限制

1. 什么是 Cgroups ?Cgroups 由什么组成?

Cgroups 是一种用来限制、记录、隔离进程组所用物理资源的机制。由任务、控制组群、层级和子系统构成。
任务(task):任务即进程;
控制组群(Control Group):控制组群是一组按照某种标准划分的进程;
层级(Hierarchy)
子系统(Subsystem):子系统必须附加(attach)到一个层级上才能起作用,一个子系统附加到某个层级以后,这个层级上的所有控制组群都受到这个子系统的控制。

2. Cgroups 子系统、层级、控制组群和任务的关系

(1)在系统中创建新层级时,该系统中的所有任务都是所在层级的默认Cgroups(被称为Root Cgroups,此Cgroups在创建层级时自动创建,之后在该层级中创建的所有Cgroups都是这个Cgroups的后代)的初始成员。
(2)一个子系统最多只能附加到一个层级上。
(3)一个层级可以附加多个子系统
(4)一个任务可以是多个Cgroups的成员,但这些Cgroups必须位于不同的层级。
(5)系统中的进程(任务)创建子进程(任务)时,该子任务自动成为其父进程所在Cgroups的成员,之后也可以根据需要将它移动到不同的Cgroups中。

3. 在宿主机上,使用命令创建一个名称为 mytest ,并包括 cpu、memory、cpuset 三个子系统的控制组群。

cgcreate -g cpu,memory,cpuset:/mytest

4. 在宿主机上,使用命令,将组群 mytest 删除

cgdelete -r cpu,memory,cpuset:/mytest

第八章:分布式文件系统

1. 简述 GlusterFS 文件系统各类卷的特点。

  1. 分布卷:又称哈希卷。使用哈希算法将文件随机存储在多个 Brick 上。哈希卷适合存储大量的小文件,读写性能好。
  2. 复制卷:将文件的副本存储在多个 Brick 上,适合数据安全要求高的业务,但会占用资源较多。
  3. 条带卷:将文件划分为条带存储在多个 Brick 上,适合存储大文件,但会降低文件的安全性。

2. 在四台虚拟机 vm1 vm2 vm3 vm4 上,创建分布卷

gluster volume create dis-vol vm1:/opt/gfs/vdb/dis vm2:/opt/gfs/vdb/dis vm3:/opt/gfs/vdb/dis vm4:/opt/gfs/vdb/dis

3. 查看分布卷的信息和状态

gluster volume info
gluster volume status

4. 启动已经创建的分布卷 dis-vol

gluster volume start dis-vol

第九章:管理虚拟机

1. 虚拟化环境中的迁移,可以分为静态迁移(static migration,又称冷迁移或离线迁移)和动态迁移(live migration,又称热迁移或在线迁移)。二者最大的区别在于:静态迁移有一段明显的虚拟服务不可用时间,而动态迁移则没有明显的服务暂停时间。动态迁移需要保证虚拟机的内存、硬盘存储和网络连接在迁移到目标宿主机后仍然保持不变,而且迁移过程的服务暂停时间非常短。

2. 虚拟机迁移命令

virsh define

3. 在虚拟机动态迁移过程中,如果出现硬盘缓存模式错误,其对应的解决方案是:在测试环境中,将硬盘缓存模式改为 unsafe 模式。

第十章:Docker 应用

1. Docker 两大主要组成部分:Docker 和 DockerHub 。

Docker :开源的容器虚拟化平台
DockerHub :分享并管理 Docker 容器的 Docker SaaS 平台。

2. Docker 使用客户端-服务器(C/S)架构模式。

3. Docker 镜像 :类似于虚拟机的镜像,可以理解为一个面向 Docker 引擎的只读模板,其中包含了文件系统。

4. Docker 仓库 :集中存放镜像文件的场所。世界上最大的 Docker 公开仓库是 DockerHub 。

5. Dcoker 的特点。

(1)Docker 作为轻量级的容器虚拟化技术,以宿主机操作系统内核的特性为支撑来完成虚拟化。
(2) Docker 可以对系统的部分空间进行隔离,并对系统的内存和 CPU 等资源进行分配、控制和记录。
(3)Docker 技术通过容器来对应用打包。迁移服务器时,只需在新服务器系统上,重新分配内存和 CPU 等资源,然后启动需要的容器即可。
(4)Docker 技术为应用的开发和部署提供 “一站式” 解决方案。

6. Docker 与传统虚拟机的差异

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTFV0ecD-1656983744995)(C:\Users\PC\Desktop\图片1.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKTOmrjV-1656983744997)(C:\Users\PC\Desktop\图片2.png)]

7. 搜索镜像

docker search

8. 保存镜像

docker pull

9. 查看已下载的镜像

docker images

10. 保存镜像

docker save -o ubuntu_latest_save.tar ubuntu:latest

11. 删除镜像

docker rmi ubuntu:16.04
docker rmi -f centos  //强制删除镜像

12. 基于原有的镜像模板文件,创建镜像

cat ubuntu-16.04-x86.tar.gz | docker import - ubuntu:16.04

13. 新建并启动一个容器

docker run centos
# centos 是镜像名

14. 进入容器

# d5e 是容器 ID
docker exec -ti d5e /bin/bash

15. 退出容器

exit

16. 停止容器

docker stop d5e
docker stop -t 10 d5e

17. 启动容器

docker start d5e

18. 重启容器

docker restart d5e

19. 删除容器(先停止,再删除)

docker stop d5e
docker rm d5e
docker rm -f d5e

20. 容器的端口映射

# 随机把一台宿主机的端口映射给容器
docker run -d -P nginx
# 指定端口,不指定 IP 地址
docker run -d -p 8090:80  registry
# 指定 IP ,不指定端口
docker run -p -d 192.168.10.1::80 nginx
# 指定 IP 地址,指定端口
docker run -d -p 192.168.10.1:8090:80 nginx
# 查看容器端口映射到系统的具体端口
docker port d5e 80

【云计算与虚拟化概论复习】相关推荐

  1. 走进云计算与虚拟化的底层核心

    本文讲的是走进云计算与虚拟化的底层核心,2012年3月在国务院政府工作报告附录部分中,政府对云计算给出了官方的解释,体现了政府对云计算产业的高度重视和美好愿景.云计算在工作报告中是这样定义的:&quo ...

  2. 漫谈云计算、虚拟化、容器化--云平台技术栈05

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的虚拟化! 什么是云计算? 1.1 云计算概念 云计算是最近几年才兴起的概念,但是这样的需求其实早都有了,现阶段广为接受的是美国国家 ...

  3. 计算机系统化科学化和什么,自动化概论复习资料

    自动化概论复习提纲 1.何谓"自动化"? 自动化是指机器或装置在无人干预的情况下按规定的程序或指令自动地进行操作或运行.广义的讲,自动化还包括模拟或再现人的智能活动. 2.自动化的 ...

  4. 关于云计算存储虚拟化技术三个层次上的实现

    关于云计算存储虚拟化技术三个层次上的实现 随着企业的成长,业务和应用不断增加,IT 系统规模日益庞大,带来高能耗.数据中心空间紧张.IT 系统总体拥有成本过高等问题;而现有服务器.存储系统等设备又没有 ...

  5. 移动笔试计算机知识,移动笔试知识点之--计算机类-数据库系统概论复习资料

    <移动笔试知识点之--计算机类-数据库系统概论复习资料>由会员分享,可在线阅读,更多相关<移动笔试知识点之--计算机类-数据库系统概论复习资料(29页珍藏版)>请在人人文库网上 ...

  6. 云计算和虚拟化选修课程报告

    声明:本报告是云计算和虚拟化选修课的课程报告,老师要求比较低,只需要谈谈自己对云计算相关的见解.所以本报告确实写得比较简陋,仅做参考哈! 概要: 云计算作为当前IT行业的热门技术,它一直是社会里的热点 ...

  7. OpenStack云计算与虚拟化—架构篇

    云计算与虚拟化 云计算与虚拟化这个概念是什么时候出现在我们脑海里的?一开始的亚马逊云服务再到阿里巴巴推出的阿里云,紧接着各大厂商争先恐后的推出自己的公共云平台,腾讯云,华为云,微软云等等,那么究竟什么 ...

  8. 三分钟读懂:云计算与虚拟化的关系

    云计算,虚拟化,这是现代计算科技的两项技术,那么,云计算与虚拟化有什么关系呢?这是本文所要讨论的问题. 云计算将计算当做是公共资源,而非具体的产品和技术.早在20世纪70年代,大型计算机就一直在同时运 ...

  9. 虚拟化精华问答 | 为什么云计算需要虚拟化?

    虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源.这些 ...

最新文章

  1. annotations_Spring Annotations我从来没有机会使用第2部分:@ConfigurationProperties
  2. SqlHelper模板
  3. iphone/ipod网页开发教程及规则
  4. Spring 框架 DAO 与 事务 的总结
  5. Oracle日期操作函数
  6. java float_关于java中float型的问题
  7. C++的reinterpret_cast
  8. Centos 6中模拟破坏MBR救援模式下修复
  9. hdu 1162(最小生成树kruskal)
  10. Quartus17下使用Modelsim10进行仿真
  11. 标识符——Python
  12. nginx 配置虚拟机实例
  13. 【图像分割】基于matlab改进的细菌觅食算法双阈值图像分割【含Matlab源码 069期】
  14. BZOJ1036[ZJOI2008] 树的统计
  15. 大数据是什么?华为云学院带你探索大数据之旅
  16. 十进制转二进制,短除法与位运算两种方法
  17. 用计算机知道对方的年龄,年龄计算器适合你的恋爱对象,什么年龄适合恋
  18. [云计算]OpenStack - Neutron
  19. python中valueerror是什么意思_python-ValueError:不安全的字符串pi
  20. SpringSecurity: 不能混用authorizeRequests和6.0里的authorizeHttpReuests

热门文章

  1. JAVA面向对象编程艺术与思想:中文转拼音1
  2. 基于eclipse搭建LittleVGL仿真环境
  3. 五子棋游戏代码html,HTML5网页版黑白子五子棋游戏代码
  4. **远红外收发器及其应用****
  5. halcon 区域的最大直线距离 diameter_region
  6. python cocos2d新手教程_初学者必备!超详细Python基础入门教程
  7. php内核自动采集电影影视网站系统源码
  8. 湖北大学计算机科学导师,2017年湖北大学数学与计算机科学学院811数据结构考研导师圈点必考题汇编...
  9. java工程师安卓方向_校招|vivo提前批JAVA工程师Android方向
  10. 三个字组成的字:晶、鑫、淼……