Skip to content

將一個或多個實體資源,如硬體、作業系統、應用程式或資料儲存,透過軟體技術的手段,將其抽象化、隔離化、統合化及自動化,形成一個或多個虛擬的資源,讓使用者可以彈性地使用和管理這些虛擬化的資源,並且可以在不影響其他虛擬化資源的情況下進行管理和配置

Notifications You must be signed in to change notification settings

libre-knowledge/virtualization

Repository files navigation

虛擬化
Virtualization

將一個或多個實體資源,如硬體、作業系統、應用程式或資料儲存,透過軟體技術的手段,將其抽象化、隔離化、統合化及自動化,形成一個或多個虛擬的資源,讓使用者可以彈性地使用和管理這些虛擬化的資源,並且可以在不影響其他虛擬化資源的情況下進行管理和配置

https://gitlab.com/libre-knowledge/virtualization
GitLab CI 持續整合流程狀態標章 「檢查專案中的潛在問題」GitHub Actions 作業流程狀態標章 pre-commit REUSE 規範遵從狀態標章

基本概念

以下列舉本主題相關的基本概念說明資源:

主端
Host

運行虛擬化解決方案的主機,負責提供運算資源給客端使用,一個虛擬化主端系統可以運行多個客端環境

客端
Guest

主端上運行的虛擬運算環境,與主端系統有一定程度的隔離,可以存取的資源受限

虛擬機監管器
Virtual Machine Hypervisor / Virtual Machine Monitor(VMM)

主端運算環境運行,管理並分配硬體資源給客端的系統或應用

原生/裸機型虛擬機監管器
Native/Bare-metal hypervisor

直接運行於主機硬體上(而非一般用途作業系統上)的虛擬機監管器,運行效能相對第二類虛擬機監管器較好

又稱為第一類虛擬機監管器(TYPE-1 Hypervisor)

託管型虛擬機監管器
Hosted hypervisor

以應用軟體的方式運行於一般用途作業系統上的虛擬機監管器,運行效能較第一類虛擬機監管器差

又稱為第二類虛擬機監管器(TYPE-2 Hypervisor)

硬體虛擬化
Hardware virtualization

模擬一硬體並將其操作轉換為相容的指令在現有的硬體上執行

全虛擬化
Full virtualization

幾乎完全模擬實際的硬體以能夠使作業系統與軟體在不經過修改適配的前提下直接運行

由於必須要翻譯所有的客端請求為主端指令故效能較差

伴虛擬化
Para-virtualization

透過與客端作業系統特別提供的界面交互來減少需要大量運算或時間才能處理的客端操作,藉以改善虛擬化效能的技術

需要主端虛擬機監管器客端作業系統支援對應的 API 才能夠使用(如 Linux)

硬體輔助虛擬化
Hardware-assisted virtualization

由中央處理器、晶片組等硬體提供,將虛擬機器的部份工作取代以提高虛擬機器運行效能的虛擬化解決方案

須硬體、韌體與虛擬機監管器支援

作業系統層級虛擬化
Operating system level virtualization

透過抽象化作業系統的功能與命名空間等隔離技術使多個客端作業系統可以與主端作業系統共用作業系統核心並同行運行的技術

解決方案

以下列舉本主題相關的解決方案:

虛擬機監管器

作業系統層級虛擬化

  • Docker
    主流的容器實現之一
  • Kubernetes
  • Podman
  • LXC
  • LXD

硬體輔助虛擬化

  • VT-x/AMD-V
  • VT-d
  • VT-c
  • AMD-Si
  • Extended Page Tables(Second Level Address Translation (SLAT))

虛擬化資源編排工具

參考資料

以下列舉撰寫本主題內容時所參考的第三方資源:


本主題為自由知識協作平台的一部分,除部份特別標註之經合理使用(fair use)原則使用的內容外允許公眾於授權範圍內自由使用

如有任何問題,歡迎於本主題的議題追蹤系統創建新議題反饋

About

將一個或多個實體資源,如硬體、作業系統、應用程式或資料儲存,透過軟體技術的手段,將其抽象化、隔離化、統合化及自動化,形成一個或多個虛擬的資源,讓使用者可以彈性地使用和管理這些虛擬化的資源,並且可以在不影響其他虛擬化資源的情況下進行管理和配置

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages