云计算与大数据-虚拟化与容器技术题库

第2章 虚拟化与容器技术习题

2.1 选择题

1、典型的虚拟化架构不包括(   D   )。

A.宿主机操作系统                        B.虚拟机

C.虚拟化层                            D.虚拟内存

2、虚拟化技术的研究目的包括(   D   )。

A.降低管理成本                           B.增强可移植性

C.提高软件开发效率                       D.以上都是

3、同一台物理主机上一个虚拟机的崩溃或故障不会影响其他虚拟机,这主要得益于虚拟化技术的(  A  )特征。

A.隔离            B.封装        C.硬件独立          D.分区

4、全虚拟化技术、半虚拟化技术和操作系统级虚拟化技术是从虚拟化的(   C   )角度来进行分类。

A.作用范围        B.成本        C.实现             D.使用对象

5、下列不属于半虚拟化技术的是(  A  )。

A.AMD-V          B.Hyper-V     C.Xen               D.PowerVM

6、Linux KVM中内存虚拟化技术不包括(  C  )。

A.内存气球       B.巨型页        C.vMotion            D.内核同页合并

7、存储虚拟化的实现方式包括(  D  )。

A.基于主机       B.基于存储设备  C.基于网络    D.以上都是

8、下列不属于桌面虚拟化优势的是(  B  )。

A.高效率           B.高性能        C.稳定性             D.安全性

9、下列不属于内存信息迁移方法的是(  C  )。

A.预复制迁移       B.后复制迁移    C.脏页面迁移         D.CR/TR-Motion

10、下列选项不属于典型虚拟化软件的是(  D  )。

A.Xen            B.vSphere        C.KVM                  D.Eureka

11、在同一台宿主机内,容器间可以相互访问,但跨主机的访问性能较差,解决方案不包括(  A  )。

A.NAT            B.Weave        C.覆盖网        D.Open vSwitch Network

12、与虚拟机相比,以下关于目前容器的叙述错误的是(  B  )。

A.容器一般是在操作系统级别进行的虚拟     

B.容器的安全性比虚拟机强       

C.容器的启动时间比较快    

D.容器弹性分配分配,可以在没有关闭容器的情况下添加资源

13、Docker可以回滚到当前镜像的前一个版本,可以避免因为完成部分组件的升级而导致对整个环境的破坏,这是Docker的(  B  )功能。

A.持续集成       B.版本控制      C.可移植性                 D.安全性

14、Docker中CGroup的主要功能不包括(  C  )。

A.限制资源使用      B.优先级控制       C.权限控制     D.计费

15、相较于Swarm,Kubernetes的优势包括(  D  )。

A.设计思想先进                           B.运维更加简单

C.部署工作更加便捷和自动化               D.以上都是

2.2 填空题

1、虚拟化层的核心是(   Hypervisor、虚拟机监视器或VMM   )。

2、服务器虚拟化的架构有(   宿主机虚拟化   )和(   裸金属虚拟化   )两种。

3、员工想要在家访问企业内部网络的资源,可以使用(   虚拟专用网络/VPN   )。

4、虚拟机迁移包括(   网络信息迁移   )、(   存储信息迁移   )和(   内存信息迁移   )。

5、与虚拟机相比,Docker取消了(   Hypervisor层   )和(   Guest OS层   ),使用(   Docker Engine   )进行调度和隔离。

6、Docker的核心组件主要包括(   容器或Container   )、(   镜像或Images   )和(   仓库或Repositories   )。

7、Docker中最大的公共仓库是(   Docker Hub   )。

8、Docker常用的调度工具有(   Swarm   )和(   Kubernetes或K8s   )。

2.3 简答题

1、请简述虚拟化技术的特征与优势。

答:

    虚拟化技术的特征包括:

  1. 分区。分区意味着虚拟化层为多个虚拟机划分物理主机的资源,每个虚拟机可以各自运行单独的操作系统,这些操作系统可以是相同的,也可以是不同的。用户能够在一台物理主机上运行多个应用程序,每个操作系统只能看到虚拟化层为其提供的虚拟硬件,并感觉自己运行在专用的物理主机上。
  2. 隔离。隔离指的是同一台物理主机上的虚拟机之间是相互隔离的,一个虚拟机的崩溃或故障不会影响同一台物理主机上的其他虚拟机;还可以对物理资源进行控制,以提供性能隔离,用户可以为每个虚拟机指定物理资源的最小和最大使用量,确保某个虚拟机不会占用所有的物理资源而使得同一系统中的其他虚拟机没有物理资源可用。
  3. 封装。封装意味着将整个虚拟机,包括它的内存状态、BIOS配置、CPU状态、I/O设备状态等都存储在文件系统中,用户只需要复制文件,就可以根据需要来复制、保存和移动虚拟机中的数据。
  4. 硬件独立。硬件独立指的是虚拟机和物理主机之间是相互独立的,虚拟机运行在虚拟化层之上,只能访问虚拟化层提供的虚拟硬件,不必考虑物理主机的差异等具体情况,从而可以打破操作系统和物理主机,以及应用程序和操作系统之间的约束。

