原文地址:https://www.linuxidc.com/Linux/2017-03/141972.htm

云最成熟的架构是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),它能把运行时间分为多个时间段,并将这些时间段分配给各个虚拟机,是这样来实现的。

对于Memory来说,首先要明白读取内存数据的方式。内存是编址的存储单元,读取方式是CPU通过寻址后定位到内存某一个cell存储空间上获取数据的。因此,虚拟内存是通过人为地在逻辑上把内存切成多段,分别分配给各个虚拟机,每个虚拟机只能使用自己地址范围内的内存,剩下的内存则分配给宿主机。

I/O的虚拟化是比较难的。例如输入设备键盘是不可能同时为多个虚拟机以及宿主机占用的,因此也只能类似“分时”地使用,键盘或者鼠标的控制权在各个虚拟机和宿主机间的切换是通过“捕获”来实现的。

此外,网卡的虚拟化是通过软件的方式,为各个虚拟机虚拟出网卡,这些网卡最终都要对应到物理网卡上。

OK,创建虚拟机的原理大概讲完了,那么创建虚拟机的步骤究竟怎么样呢?主要有两大步骤,一是虚拟出一个物理机,二是为这个物理机安装OS。

虚拟出一个物理机是指虚拟出硬件部件的意思,根据上面提到的,主要是虚拟出CPU、Memory、I/O(Disk,Ethercard等)。例如指定有多少个CPU,CPU有几个核,有多少内存,有多少个硬盘,这些硬盘是什么格式的,有多少个网卡,这些网卡又是什么格式的......做完这一步骤之后,物理机就虚拟出来了,但是我们知道,如果没有软件在这些硬件上面运行,那么这些硬件就相当于一堆废铁,所以我们还要为这个物理机安装上操作系统

再拓展一点,上面创建虚拟机的过程中,硬盘的虚拟化或磁盘的虚拟化是通过磁盘映像文件来实现的(disk image file),即将一个或多个文件当做硬盘或磁盘来使用。那么问题来了,怎么把文件当成磁盘来使用的?这就是这个用来做虚拟化的软件(例如VMware Workstation)的意义了。这个软件能够通过某个接口虚拟出硬盘控制器,这个控制器就能把文件当做磁盘来使用了,而且不仅能指定这个硬盘文件的大小,还能支持稀疏格式(sparse)。什么是稀疏格式呢?例如我们在创建虚拟机时,指定这个虚拟机的硬盘为20G,但实际上在我们的电脑上看到的这个硬盘文件只是显示20k,由此导致的虚拟机的硬盘大小与其在宿主机上占用空间的大小不一致,这就是稀疏格式(sparse)。并且,这个20k会随着我们的需求以及我们在虚拟机上的操作不断增加,例如从20k增加到4G,再到10G等等。

以下以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界面。

最后就只剩下安装系统这一步骤啦!

