VMWare

**威睿**（英語：VMware, Inc.）是美國一家提供雲計算和硬體虛擬化的軟體和服務的公司。它是第一個虛擬化 x86 架構並取得商業成功的公司。公司成立於 1998 年，總部設在美國加利福尼亞州帕洛阿爾托。

2022 年 5 月 26 日，美國晶片製造商博通宣布將以 610 億美元收購 VMware，預計在 2023 年 10 月 31 日以前完成交易。

## 歷史

1998 年，黛安・格林、孟德爾・羅森布拉姆、斯科特・迪瓦恩、王艾倫和愛德華・比尼翁創立了 VMware。格林和羅森布拉姆在加州大學伯克利分校首次見面。愛德華・比尼翁擔任 VMware 的首席架構師和 CTO，直至 2005 年前去為 Nuova 系統服務（現在思科的一部分）。

1999 年 5 月，VMware 交付公司第一個產品 VMware Workstation。

2004 年 1 月 9 日，根據 2003 年 12 月 15 日宣布的最終協定條款，EMC（現為 Dell EMC）以 6.25 億美元現金收購了該公司。2007 年 8 月 14 日，EMC 通過首次公開募股向公眾出售了 15% 的 VMware。 股價為每股 29 美元，當日收於 51 美元。

2019 年 8 月 22 日 VMware 分別以 21 億美元和 27 億美元收購網路安全公司 Carbon Black 和 Pivotal。

2021 年 1 月 13 日，VMware 宣布執行長 Pat Gelsinger 將離職，Pat Gelsinger 是英特爾的第一位技術長。 Gelsinger 卸任 CEO 後將加入 VMware 董事會。 現任財務長贊恩・羅 (Zane Rowe) 將擔任臨時執行長，而董事會正在尋找替代人選。

2021 年 4 月 15 日，戴爾將剩餘的 VMware 股份分拆給股東，兩家公司將繼續運營，至少五年內不會發生重大變化。

2021 年 5 月 12 日，VMware 宣布 Raghu Raghuram 將接替以代理身分擔任 CEO 的 Zane Rowe 擔任 CEO。

2021 年 11 月 1 日，在向美國證券交易委員會提交申請後，VMware 和 Dell Technologies 完成了 VMware 正式從 Dell Technologies 的分拆。

2022 年 5 月 26 日，美國晶片製造商博通宣布將以 610 億美元收購 VMware，並承擔其 80 億美元的負債，此一交易已獲得雙方董事會的同意，預計在 2023 年 10 月 31 日以前完成交易。博通總裁 Tom Krause 在周四的財報電話會議上表示收購後 VMware 將會從永久許可模式迅速改為訂閱制

## 產品

### VMware Workstation

VMware Workstation 是 VMware 公司銷售的商業軟體產品之一。該工作站軟體套件含一個用於英特爾 x86 相容電腦的虛擬機器套裝，其允許使用者同時建立和執行多個 x86 虛擬機器。每個虛擬機器可以執行其安裝的作業系統，如（但不限於）Windows、Linux、BSD 變生版本。用簡單術語來描述就是，VMware Workstation 允許一台真實的電腦在一個作業系統中同時開啟並執行數個作業系統，其它 VMware 產品幫助在多個宿主電腦之間管理或移植 VMware 虛擬機器。免費版本為 VMware Workstation Player。

VMware 官方網站提供多個經過預先組態的作業系統和應用程式的免費虛擬盤映像，這之中有不少是社會募捐的。

### VMware Fusion

VMware Fusion 是 VMware 針對 Mac 電腦推出的一款虛擬機器軟體。

### VMware Server

2006 年 2 月 6 日，VMware 發布了 VMware Server 產品的 1.0 版本，取代原先的 VMware GSX Server。VMware 伺服器可以建立、編輯、執行虛擬機器。除了具有可以執行由其它 VMware 產品建立的虛擬機器的功能外，它還可執行由微軟 Virtual PC 產品建立的虛擬機器。VMware 將 VMware 伺服器產品作為可免費獲得的產品，這是因為希望使用者們最終能選擇升級至 VMware ESX 伺服器產品。

VMware 不正式支援執行於 Windows XP 或專業版 Windows 2000 上的 VMware 伺服器產品，這不同於 VMware 工作站產品。然而，已有使用者報告在 Windows XP 專業版下成功安裝並提供 VMware 伺服器功能的例子（但有個別限制要求）。VMware 提供一個受支援的宿主作業系統的清單。

2010 年 1 月，VMware 宣布 2011 年 6 月 30 日結束對 VMware Server 的支援。

### VMware ESX 伺服器

