什麼是虛擬機?

虛擬機器 (VM) 是使用稱為虛擬化的過程在其他電腦內部執行的電腦。

學習目標

閱讀本文後,您將能夠:

  • 定義虛擬機器
  • 瞭解虛擬化和虛擬硬體的運作方式
  • 概述虛擬機器的幾個使用案例

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是虛擬機?

虛擬機器 (VM) 是存在於另一台電腦作業系統中的基於軟體的電腦,通常用於測試、備份資料或執行 SaaS 應用程式。要瞭解 VM 的運作原理,首先要瞭解作業系統通常如何整合電腦軟體和硬體,這一點很重要。

什麼是作業系統?

傳統電腦由實體硬體建置而成,包括硬碟、處理器晶片、RAM 等。為了利用這種硬體,電腦依賴於一種稱為作業系統 (OS) 的軟體。常見作業系統包括 Mac OSX、Microsoft Windows、Linux 和 Android。

作業系統按照使用者的使用目的管理電腦的硬體。例如,如果使用者想要存取網際網路,作業系統會指示網路介面卡以進行連線。如果使用者想要下載檔案,作業系統將在硬碟上為該檔案分割空間。作業系統還執行和管理其他軟體。例如,它可以運行 Web 瀏覽器並為瀏覽器提供足夠的隨機存取記憶體 (RAM) 以平穩運作。

通常,作業系統以一比一的比例存在於實體電腦中。對於每台電腦,都有一個作業系統管理其實體資源。

您可以在一台電腦上擁有兩個或更多作業系統嗎?

可以在一台電腦上執行多個作業系統。這可以透過稱為虛擬化的過程來實現。在虛擬化中,一個軟體就像一台獨立的電腦一樣運轉。此軟體稱為虛擬機器,也稱為「客體」電腦。(執行 VM 的電腦稱為「主機」。客體具有作業系統及其自己的虛擬硬體。

「虛擬硬體」可能聽起來很矛盾。事實上,虛擬機器的「硬碟」實際上只是主機電腦硬碟上的一個檔案。但是,虛擬硬碟具有與實體硬碟相同的功能。

可在一台主機上執行的 VM 數量僅受主機可用資源的限制。使用者可以像執行任何其他程式一樣在視窗中執行 VM 的作業系統,也可以全熒幕執行它,使其外觀和感覺都像真正的主機作業系統。

虛擬機器有何用途?

單台電腦上虛擬機器的常見使用案例包括:

  • 測試:軟體開發人員通常希望在不同的環境中測試他們的應用程式。他們可以使用虛擬機器在一台電腦上的各種作業系統中執行其應用程式。這比在幾台不同的實體電腦上進行測試更簡單、更具成本效益。
  • 執行為其他作業系統設計的軟體:儘管某些軟體應用程式僅適用於單個平台,但 VM 可以執行為其他作業系統設計的軟體。例如,如果一個 Mac 使用者想要執行為 Windows 設計的軟體,則可以在其 Mac 主機上執行 Windows VM。
  • 執行過時的軟體:某些舊軟體無法在現代作業系統中執行。想要執行這些應用程式的使用者可以在虛擬機器上執行舊作業系統。
  • 瀏覽器隔離瀏覽器隔離是將 Web 瀏覽器活動與電腦作業系統的其餘部分「隔離」的做法,其目的是防止惡意程式碼影響電腦的其他檔案和程式。部分瀏覽器隔離工具使用 VM 來建立此隔離,儘管此方法可能會減慢瀏覽活動。

雲端運算如何使用虛擬機器?

一些雲端提供者向其客戶提供虛擬機器。這些虛擬機器通常位於功能強大的伺服器上,這些伺服器可以充當多個 VM 的主機,並且可以出於多種原因使用——這對於本地託管的 VM 是不可行的。其中包括:

  • 執行 SaaS 應用程式:軟體即服務(簡稱 SaaS)是一種基於雲端向使用者提供軟體的方法,其中應用程式透過網際網路提供給使用者,而不是在他們的電腦上執行。通常,雲端的虛擬機器為 SaaS 應用程式進行計算並將其交付給使用者。如果雲端提供者具有地理位置分散的網路邊緣,則應用程式將在更靠近使用者的地方執行,從而提高效能。
  • 備份資料:基於雲端的 VM 服務在備份資料方面很受歡迎,因為可以從任何位置存取資料。此外,雲端 VM 可提供更好的備援,需要更少的維護,並且通常比實體資料中心更好地擴展。(例如,從雲端 VM 提供者那裡購買額外的 GB 儲存空間相對容易,但為額外的 GB 資料建置新的本地資料伺服器要困難得多。)
  • 託管電子郵件和存取管理等服務:在雲端 VM 上託管這些服務通常更快且更具成本效益,並且還有助於最大限度地減少維護和消除安全性問題。
  • 瀏覽器隔離:某些瀏覽器隔離工具使用雲端 VM 來執行 Web 瀏覽活動,並透過安全的網際網路連線向使用者提供安全的內容

Cloudflare 和虛擬機器

Cloudflare 可協助保護和管理任何類型的雲端部署,包括雲端 VM。SaaS 提供者可以使用 Cloudflare for SaaS 來提高其應用程式的效能、保護終端使用者的自訂網域等。

此外,對於想要在沒有虛擬機器開支的情況下在邊緣執行程式碼功能的使用者,我們的無伺服器平台 Cloudflare Workers 能夠以完全可擴展的方式為客戶提供邊緣計算,允許開發人員擴充現有應用程式或建立全新的應用程式,而無需設定或維護基礎結構。