Skip to content

Server-虛擬化的介紹&主流方案

發布於: at 上午08:39

分享該文章至:

00 何為虛擬化?

運作方式

  1. 先在宿主主機上模擬出一個接近實體的環境
  2. 讓程式在不同硬體上執行時,都以為自己本身在同一個原始環境中執行

可能會遇到的問題

由於每台機器的環境不同而寫好的程式可能剛好跟開發者的電腦上的環境相容或者不相容,可能需要有多個不同的測試環境(ex:相容性測試)來進行測試。

其中會碰到的一些變因,進而需要一個不需花時間進行調整就能立即開箱即用的環境。

特點

01 日常中經常使用的種類

02 VM(虛擬機器) vs Container(容器)

Virtual Machine(VM,虛擬機器)

系統層上虛擬化: 在本機作業系統(Host OS)上再裝一個獨立運行於本機的作業系統(Guest OS),然後讓兩個作業系統彼此不會因環境不同而不相容。

Container(容器)

作業系統層上虛擬化: 不需額外在容器安裝作業系統(Guest OS),而是透過容器管理工具直接將一個應用程式所需的程式碼和函式庫一同打包成容器,且同時建立資源控管機制直接隔離各個容器並分配宿主主機上的系統資源給容器使用。

同時建立容器時所需的系統資源&開機時間可大幅降低,進而改善虛擬機器因為需要裝 Guest OS ,而會有啟動慢、佔較多的系統資源的問題。

03 可建置的環境種類

Docker & VM 不只可單獨使用,也能互相搭配混合使用。

  1. 祼機(Bare-Metal): 直接在實體伺服器安裝容器平台後,在其上運作數量眾多的容器以便提供應用程式及服務
  2. VM平台: 在實體伺服器建置虛擬主機,以硬體資源隔離的方式提供應用程式及服務
  3. VM+Container混合使用: 在虛擬主機中建置容器平台運作多個容器,同時提供正式營運所需的應用程式及服務,且能兼顧資料保護的安全性高&效能好等特性

REF