1. 程式人生 > >虛擬化技術

虛擬化技術

抽象 管理 配置 轉換 where 資源管理 執行 切割 執行過程

虛擬化技術
在計算機中,虛擬化(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換後呈現出來,打破實體結構間的不可切割的障礙,使用戶可以比原本的組態更好的方式來應用這些資源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態所限制。一般所指的虛擬化資源包括計算能力和資料存儲。
虛擬化技術是一套解決方案。完整的情況需要CPU、主板芯片組、BIOS和軟件的支持,例如VMM軟件或者某些操作系統本身。即使只是CPU支持虛擬化技術,在配合VMM的軟件情況下,也會比完全不支持虛擬化技術的系統有更好的性能。

現有虛擬化技術
主要將物理機虛擬化為以下兩種形式的可執行環境

1、虛擬機:Virtual Machines (VM),虛擬機技術

2、虛擬環境: Virtual Environments (VEs),主要指容器技術

虛擬機技術介紹
(1) Windows平臺的VMWare, Virtual Box Linux平臺的KVM This approach, used by most system emulators, allows the emulator to run an arbitrary guest operating system without modifications because guest OS is not aware that it is not running on real hardware

(2) Xen, 具有更好的處理性能(接近於本地處理) also enables running different OSs on a single server, but requires them to be ported, i.e. they should ?know? they are running under the hypervisor.

容器技術介紹
容器也是一種虛擬化技術

不同於虛擬機,它是基於操作系統的虛擬化,不是基 於硬件的虛擬化。

Containers and virtual machines have similar resource isolation and allocation benefits, but function differently because containers virtualize the operating system instead of hardware. Containers are more portable and efficient.

容器與虛擬機技術對比(以Docker容器為例)
1.操作系統裏安裝Docker,由Docker虛擬不同環境
2.先虛擬硬件,再安裝虛擬機OS,後配置環境

容器與虛擬機技術對比
Docker的優勢
輕量級
速度快
更容易遷移
所有容器共享同一個宿主機OS
不像虛擬機那樣,需要先基於虛擬的硬件, 安裝一個虛擬機OS,再做若幹配置。

Docker給我們帶來了什麽?
對於開發人員:Build Once, Run Anywhere.
對於運維人員:Configure Once, Run Anything.

容器何以如此神奇?它是如何工作的?——Docker架構
Docker 采用的是 Client/Server 架構。客 戶端向服務器發送請 求,服務器負責構建、 運行和分發容器。客 戶端和服務器可以運 行在同一個 Host 上。

示例:Docker各組件執行過程
1.Docker 客戶端執行 dockers run 命令
2.Docker daemon 發現本地沒有 httpd 鏡像
3.daemon 從 Docker Hub 下載鏡像
4.下載完成,鏡像 httpd 被保存到本地
5.Docker daemon 啟動容器

虛擬化技術