WEBVTT

00:00.330 --> 00:03.900
讲师：云计算要实现预期的成本节约和效率,

00:03.900 --> 00:06.540
在很大程度上依赖于虚拟化｡

00:06.540 --> 00:08.280
现在, 通过使用虚拟化,

00:08.280 --> 00:12.210
可以将许多逻辑服务器放置在单个物理服务器上｡

00:12.210 --> 00:15.150
这反过来又减少了我们数据中心内部所需的物理空间､

00:15.150 --> 00:18.060
电力和冷却量｡

00:18.060 --> 00:22.950
此外, 通过使用虚拟化, 我们可以在需要时启动额外的虚拟服务器,

00:22.950 --> 00:25.770
从而实现更高级别的可用性｡

00:25.770 --> 00:31.920
这种动态配置内存和CPU资源的能力是云计算的关键优势之一｡

00:31.920 --> 00:33.690
现在, 虽然云计算有许多不同的好处,

00:33.690 --> 00:37.680
但我们仍然需要考虑许多安全问题｡

00:37.680 --> 00:43.140
我们在物理服务器上遇到的大多数安全问题也会被带到云环境中｡

00:43.140 --> 00:47.130
很多时候, 高管们认为迁移到云计算将解决他们所有的问题,

00:47.130 --> 00:49.260
但事实并非如此｡

00:49.260 --> 00:54.270
当使用虚拟化时, 一个或多个逻辑服务器驻留在单个物理服务器上｡

00:54.270 --> 00:58.890
为了实现这一点, 我们使用称为hypervisor的专用软件｡

00:58.890 --> 01:00.870
虚拟机管理程序控制所有资源的分配,

01:00.870 --> 01:05.700
例如处理器､ 内存和硬盘可用性｡

01:05.700 --> 01:08.880
从本质上讲, 虚拟机管理程序模拟了一台物理机器,

01:08.880 --> 01:15.060
因此操作系统及其所有应用程序甚至没有意识到它们正在虚拟环境中运行｡

01:15.060 --> 01:19.890
现在, 虚拟机管理程序分为两类, 第一类或裸机虚拟机管理程序,

01:19.890 --> 01:22.230
第二类或托管虚拟机管理程序｡

01:22.230 --> 01:25.710
现在, 当比较裸金属与托管虚拟机管理程序类型时,

01:25.710 --> 01:28.290
从安全角度来看, 唯一的主要区别是,

01:28.290 --> 01:34.080
对于托管类型, 我们必须确保底层操作系统也得到了适当的保护和修补｡

01:34.080 --> 01:35.730
从性能方面考虑,

01:35.730 --> 01:38.100
裸金属将比托管的同类产品更快､

01:38.100 --> 01:39.990
更高效｡

01:39.990 --> 01:45.780
我们拥有的另一个虚拟化选项被称为基于容器的虚拟化或容器化｡

01:45.780 --> 01:48.780
对于这种类型, 根本不使用虚拟机管理程序,

01:48.780 --> 01:51.930
相反, 每个容器都依赖于一个通用的操作系统作为每个容器的基础,

01:51.930 --> 02:02.820
而每个容器共享相同的底层操作系统, 每个容器都可以拥有自己的二进制文件, 库和应用程序, 可以根据自己的需求进行定制｡

02:02.820 --> 02:09.120
目前, 基于容器的虚拟化几乎只与Linux作为底层操作系统一起使用｡

02:09.120 --> 02:12.210
基于容器的虚拟化也比类型1或类型2虚拟化使用更少的资源,

02:12.210 --> 02:19.290
因为它不需要为每个单独的容器提供自己的操作系统副本｡

02:19.290 --> 02:25.110
许多云服务提供商已经通过超融合基础设施将虚拟化向前推进了一步｡

02:25.110 --> 02:27.000
这使供应商能够完全集成存储､

02:27.000 --> 02:31.410
网络和服务器, 而无需执行硬件更改｡

02:31.410 --> 02:36.750
相反, 他们依靠软件和虚拟化技术来执行所有集成｡

02:36.750 --> 02:38.940
我们可以从单个界面或设备管理所有这些,

02:38.940 --> 02:43.110
而不必担心所有底层供应商解决方案｡

02:43.110 --> 02:45.330
应用程序虚拟化是另一种类型的虚拟化,

02:45.330 --> 02:50.040
通常用于为底层主机创建额外的安全性｡

02:50.040 --> 02:52.920
应用程序虚拟化是一种软件技术,

02:52.920 --> 02:58.050
它将计算机程序从执行它们的底层操作系统中封装出来｡

02:58.050 --> 03:02.130
一个完全虚拟化的应用程序甚至没有安装在传统意义上,

03:02.130 --> 03:04.890
虽然它仍然执行, 就好像它是｡

