--- tags: 系統程式,陳鐘誠教授 --- # 期末 [TOC] :::success README 本筆記主要為簡單統整與虛擬化技術相關的基礎技術名詞解釋內容 ::: --- ## 虛擬化技術 ### 什麼是虛擬化 從單一實體的硬體系統上,建構出多重模擬環境或專用資源。從一套名為「虛擬機管理器」(hypervisor)的軟體直接連結到硬體後,能將單一系統拆成數個各自獨立、獨特且安全的環境,就是俗稱的「虛擬機器」(VM) 。 ### 類別 虛擬化技術主要分三類: #### 1. 伺服器虛擬化 伺服器虛擬化可以讓一台伺服器同時運行多個虛擬機器。有三種常見的伺服器虛擬化方式:全虛擬化、半虛擬化和容器虛擬化。 **(1) 全虛擬化** 全虛擬化可以讓虛擬機器運行不同的作業系統,就像真正的電腦一樣。常見的全虛擬化軟體有VMware、KVM和Hyper-V。它們都可以讓我們在虛擬機器中運行各種作業系統。 * 原理:全虛擬化的原理是在虛擬機器和實體硬體之間添加一個虛擬化層,稱為虛擬機監控器(VMM)。這個層負責模擬硬體資源並管理虛擬機器的運行。 * 優點:全虛擬化的優點包括能夠在虛擬機器中運行不同的作業系統,提供良好的隔離性和安全性,並且可以在不同的硬體平台上運行。 **(2) 半虛擬化** 半虛擬化也可以讓虛擬機器運行不同的作業系統,但它需要一些修改才能正確運行。Xen是一個常見的半虛擬化軟體,它可以幫助我們實現這種類型的虛擬化。 * 原理:半虛擬化的原理是在作業系統中進行修改,以便與虛擬機器通信和共享資源。 * 優點:半虛擬化相對於全虛擬化來說,效能更高,因為不需要虛擬化層的介入,但需要作業系統的修改。 **(3) 容器虛擬化(作業系統層級的虛擬化)** 容器虛擬化是一種輕量級的虛擬化方式。它可以讓虛擬機器共享相同的作業系統核心,這樣可以節省很多資源。Docker和Kubernetes是兩個常見的容器虛擬化技術,它們在應用程式部署和管理方面非常有用。 * 原理:容器虛擬化使用作業系統層級的虛擬化技術,稱為容器。容器共享主機作業系統的核心,但具有獨立的文件系統和運行環境。 * 優點:容器虛擬化具有快速啟動、輕量級、資源利用效率高的優點,能夠快速部署和擴展應用程式。 Docker 容器虛擬化技術示意圖: ![](https://hackmd.io/_uploads/r1JS4n2D2.png) >圖片來源:https://medium.com/mr-efacani-teatime/%E6%B7%BA%E8%AB%87%E8%99%9B%E6%93%AC%E5%8C%96%E6%8A%80%E8%A1%93-%E8%99%9B%E6%93%AC%E6%A9%9F-vm-%E8%88%87%E5%AE%B9%E5%99%A8-container-%E4%B9%8B%E6%8A%80%E8%A1%93%E5%83%B9%E5%80%BC%E8%88%87%E6%AF%94%E8%BC%83%E5%88%86%E6%9E%90-5c10457aad62 伺服器虛擬化範例: 1. VMware vSphere 2. Microsoft Hyper-V 將一台實體伺服器虛擬化為多個虛擬機器。每個虛擬機器可以運行獨立的作業系統和應用程式,就像是一個獨立的伺服器 #### 2. 儲存虛擬化 儲存虛擬化可以讓我們更好地管理和共享儲存資源。有兩種主要的儲存虛擬化技術:區域網路儲存(SAN)和網路儲存(NAS)。這些技術讓我們可以更方便地存儲和訪問資料。 儲存虛擬化範例: 1. EMC VMAX 2. NetApp FAS 提供高效的儲存和資料保護功能。通過儲存虛擬化控制器(SVC),可以將儲存資源配置為不同的儲存池,並提供共享儲存空間,透過虛擬化可以簡化儲存管理、提高資料可靠性和存取效能。 #### 3. 網路虛擬化 指將過去透過硬體交付的網路資源抽象化至軟體的程序。網路虛擬化會將多個實體網路結合為單一軟體架構虛擬網路,或將單一實體網路分割成多個各自獨立的虛擬網路 網路虛擬化範例: 1. VMware NSX 2. Cisco ACI 這些平台,可以將物理網路虛擬化為多個邏輯網路,稱為虛擬區域網路(VLAN)或虛擬私有網路(VPN) ### 參考來源 1. https://github.com/yifengyou/learn-kvm/blob/master/docs/%E8%99%9A%E6%8B%9F%E5%8C%96%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF/%E8%99%9A%E6%8B%9F%E5%8C%96%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF.md 2. https://www.vmware.com/tw/solutions/virtualization.html 3. http://dns2.asia.edu.tw/~jdwang/TeachingCourses/Virtualization/Part1-_.pdf 4. [認識虛擬化](https://www.redhat.com/zh-tw/topics/virtualization#%E4%BB%80%E9%BA%BC%E6%98%AF%E8%99%9B%E6%93%AC%E5%8C%96%EF%BC%9F) 5. https://www.vmware.com/tw/topics/glossary/content/server-virtualization.html 6. https://www.vmware.com/tw/topics/glossary/content/network-virtualization.html