虚拟化技术的优势包括:

  1. 有效地利用物理资源。利用虚拟化技术可以使云计算数据中心中一台物理主机运行多个虚拟机,实现物理资源的多租客共享,从而提高物理主机的利用率,减少硬件的总开销。
  2. 更好的容错能力。虚拟机可以从一个节点迁移到另一个节点,实现不间断运行。如果物理主机、操作系统或应用程序出现运行故障,虚拟机能够迁移到另一台物理主机上继续运行。
  3. 提高可用性。当Web服务、电子邮件服务、数据库服务程序运行于同一台物理主机时,会出现一个应用程序干扰另一个应用程序的可能性,甚至导致系统崩溃。利用不同的虚拟机承载不同的服务,就会减少应用程序之间的相互干扰,从而提高系统的可用性。
  4. 简化服务器的创建与管理。通过虚拟化技术创建虚拟服务器供用户使用仅需几分钟。相比之下,用户自行购买一台物理主机的成本显然高很多,安装操作系统和应用程序非常耗时。管理几十个虚拟服务器比管理十几台物理主机也更容易。
  5. 节约系统能源消耗。云计算系统基于虚拟化技术将云计算数据中心的各类资源整合为一个统一的虚拟资源池,又将一个个虚拟机部署在不同的物理主机上,实现大规模物理资源有效、统一的管理和利用。通过在物理主机上合理部署虚拟机,并采用虚拟机动态迁移技术,可将虚拟机聚集以便关闭空闲的数据节点,从而在最小化所需的物理主机数量的同时满足当前负载的要求,在降低云计算数据中心能耗的同时,保证QoS和服务等级协议(Service Level Agreement,SLA)。

2、请简述预复制内存信息迁移的过程。

答:

  1. 预迁移。选择一个目标宿主机作为迁移目标。
  2. 预定资源。向目标宿主机发送迁移请求,并确认目标宿主机中是否存在所需的资源。
  3. 预复制。将虚拟机的全部内存页面从源宿主机复制到目标宿主机。
  4. 迭代复制。将上一轮过程中被修改过、且到目前为止在本轮复制过程中没有被修改过的页面迭代复制到目标宿主机。
  5. 停机复制。将虚拟机剩余的少量没有同步的内存页面和虚拟机系统运行的信息复制到目标宿主机。
  6. 启动。在目标宿主机上启动被迁移的虚拟机。

3、vSphere虚拟化软件通过VMotion技术可以解决什么问题?

答:

vSphere虚拟化软件通过VMotion技术,可以在服务器需要维护升级时动态地将虚拟机迁移到其他服务器上,通过内存复制技术确保每个虚拟机对外的服务,实现了“停物理硬件,不停应用”。一旦服务器发生故障,可以及时快速地在其他服务器上重新启用虚拟机,从而保证虚拟机的稳定性。

4、请从原理、资源管理、启动时间、资源占、安全性、部署等角度简单对比容器与虚拟机技术。

答:

容    器

虚  拟  机

原理

和宿主机共享内核,所有容器都运行在容器引擎之上,容器并不具备独立的操作系统,所有容器共享操作系统,在进程级进行隔离

每个虚拟机都建立在虚拟的硬件之上,提供指令级的虚拟,每个虚拟机都具备独立的操作系统

资源管理

弹性资源分配,可以在没有关闭容器的情况下添加资源,也无须重新分配数据卷大小

虚拟机需要重启,虚拟机的操作系统需要处理新加入的资源,如磁盘需要重新分区

启动时间

较快

较慢

资源占用

容器需要的资源更少。容器是在操作系统级别进行的虚拟,和内核交互,几乎没有性能损耗。容器更轻量,容器的架构允许其共用一个内核并共享应用程序库,所占内存极小。同样的硬件环境,容器运行的镜像数远多于虚拟机数量,系统的利用率非常高

虚拟机是在Hypervisor层与内核层进行的虚拟,等同于虚拟出一台计算机,占用的资源较多

安全性