VMware 虚拟化技术 创建虚拟机的更多相关文章

  1. VMware workstation批量创建虚拟机和自动化安装操作系统(一)

    一. 简述 作为从事IT行业运维工作的Linuxer,大多情况下需要在测试环境中部署业务系统并进行测试,在没有足够的计算存储网络条件下,使用虚拟机进行虚拟集群的创建和使用,是一种不错的学习和实践方式. ...

  2. VMware workstation批量创建虚拟机和自动化安装操作系统(二)

    一. 简述 在上一篇<VMware workstation批量创建虚拟机和自动化安装操作系统(一)>中,主要介绍了VMware workstation自定义创建虚拟机的过程,和一些其他的有 ...

  3. Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍

    一.Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售.可分为Xen-PV(半虚拟化),和Xen-HVM( ...

  4. vmware vsphere client 创建虚拟机

    浏览器访问https://192.168.120.29 用户名:administrator@zhcs.com 密码:  Deyi123456! 说明:此案例为创建linux的Centos7的操作系统的 ...

  5. VMware workstation创建虚拟机console

    1. 使用VMware workstation创建虚拟机硬件2. 安装操作系统3. 操作系统安装过程 1. 使用VMware workstation创建虚拟机硬件 使用VMware workstati ...

  6. 虚拟化技术KVM

    1>虚拟化技术: 计算机虚拟化技术是多种技术的综合实现,它包括硬件平台,操作系统,存储以及网络等,简单地说,虚拟化技术就是在单台主机上可以虚拟多个虚假主机,并可以在这些虚拟主机上运行不同的操作系 ...

  7. 【VMware虚拟化解决方案】 基于VMware虚拟化平台VDI整体性能分析与优化

    一.说一说 本来打算将前期项目里面出现的问题的分析思路与解决方法写出来,第一.疏导一下自己的思路,第二.分析并找出自身在技术层面所存在欠缺.但由于每个人都有一根懒经所以迟迟未动.今天突然发现51CTO ...

  8. VMware安装RedHat Linux虚拟机图文详解

    创建Red Hat Linux虚拟机 1.打开VMware,开始创建虚拟机 点击菜单[文件]->[新建虚拟机]. 2.默认典型,单击[下一步] 3.选择安装来源 在这里,我们选择安装来源为[安装 ...

  9. 虚拟化技术之kvm虚拟机创建工具qemu-kvm

    在前边的博客中我们介绍了如何创建kvm虚拟机,以及一些常用的工具的介绍和使用,今天我们来了解下kvm原始工具qemu-kvm:为什么说qemu-kvm是一个原始的工具呢,如果你用kvm虚拟机,心细的你 ...

随机推荐

  1. [bzoj2186][Sdoi2008]沙拉公主的困惑_数论

    沙拉公主的困惑 bzoj-2186 Sdoi-2008 题目大意:求N!中与M!互质的数的个数. 注释:$1\le N,M\le 10^7$. 想法:显然是求$\phi(M!)$.这东西其实只需要将数 ...

  2. MySQL 面试题目

      1, mysql的复制原理以及流程. (1)先问基本原理流程,3个线程以及之间的关联. (2)再问一致性,延时性,数据恢复. (3)再问各种工作遇到的复制bug的解决方法 2,mysql中myis ...

  3. SecureCRT 会话丢失的处理办法

    SecureCRT 会话丢失的处理办法 在SecureCRT中已经有了70多个session,密码都记忆了,当然有些失效的也没有删除: 某一天,打开SecureCRT之后,发现session都没有了, ...

  4. 在Linux中samba server的配置

    1.查看是否安装samba服务 # rpm –qa |grep samba 2.若没安装,则安 # yum install samba 执行4次此命令 3.查看安装的samba文件 #rpm–qa | ...

  5. SPOJ 10628 Count on a tree (lca+主席树)

    题意:给定一棵有n个结点的树,每一个点有一个权值.共同拥有m个询问.对于每一个询问(u,v,k),回答结点u至v之间第k小的点的权值. 思路:主席树+lca.首先指定一个根结点dfs一次并在此过程中建 ...

  6. Linux中的默认权限与隐藏权限(文件、文件夹)

    一个文件(或文件夹)拥有若干个属性.包含(r/w/x)等基本属性,以及是否为文件夹(d)与文件(-)或连接文件(l)等属性.此外,Linux还能够设置其它系统安全属性.使用chattr来设置.以lsa ...

  7. javascript设计模式-工厂模式(简单工厂)

    接口在工厂模式中起着很重要的作用,如果不对对象进行某种类型检查的以确保其实现了必要的方法,工厂模式的好处也就所剩无几了,举个简单的例子. Interface.js // Constructor. va ...

  8. LeetCode.2-两个数字相加(Add Two Numbers)

    这是悦乐书的第340次更新,第364篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第1题(顺位题号是2).给定两个非空链表,表示两个非负整数. 数字以相反的顺序存储, ...

  9. 【优化算法】遗传算法GA求解混合流水车间调度问题(附C++代码)

    00 前言 各位读者大家好,好久没有介绍算法的推文了,感觉愧对了读者们热爱学习的心灵.于是,今天我们带来了一个神奇的优化算法--遗传算法! 它的优点包括但不限于: 遗传算法对所求解的优化问题没有太多的 ...

  10. rehat7.X下postgresql 11编译安装

    文档目录结构: 一.准备 操作系统版本:rehat7.6 Postgresql:11.2 软件安装目录:/pgsql11/basedir 数据文件存放目录:/pgsql11data/ 11.2的下载地 ...