ESX 伺服器使用了衍生自史丹佛大學開發的 SimOS 核心，該核心在硬體初始化後替換原啟動的 Linux 核心。ESX 伺服器 2.x 的服務控制平台（亦稱為「COS」或「vmnix」）是基於 Red Hat Linux 7.2 的。ESX 伺服器 3.0 的服務控制平台源自一個 Red Hat Linux 7.2 的經過修改的版本 —— 它是作為一個用來載入 vmkernel 的引導載入程式執行的，並提供了各種管理介面（如 CLI、瀏覽器介面 MUI、遠端控制台）。該虛擬化系統管理的方式提供了更少的管理開銷以及更好的控制和為虛擬機器分配資源時能達到的粒度（指精細的程度）；這也增加了安全性，從而使 VMware ESX 成為一種企業級產品。

### VMware ESXi 伺服器

VMware ESXi 是 VMware vSphere 4.1 版本開始提供的伺服器系統。相比 VMware ESX，ESXi 剔除了基於 Red Hat Linux 的服務控制平台，使 VMware 代理可以直接在 VMkernel 上執行。由於脫離對基於 Linux 的控制台作業系統的依賴，整個軟體平台的尺寸由 ESX 的約 2GB 縮減至不到 150MB，並消除了底層 Linux 系統可能帶來的安全性和穩定性隱患，而獲得授權的第三方模組也可在 VMkernel 上執行。ESXi 同時使用了新的管理控制台 PowerCLI。

從 VMware vSphere 5.0 版本開始，VMware 不再提供 ESX 伺服器產品，ESXi 成為 VMware 產品線中唯一一款伺服器平台產品。

### VMware vSphere

VMware vSphere，原稱為 VMware Infrastructure，是一整套虛擬化應用產品，包含 VMware ESX Server 4、VMware Virtual Center 4.0、最高支援 8 路的虛擬對稱多處理器（Virtual SMP）和 VMotion，以及例如 VMware HA、VMware DRS 和 VMware 統一備份服務等分散式服務。VMware 國際公司在 2009 年 4 月發布了 VMware vSphere 4。該套裝提供六個檔次的組合方案

### 資料中心

VMware 國際公司對資料中心應用提供兩種主要產品：VMware ESX 和 VMware 伺服器（舊稱為 VMware GSX）。

* VMware ESX 伺服器是作為 VMware 用於在資料中心應用中執行企業級應用的旗艦產品。由於 ESX 是在『近硬體』層級上載入的，它能使 x86 的利用效率提高 60% 到 80%。
* 資料中心亦可使用 VMware 伺服器產品執行，但執行該產品須依賴於宿主環境的基本作業系統；此外，在執行軟體的額外層面時也會產生對機器的附加開銷。然而 VMware 伺服器產品具有一點超過 ESX 產品的優勢：它支援的裝置的規格更多，例如可支援 USB 連接方式和某些 PCI 裝置。

亦請注意 VMware ACE 產品。

### 其它產品

其它三種與 ESX 協同執行的產品是：虛擬中心（VirtualCenter）、VMotion 和 P2V（將物理電腦執行環境直接移植為虛擬機器的工具）。

* 虛擬中心可用來監視和管理多個 ESX 或 GSX 伺服器。
* VMotion 可用來在伺服器之間實現幾乎無停滯地移動執行中的虛擬機器。
* P2V 允許使用者通過使用映像軟體，將一台物理的伺服器製作為虛擬機器映像，從而創造出一個從物理機到虛擬機器的重現。它用虛擬的驅動檔案代替了實際的驅動檔案，並且在 VMware 的資料儲存中建立出機器空間。

## 描述

執行 VMware 工作站行程的電腦和作業系統被稱為宿主機（host）。在一個虛擬機器中執行的作業系統實例被稱為虛擬機器客戶（guest）。類似仿真器，VMware 工作站為客戶作業系統提供完全虛擬化的硬體集–例如，客戶機只會檢測到一個 AMD PCnet 網路配接器，而和宿主機上真正安裝的網路配接器的製造和型號無關。VMware 在虛擬環境中將所有裝置虛擬化，包括影片配接器、網路配接器、以及硬碟配接器。它還為 USB、串行和並列裝置提供傳遞驅動程式（pass-through drivers，指將對這些虛擬裝置的存取傳遞到真實物理裝置的驅動程式）。

由於與宿主機的真實硬體無關，所有虛擬機器客戶使用相同的硬體驅動程式，虛擬機器實例是對各種電腦高度可移植的。例如，一個執行中的虛擬機器可以被暫停下來，並被拷貝到另外一台作為宿主的真實電腦上，然後從其被暫停的確切位置恢復執行。藉助 VMware 的 VirtualCenter（虛擬機器中心）產品中一種稱為 Vmotion 的新功能，甚至可以在移動一個虛擬機器時不必將其暫停–就是說現在即使在向不同的宿主機上移植虛擬機器時，這些虛擬機器仍然可以保持執行。

## 實現

