本文参照:https://www.linuxidc.com/Linux/2017-03/141972.htmlinux
云最成熟的架构是IaaS(Infrastructure as a Service),其中用到的技术有xen,kvm,lxd等,VMware虚拟化技术也是其中的一种。服务器
为何要虚拟化技术呢?目前在众多大规模互联网公司和游戏公司大都采用xen,kvm等虚拟化技术,使用这些虚拟化技术的好处是当服务器宕机时,运维人员在作维护时只须要将在虚拟机上运行的服务切换到另外一台物理机上。而若是不使用虚拟化技术,运维人员就必须在服务离线前再找一台物理机配置服务,以实现切换。所以,虚拟化技术能够实现服务实时切换、迁移。另外,在运维上,特别是自动化运维以及实现弹性运算等高级功能只能经过虚拟机的运行方式来实现,而物理机的运行方式是运行不了的。网络
IBM和Intel公司在硬件制造生产上也不断地为提供更好地、更便捷地实现虚拟化技术开发出CPU的新特性。架构
那么,建立虚拟机的工做原理又是怎样的呢?建立虚拟机又是一个怎样的过程?简单地说,建立虚拟机就是在一台电脑上虚拟出多台电脑,而且虚拟机之间彼此独立,看起来就像独立的电脑同样。咱们知道,一台主机最核心的硬件部件是CPU(Central Processing Unit),Memory,I/O设备,它们经过主板链接起来。所以严格来讲,建立虚拟机是经过软件方式虚拟出各个具备独立的CPU、Memory、I/O设备的平台。咱们把宿主机称为Host,把各个虚拟机称为Guest。运维
问题来了,假设咱们的电脑CPU只有一个,因此底层能实现运算的只有一个CPU,那么软件如何保证各个虚拟机拥有独立的CPU?对于Memory和I/O来讲又是怎么实现的?优化
对于CPU来讲,由于CPU的工做方式是分时的(Time-sharing),它能把运行时间分为多个时间段,并将这些时间段分配给各个虚拟机,是这样来实现的。spa
对于Memory来讲,首先要明白读取内存数据的方式。内存是编址的存储单元,读取方式是CPU经过寻址后定位到内存某一个cell存储空间上获取数据的。所以,虚拟内存是经过人为地在逻辑上把内存切成多段,分别分配给各个虚拟机,每一个虚拟机只能使用本身地址范围内的内存,剩下的内存则分配给宿主机。操作系统
I/O的虚拟化是比较难的。例如输入设备键盘是不可能同时为多个虚拟机以及宿主机占用的,所以也只能相似“分时”地使用,键盘或者鼠标的控制权在各个虚拟机和宿主机间的切换是经过“捕获”来实现的。3d
此外,网卡的虚拟化是经过软件的方式,为各个虚拟机虚拟出网卡,这些网卡最终都要对应到物理网卡上。htm
OK,建立虚拟机的原理大概讲完了,那么建立虚拟机的步骤究竟怎么样呢?主要有两大步骤,一是虚拟出一个物理机,二是为这个物理机安装OS。
虚拟出一个物理机是指虚拟出硬件部件的意思,根据上面提到的,主要是虚拟出CPU、Memory、I/O(Disk,Ethercard等)。例如指定有多少个CPU,CPU有几个核,有多少内存,有多少个硬盘,这些硬盘是什么格式的,有多少个网卡,这些网卡又是什么格式的......作完这一步骤以后,物理机就虚拟出来了,可是咱们知道,若是没有软件在这些硬件上面运行,那么这些硬件就至关于一堆废铁,因此咱们还要为这个物理机安装上操做系统。
再拓展一点,上面建立虚拟机的过程当中,硬盘的虚拟化或磁盘的虚拟化是经过磁盘映像文件来实现的(disk image file),即将一个或多个文件当作硬盘或磁盘来使用。那么问题来了,怎么把文件当成磁盘来使用的?这就是这个用来作虚拟化的软件(例如VMware Workstation)的意义了。这个软件可以经过某个接口虚拟出硬盘控制器,这个控制器就能把文件当作磁盘来使用了,并且不只能指定这个硬盘文件的大小,还能支持稀疏格式(sparse)。什么是稀疏格式呢?例如咱们在建立虚拟机时,指定这个虚拟机的硬盘为20G,但实际上在咱们的电脑上看到的这个硬盘文件只是显示20k,由此致使的虚拟机的硬盘大小与其在宿主机上占用空间的大小不一致,这就是稀疏格式(sparse)。而且,这个20k会随着咱们的需求以及咱们在虚拟机上的操做不断增长,例如从20k增长到4G,再到10G等等。
PDF文档能够到Linux公社资源站下载:
------------------------------------------分割线------------------------------------------
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2017年资料/3月/20日/VMware Workstation 虚拟机使用方法图文详解/
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
------------------------------------------分割线------------------------------------------
如下以VMware Workstation 12 PRO为例建立虚拟机:
(1)首先打开软件,点击建立虚拟机。
(2)为了尽量知足我的需求,建议选择自定义(高级)。
(3)这里的硬件兼容性是向下兼容的,能够选择兼容的版本,这里默认选项便可。
(4)选择稍后安装OS。
(5)这里选择的操做系统的意义在于,由于不一样的OS对于硬件的要求以及一些配置各不相同,因此在虚拟物理机时尽可能选择匹配的客户机操做系统,这样才可以对硬件作更具针对性的优化。
(6)若是主机支持硬件虚拟化则选择64位。
(7)这里虚拟机名称是虚拟机的标签,可随意设置,但通常设置为操做系统版本名以方便识别。
位置是建立的磁盘映像文件的存放位置。
(8)指定多少个CPU,一个CPU多少核。注意二者相乘不能超过物理机核心数。
(9)指定虚拟机内存(Memory),无论主机内存多少,建议指定为512MB或1024MB便可。
(10)指定网络类型,这里选择NAT模式。
(11)默认。
(12)要注意FAT32分区没法存放大于4G的单个文件。注意:不推荐选择“当即分配全部磁盘空间”,不然不支持稀疏格式。
(13)指定磁盘映像文件名。
(14)建立物理机后可从新调整硬件设置。
(15)对于不须要的硬件能够删除,须要的硬件能够添加,或者编辑硬件的设置。
(16)若是CPU支持硬件虚拟化,则能够选择此选项。
(17)点击开启,按组合键“Ctrl+Alt+Insert”建可重启,开机按F2键可进入BIOS界面,这一步不明白有何用,个人电脑win10和图中boot选项时不匹配的。