从表面来看,这些虚拟机都(dōu)是独立(lì)的服务器,但实际上(shàng),它(tā)们共(gòng)享物理服务(wù)器的CPU、内存、硬件、网卡(kǎ)等资源。物理机(jī),通常称为(wéi)“宿主机(Host)”。虚(xū)拟(nǐ)机,则称为“客户机(jī)(Guest)”。
虚拟化使(shǐ)用软件来模拟硬件并创建虚拟计(jì)算机系统。这样一来,企(qǐ)业便可以在单台服务器上运行多个虚拟(nǐ)系统,也就是运行多(duō)个操作系统和应用,而这可(kě)以实现规模经济以及提高效益。
在云计算(suàn)上虚(xū)拟化技术能为(wéi)我们解决很多以前(qián)解(jiě)决不了的技(jì)术:
服务器整(zhěng)合技术(shù):这(zhè)个技(jì)术在(zài)没(méi)有(yǒu)虚拟化技术之前是很(hěn)难完成的。因为什么(me)东西都是实际存在(zài)的,想把两个工作相对较(jiào)少的服务(wù)器整合(hé)到一起是很困(kùn)难的。然而当有了虚拟化技术以(yǐ)后使(shǐ)这种服务器(qì)整合技术(shù)变得非常容易(yì)。
灵活的资(zī)源调派(pài):通过(guò)虚拟化技(jì)术(shù),我(wǒ)们可以动态调配资源给VM,并让它在不(bú)同的实体主机之间做到不停机地移转(VMotion),避免硬件因为计(jì)划性的(de)停机维护而不能提供服(fú)务。当虚(xū)拟(nǐ)机(jī)无法在(zài)实体机中取(qǔ)得(dé)足够硬件资源的时(shí)候(hòu),我们还可以让它自(zì)动去找寻闲置有(yǒu)足够资源的(de)实体(tǐ)机,并在(zài)线转(zhuǎn)移(yí)过去,进行服(fú)务器的资源(yuán)负载平衡(DRS 功能)。经过虚拟化(huà)之后(hòu),原本困难费(fèi)心的事情变得很轻松容易实现(xiàn)。
快速大量部署、降低维护工作:要快速产(chǎn)生一台或多台(tái)合乎标准的虚拟机(jī)是非常容(róng)易的(de),这省下了采(cǎi)购硬件的流程、安装软件时间(jiān)、后续硬件(jiàn)维护等多道麻烦手续,非常(cháng)快速与方便地用于开发(fā)、测(cè)试、维运(yùn)等环境上面。
增加(jiā)可用性与备(bèi)份(fèn):使用虚拟快照技术是将虚拟(nǐ)机此时的状态像照片一样保(bǎo)存(cún)下来(lái),当然我说的很容易,其实现原(yuán)理需要非(fēi)常复(fù)杂,包括cpu运行状态,内存中的数据等等。这样保(bǎo)存下这些虚拟技(jì)术当发生灾难(nán)或者(zhě)某(mǒu)些失误导致(zhì)虚拟机出问题时,可以很快恢(huī)复。
虚(xū)拟(nǐ)化技(jì)术最早是IBM公司在上世纪60年代末所提出(chū)的,当时 IBM 公(gōng)司为实现多(duō)用户对(duì)大型计算机同时交互访问而(ér)开发(fā)的一套(tào)被称(chēng)之为虚拟机监视器(Virtual Machine Monitor 简(jiǎn)称为(wéi) VMM)的软(ruǎn)件。在(zài)现(xiàn)在的(de)虚(xū)拟(nǐ)化技(jì)术(shù)中,VMM 是(shì)运行在硬件(jiàn)服务器和操作系统中间层的软件,它方便同(tóng)时有多个相同或不同的操作系统和应用共享底层硬件基(jī)础设施。在云计算(suàn)中常提及的(de)Hypervisor与 VMM 具有相同(tóng)含义,其实质是(shì)一种资(zī)源(yuán)配(pèi)置的管理技术。
Hypervisor,汉译(yì)过来是(shì)“超级监(jiān)督者(zhě)”,也叫做VMM(Virtual Machine Monitor,虚拟机监视器(qì))。它不(bú)是一(yī)款(kuǎn)具体(tǐ)的软件(jiàn),而是一类软(ruǎn)件的统称(chēng)。
Hypervisor分(fèn)为两大类:
第一类,hypervisor直(zhí)接运行在物理机之(zhī)上。虚拟机运(yùn)行在hypervisor之上。第二类,物理机上安(ān)装正常的操作系统(例(lì)如Linux或(huò)Windows),然(rán)后在正(zhèng)常操作系统上安装(zhuāng)hypervisor,生(shēng)成和(hé)管理虚(xū)拟机。
像VMware、KVM、Xen、Virtual Box,都属于Hypervisor。
VMware大家应该很熟悉,就是VMware Workstation。学习Linux的话,很多(duō)人都是在windows系统下安装WMware,然后创建Linux虚拟机(jī)。