傳統的模擬器，如 Bochs，透過調用宿主機上的軟體子程式逐條執行每一道客戶機的 CPU 指令，以此類比客戶機的微處理器。這種抽象化的方法，可使宿主機類比出不同於自身微處理器的環境，讓客戶機運行。然而這類模擬器運行得非常慢。

一種更有效率的方式是在初次執行客戶機指令時動態地重新編譯那些機器指令塊，以後用到這些指令時直接執行經過翻譯的代碼。這種方式是由微軟的 Virtual PC for Mac OS X 產品、以及 Fabrice Bellard 的 QEMU 產品（不含 KVM 附加模組）所使用的方式。

和 Virtual PC for Windows 產品及帶有 kqemu 附加模組的 QEMU 產品一樣，VMware 工作站使用了一種更加最佳化的方式，在儘可能的情況下直接執行程式碼，在 x86 中這是執行使用者模式和虛擬 8086 模式的程式碼的情況而言。當不能直接執行程式碼時，這幾種軟體產品會動態地重寫代碼，這是在執行核心級別和真實模式的程式碼的情況而言。在 VMware 中，經過翻譯的代碼是被放入記憶體的空閒區域中的，一般是在位址空間的尾部，這個區域可以隨即被保護起來並通過分段機制標記為不可見的。由於這些原因，VMware 比仿真器顯著地快，能以超過在真實硬體上執行速度的 80% 的速度執行虛擬的客戶作業系統。VMware 對在執行高強度計算的應用程式時只有小到 3%-5% 的效能損耗而自豪。

缺點是客戶作業系統的指令代碼必須和宿主機的 CPU 相容。因此不同於仿真器，VMware 工作站不能用來在一個英特爾 x86 處理器上執行 Mac/PPC 軟體。另一個缺點是通常不可能有效率地巢狀使用 VMware 虛擬機器（指在虛擬機器客戶中執行另一個 VMware 虛擬機器，即以一個虛擬機器客戶作為宿主機再執行 VMware）。最後，儘管 VMware 虛擬機器是執行於使用者模式下的，VMware 工作站宿主程式本身必須在宿主作業系統下安裝多種驅動程式，尤其是為了能動態切換 GDT 和 IDT 表。

最後一點說明：經常有人錯誤地認為像 VMware 或 Virtual PC 這類虛擬機器產品是_替換不良指令_或_簡單地在使用者模式下執行核心代碼_。這兩種方式都不能用於 x86。替換指令的意思可以這麼理解：假設要執行指令試圖讀取該指令本身的代碼，它會吃驚地發現沒有找到預期的內容。因為實際上不可能在允許指令正常執行的同時又保護其代碼不被讀取，要實現指令替換是複雜的。在使用者模式下不加改變地執行代碼同樣也是不可能的，這是因為在使用者模式下，大部分僅讀取機器狀態的指令不產生異常、也不能正確反映程式的真實狀態，此外某些指令的行為會悄悄地有所變化。重寫指令總是必需的；必要時會類比初始位置的當前指令指標，寫死的斷點也特別地會被重新對映。

## 特點

除了為到網路配接器、CD-ROM 讀盤機、硬碟機、以及 USB 裝置的存取提供橋梁外，VMware 工作站還提供類比某些硬體的能力。例如，能將一個 ISO 檔案作為一張 CDROM 安裝在系統上、也能將.vmdk 檔案作為硬碟機安裝、以及可將網路配接器驅動程式組態為通過宿主電腦使用網路位址轉換（NAT）來存取網路，而非使用與宿主機橋接的方式（該方式為：宿主網路上的每個客戶作業系統必須分配一個 IP 位址）。

VMware 工作站還允許無須將 LiveCD 燒錄到真正的光碟上、也無須重新啟動電腦，而對這些 LiveCD 進行測試。還可以擷取在 VMware 工作站下執行的某個作業系統的快照。每個快照可以用來在任何時候將虛擬機器回滾到儲存的狀態。這種多快照功能使 VMware 工作站成為銷售人員演示複雜的軟體產品、開發人員建立虛擬開發和測試環境的非常流行的工具。VMware 工作站包含有將多個虛擬機器指定為編隊的能力，編隊可以作為一個物體來開機、關機、掛起和恢復 — 這使 VMware 工作站在用於測試客戶端 - 伺服器環境時特別有用。

VMware 公司新的企業級伺服器和工具產品，正在使「將舊的生產伺服器移植到虛擬機器」的做法開始流行，這種做法能幾乎不費力地將多個舊式伺服器集裝到一個單個的新宿主電腦中。

## 參見

* Xen
* KVM
* 虛擬機器比較
* Virtual PC
* QEMU
* Hyper-V
* VirtualBox

## 參考資料

## 外部連結

* VMware 官方網站（頁面存檔備份，存於網際網路檔案館）
* VMware on YouTube （頁面存檔備份，存於網際網路檔案館）