VMware 虚拟化技术 创建虚拟机
原文地址: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 虚拟化技术 创建虚拟机的更多相关文章
- VMware workstation批量创建虚拟机和自动化安装操作系统(一)
一. 简述 作为从事IT行业运维工作的Linuxer,大多情况下需要在测试环境中部署业务系统并进行测试,在没有足够的计算存储网络条件下,使用虚拟机进行虚拟集群的创建和使用,是一种不错的学习和实践方式. ...
- VMware workstation批量创建虚拟机和自动化安装操作系统(二)
一. 简述 在上一篇<VMware workstation批量创建虚拟机和自动化安装操作系统(一)>中,主要介绍了VMware workstation自定义创建虚拟机的过程,和一些其他的有 ...
- Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍
一.Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售.可分为Xen-PV(半虚拟化),和Xen-HVM( ...
- vmware vsphere client 创建虚拟机
浏览器访问https://192.168.120.29 用户名:administrator@zhcs.com 密码: Deyi123456! 说明:此案例为创建linux的Centos7的操作系统的 ...
- VMware workstation创建虚拟机console
1. 使用VMware workstation创建虚拟机硬件2. 安装操作系统3. 操作系统安装过程 1. 使用VMware workstation创建虚拟机硬件 使用VMware workstati ...
- 虚拟化技术KVM
1>虚拟化技术: 计算机虚拟化技术是多种技术的综合实现,它包括硬件平台,操作系统,存储以及网络等,简单地说,虚拟化技术就是在单台主机上可以虚拟多个虚假主机,并可以在这些虚拟主机上运行不同的操作系 ...
- 【VMware虚拟化解决方案】 基于VMware虚拟化平台VDI整体性能分析与优化
一.说一说 本来打算将前期项目里面出现的问题的分析思路与解决方法写出来,第一.疏导一下自己的思路,第二.分析并找出自身在技术层面所存在欠缺.但由于每个人都有一根懒经所以迟迟未动.今天突然发现51CTO ...
- VMware安装RedHat Linux虚拟机图文详解
创建Red Hat Linux虚拟机 1.打开VMware,开始创建虚拟机 点击菜单[文件]->[新建虚拟机]. 2.默认典型,单击[下一步] 3.选择安装来源 在这里,我们选择安装来源为[安装 ...
- 虚拟化技术之kvm虚拟机创建工具qemu-kvm
在前边的博客中我们介绍了如何创建kvm虚拟机,以及一些常用的工具的介绍和使用,今天我们来了解下kvm原始工具qemu-kvm:为什么说qemu-kvm是一个原始的工具呢,如果你用kvm虚拟机,心细的你 ...
随机推荐
- 域名IP绑定
该文为阿里云域名举例 首先具备3个前提: 买服务器并搭建环境:阿里云官网购买阿里云的服务器(我购买的是window系统,ECS服务器). 在自己的云服务器上布置上jdk,配置环境变量:安装上tomca ...
- 如何制作一个类似jquery插件的vue插件
vue拿来写插件,会不会太那啥? 请跟我念,"不会,符合业务需求才是你的老板最想要的." 如何封装一个可以全局调用的vue插件 其原理其实相当简单,通过new Vue(vueCom ...
- django数据库设置为MySQL
django默认使用sqlite,然后想使用MySQL数据库 在项目的setting文件中找到 DATABASES = { 'default': { 'ENGINE': 'django.db.back ...
- AtCoder ARC 082E - ConvexScore
传送门:http://arc082.contest.atcoder.jp/tasks/arc082_c 本题是一个平面几何问题. 在平面直角坐标系中有一个n元点集U={Ai(xi,yi)|1≤i≤n} ...
- 如鹏网JAVA培训笔记1(晓伟整理)
JDK(Java Developmet Kit) JRE(Java RunTime Environment)的区别: JRE只有运行JAVA程序的环境,没有开发相关的工具;JDK=JRE+开发相关的工 ...
- 【习题 4-7 UVA - 509】RAID!
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果一行里面某位有>1个x 那么是invalid的. 没有x的话. 可以分析以下(设输入的标准Even为0,然后Odd为1) ...
- Exchanger源代码剖析
Exchanger是一个针对线程可以结对交换元素的同步器.每条线程把某个对象作为參数调用exchange方法,与伙伴线程进行匹配.然后再函数返回的时接收伙伴的对象.另外.Exchanger内部实现採用 ...
- Linux下安装JRE和Eclipse IDE for C/C++ Developers
Linux32位,下载eclipse-cpp-luna-R-linux-gtk.tar.gz和jre-8u11-linux-i586.rpm 放到家文件夹中. http://www.eclipse. ...
- luogu4180 次小生成树Tree 树上倍增
题目:求一个无向图的严格次小生成树(即次小生成树的边权和严格小于最小生成树的边权和) 首先求出图中的最小生成树.任意加一条树外边都会导致环的出现.我们现在目标是在树外边集合B中,找到边b∈B,a∈b所 ...
- 10.2 Hibernate持久层
点击项目右键->MyEclipse->Add Hibernate Capabilities 打开MyEclipse Hibernate Perspective(MyEclipse Hibe ...