容器的安全性更弱。容器的用户Root权限和宿主机Root权限等同,一旦容器内的用户从普通用户权限提升为Root权限,它就直接具备了宿主机的Root权限

虚拟机用户Root权限和宿主机的Root权限是分离的,并且虚拟机利用的是硬件隔离技术,这种隔离技术可以防止虚拟机突破宿主机的Root权限和彼此交互

部署

容器的创建是秒级的,它的快速迭代性决定了无论开发、测试还是部署都可以节约大量时间

虚拟机可以通过镜像实现环境交付的一致性,但镜像分发难以体系化

5、请简述Docker为用户应用的带来的好处。

答:

  1. 简化配置。Docker简化了运行部署配置,同样的配置可以应用于不同的环境,降低了对硬件的要求,以及应用环境间的耦合度。
  2. 代码流水线管理。代码从开发者的设备到最终在生产环境上的部署,需要经过很多有差异的中间环境,Docker给应用程序提供了一个从开发到上线一致的环境,让代码实现了流水线管理。
  3. 整合服务器资源。Docker可以有效整合服务器的资源,使多个容器实例能够有效共享闲置的资源,比虚拟机有更好的资源整合性能。
  4. 多用户支持。Docker可以为每一个用户的多个应用层实例创建隔离的环境,并利用Docker的轻量化来支持服务器上的多个用户容器的共享资源和并发运行。
  5. 快速部署。在虚拟机之前,引入新的硬件资源需要消耗几天的时间,虚拟化技术将这个时间缩短到了分钟级别;Docker通过为进程创建一个容器,无须启动操作系统,再次将这个时间缩短到了秒级。

2.4 解答题

1、请分析CPU虚拟化和CPU硬件辅助虚拟化的过程。

答:

在X86体系的CPU指令集中,提供了4个CPU权限级别(Ring0、Ring1、Ring2、Ring3),其中Ring0是最高级别,Ring3是最低级别。操作系统要直接访问硬件和内存,它的代码需要运行在最高级别Ring0上,而应用程序的代码运行在最低级别Ring3上。如果要访问硬件和内存,实现设备访问、文件读写等操作,就要执行相关的系统调用,将CPU的运行级别从Ring3切换到Ring0,完成操作后再切换回去。VMM本质上是一个Host OS,运行在Ring0上,客户操作系统运行在Ring1上,其他上层应用程序运行在Ring2和Ring3上。

为了提高CPU虚拟化的性能,CPU硬件辅助虚拟化在Ring模式的基础上引入了一种新的模式,即虚拟机扩展(Virtual Machine Extension,VMX)模式。VMX模式包括根操作(VMX Root Operation)模式和非根操作(VMX Non-Root Operation)模式,由于这两种模式中都存在Ring0到Ring3的特权级,所以在描述某个应用程序时,除了描述它属于哪个特权级,还要指明它处于根操作模式还是非根操作模式。引入VMX模式的优势在于客户操作系统运行在Ring0上,意味着它的核心指令可以直接下达到硬件层去执行;而特权指令等敏感指令的执行则是由硬件辅助直接切换到VMM执行,由于是自动执行,应用程序无法感知,性能也就得到了提高。

2、某视频服务网站基于虚拟化云计算平台提供视频服务。假设某用户在观看视频时,此时提供该视频服务的服务器发生故障,但对于用户而言,没有影响,服务不会中断,用户继续流畅的观看视频,请分析可能是什么原因。

答:

如上图所示,用户通过网络在服务器1中的虚拟机1上观看流媒体视频,此时服务器1或者虚拟机1出现问题,就需要进行虚拟机迁移,将虚拟机转化为虚拟化镜像文件。按照迁移策略,选定服务器2作为目标宿主机迁移虚拟机,将虚拟化镜像文件进行拷贝复制,在迁移过程中用户察觉不到服务中断。

3、用户A在Docker中先后执行了docker pull、docker run、docker build和docker push四条命令行,下载的镜像中自带了老版本的Mysql数据库软件;之后用户B想使用和用户A相同的开发环境,请描述命令行的执行过程、过程中Docker相关组件的协作流程和用户B应该执行的命令。

答:

docker pull:从远端仓库(如Docker Hub)中将指定镜像文件下载到本地服务器;

docker run:运行从仓库下载的镜像文件,创建对应的容器;

docker build:在创建的容器中,更新Mysql数据库软件,并打包成新的镜像;

docker push:将创建的镜像上传到仓库。

用户B执行docker pull下载用户A上传的镜像文件,执行docker run创建容器。

你可能感兴趣的:(云计算,大数据,java)