本文參照: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選項時不匹配的。