03:04.890 --> 03:08.940
通过应用程序虚拟化, 您可以在更现代的操作系统上运行为Windows

03:08.940 --> 03:11.490
XP或Windows 7等生命周期结束的操作系统设计的传统应用程序,

03:11.490 --> 03:20.280
甚至可以运行跨平台软件, 例如在Windows机器上运行Android应用程序｡

03:20.280 --> 03:24.840
许多云计算提供商还提供虚拟桌面基础设施｡

03:24.840 --> 03:31.530
现在, VMware允许云提供商从集中式服务器向最终用户提供完整的桌面操作系统｡

03:31.530 --> 03:34.200
使用这种方法有很多安全方面的好处｡ 

03:34.200 --> 03:36.390
举个例子, 我曾与一个组织合作,

03:36.390 --> 03:41.610
该组织在每个用户早上登录时为他们创建一个新的虚拟桌面映像｡

03:41.610 --> 03:43.590
此桌面是非持久性的,

03:43.590 --> 03:48.300
因此即使它被攻击者利用, 它也会在用户注销时或每天午夜被销毁,

03:48.300 --> 03:52.470
这有效地破坏了攻击者在最终用户桌面上保持持久性的能力,

03:52.470 --> 03:56.880
即使安装了恶意软件｡

03:56.880 --> 04:00.240
虚拟化的另一个重要用途是创建沙箱｡ 

04:00.240 --> 04:01.680
现在, 沙箱允许您创建一个隔离的环境,

04:01.680 --> 04:04.410
您可以在其中分析来宾操作系统中的病毒,

04:04.410 --> 04:09.630
蠕虫, 特洛伊木马和其他恶意软件｡

04:09.630 --> 04:11.580
现在, 因为它在这个位于隔离虚拟机内部的虚拟沙箱中,

04:11.580 --> 04:22.260
所以您可以确保您无法感染将其作为底层主机操作系统或底层虚拟机管理程序托管的自己的计算机｡

04:22.260 --> 04:24.120
当你作为一名网络安全分析师工作时,

04:24.120 --> 04:31.680
你会经常使用沙箱来进行恶意软件分析, 特别是当你进行动态恶意软件分析时, 你会得到一个恶意软件, 你会运行它,

04:31.680 --> 04:37.710
然后确定当恶意软件在特定的客户机操作系统上运行时会发生什么｡

04:37.710 --> 04:42.030
虚拟机的另一个好用途是跨平台虚拟化｡

04:42.030 --> 04:45.870
例如, 我使用MacBook Pro作为我的主要机器｡ 

04:45.870 --> 04:48.450
因此, 如果我想测试不同操作系统的一些软件应用程序,

04:48.450 --> 04:50.040
我可以去为每个操作系统购买新的机器,

04:50.040 --> 04:58.560
例如一台笔记本电脑用于Windows, 一台笔记本电脑用于Linux, 一台笔记本电脑用于Mac｡

04:58.560 --> 05:00.450
但是如果我使用虚拟化, 我可以通过使用MacBook

05:00.450 --> 05:03.090
Pro上的托管系统进行跨平台虚拟化,

05:03.090 --> 05:15.510
其中包含VMware, Parallels或VirtualBox等软件, 以便能够在现有的Mac OS环境上安装这些客户操作系统｡

05:15.510 --> 05:17.040
这将允许我测试所有的软件片段,

05:17.040 --> 05:22.320
不管它们需要什么操作系统, 看看它们将如何交互｡

05:22.320 --> 05:24.360
这对Web开发人员来说尤其重要,

05:24.360 --> 05:26.220
因为我想确保作为Web开发人员,

05:26.220 --> 05:28.980
当我创建我的网站时, 它可以在Windows 10,

05:28.980 --> 05:32.940
Windows 11, Mac, Chromebook, iPhone,

05:32.940 --> 05:34.980
Android设备或其他任何东西上工作,

05:34.980 --> 05:41.670
并且能够通过使用虚拟化在一台机器上测试所有这些, 这对我们开发人员来说是一个很好的资源｡

05:41.670 --> 05:44.430
虚拟化的另一个重要用途是培训｡ 

05:44.430 --> 05:46.440
您可以创建实验室环境,

05:46.440 --> 05:51.600
这样人们就可以使用这些虚拟机在实时操作系统上进行练习｡

05:51.600 --> 05:53.220
例如, 当你学习各种CompTIA认证时,

05:53.220 --> 05:57.900
如果你购买了diontraining课程｡

05:57.900 --> 05:57.900
com,

05:57.900 --> 06:00.480
它们带有内置的动手实验室｡

06:00.480 --> 06:03.390
通过这些实验, 您可以登录到我们基于云的环境,

06:03.390 --> 06:06.060
然后能够以安全可靠的方式在Linux系统､

06:06.060 --> 06:08.700
Windows 10系统､ Windows

06:08.700 --> 06:11.520
Server系统和其他设备上执行操作,

06:11.520 --> 06:18.900
这不会影响我们的生产环境, 因为它们都被隔离在此培训区域或此培训沙箱中｡

06:18.900 --> 06:22.590
在培训或实验室环境中使用虚拟机的另一个好处是,

06:22.590 --> 06:24.930
您可以在不同的点拍摄快照,

06:24.930 --> 06:28.110
然后在拍摄快照的地方再次拍摄｡

06:28.110 --> 06:31.200
举个例子, 当我过去亲自教我的课程时,

06:31.200 --> 06:34.320
我实际上会创建Windows 7的坏机器,

06:34.320 --> 06:38.040
我会有不同的问题让我的A+学生去解决｡

06:38.040 --> 06:40.260
我会给他们虚拟机, 我会打开它, 我会从上一个安全点恢复,

06:40.260 --> 06:47.220
这是我打破它的地方, 然后我会让他们试着找出它的问题所在, 以及如何修复它｡

06:47.220 --> 06:50.430
这是在您的培训中使用虚拟机的一个很好的用途｡

06:50.430 --> 06:52.770
当你继续学习, 开始学习Linux､

06:52.770 --> 06:55.290
Windows､ 服务器环境､ Mac

06:55.290 --> 07:04.680
OS和其他类似的东西时, 你可以启动包含这些客户操作系统的不同虚拟机, 并在安全可靠的环境中练习你的技能｡

07:04.680 --> 07:07.710
我们需要讨论的最后一件事是仿真的概念,

07:07.710 --> 07:11.220
因为许多人混淆了仿真和虚拟化｡

07:11.220 --> 07:15.330
现在, 仿真涉及使用一个系统来模仿另一个系统｡

07:15.330 --> 07:20.580
通过虚拟化, 可以创建和使用特定硬件的虚拟实例｡

07:20.580 --> 07:23.460
所以在现实中, 你使用的是一个新的物理机器,

07:23.460 --> 07:25.440
它由软件代表｡

07:25.440 --> 07:27.570
然而, 使用模拟器, 一个软件实时翻译环境,

07:27.570 --> 07:31.920
假装它是别的东西｡

07:31.920 --> 07:33.780
例如, 如果我想在我的MacBook

07:33.780 --> 07:36.000
Pro上玩一个旧的超级任天堂游戏,

07:36.000 --> 07:39.510
我可以下载一个像OpenEmu这样的超级任天堂模拟器,

07:39.510 --> 07:44.970
然后它会实时将游戏代码转换为我的Mac可以理解的指令｡

07:44.970 --> 07:49.560
通过虚拟化, 正在运行的软件可以物理地访问您机器的硬件,

07:49.560 --> 07:52.860
这比使用模拟器快得多｡

07:52.860 --> 07:56.970
那么, 什么时候你可能想使用模拟器而不是虚拟化呢？

07:56.970 --> 07:58.830
好吧, 如果你需要运行一个适用于其他类型硬件的操作系统,

07:58.830 --> 08:05.400
比如Mac或Windows机器上的超级任天堂, 那么你将不得不使用模拟器｡

08:05.400 --> 08:06.780
如果你想运行适用于不同操作系统的软件,

08:06.780 --> 08:14.550
比如专为在ARM处理器上运行而设计的Android, 但你有一个英特尔处理器和一个Windows操作系统, 那么仿真器将是正确的选择,

08:14.550 --> 08:20.190
因为你正在处理不同的底层硬件｡

08:20.190 --> 08:23.250
另一方面, 如果您需要更高的速度和更好的性能,

08:23.250 --> 08:25.590
则需要使用虚拟化解决方案｡

08:25.590 --> 08:27.660
但是请记住, 使用虚拟化,

08:27.660 --> 08:33.060
您只能运行为处理器的特定底层硬件编码的软件｡

08:33.060 --> 08:37.920
通常情况下, 我们大多数人都使用基于x86或x64的处理器, 所以你运行Windows､

08:37.920 --> 08:45.660
Linux或Mac, 或者这三种操作系统中的任何一种都可以在这些类型的虚拟化系统上正常工作｡

08:45.660 --> 08:49.050
但是, 如果你试图运行一个为ARM处理器设计的操作系统,

08:49.050 --> 08:52.620
它不会与虚拟化一起工作, 你必须使用模拟器｡

08:52.620 --> 08:55.110
一般来说, 大多数时候你会使用虚拟化而不是模拟器,

08:55.110 --> 09:03.240
因为它更快更高效, 而且大多数东西都是为了在x86或x64处理器上工作而编写的｡

09:03.240 --> 09:06.540
但是, 如果你需要在不同的处理器上运行一些东西,

09:06.540 --> 09:08.990
那就是你必须使用模拟器的时候｡
