顧名思義,虛擬化是指計算元件在虛擬的基礎而不是在真實的基礎上運行。
虛擬化是一種從邏輯角度來分配不同物理資源的方法:
將應用程式及下層組件從支持它們的硬體中抽象出來,並提供支持資源的邏輯化視圖,是對物理實際的邏輯抽象
實現了軟體和硬體分離,無需考慮後臺具體的硬體實現,只需在虛擬層上運行作業系統和應用軟體,和物理平臺無關
在家用計算機的上安裝常規軟體屬於非虛擬化,而在辦公計算機上安裝虛擬化軟體就屬於虛擬化應用了,典型的非虛擬化和虛擬化的物理架構如圖1-1所示
圖1-1
虛擬化實際上是軟體和硬體虛擬化技術的結合,包括以下幾個方面:
CPU虛擬化
單CPU模擬多CPU並行,允許一個平臺同時運行多個作業系統,並且應用程式可以在相互獨立的空間內運行而互不影響,例如兩大CPU供應商的Intel VT和AMD-V技術
伺服器虛擬化
將一臺物理伺服器的資源抽象為邏輯資源,並虛擬成多臺相互隔離的虛擬機,包括硬體輔助例如(Microsoft和VMware)和軟體輔助(例如SUN和SWSoft)
存儲虛擬化
將多個存儲介質模塊集中在一個存儲池中集中管理,包括虛擬內存、RAID和SAN(Storage Area Network)
應用虛擬化
將客戶機系統應用部署在專用伺服器上,用戶通過虛擬客戶機界面操作,例如Citrix(Xen)的遠程應用交付和接入
網絡虛擬化
包括VPN和VLAN
1.2伺服器虛擬化架構如何將分散的工作站資源整合到具有高性能的伺服器當中?
採用專業而高效的方式整合硬體應用,這就是伺服器虛擬化的主旨,如圖1-2所示。
圖1-2
工作站資源可以轉化為虛擬機的形式,虛擬機包括作業系統和應用程式,如圖1-3所示。
圖1-3
使用虛擬機具有以下優點:
獨立於硬體
虛擬機的運行環境與伺服器硬體無直接關係(應用程式專屬硬體除外)
可以移植
通過相應工具可以實現原物理機到虛擬機的轉換
部署靈活
虛擬機以文件的形式,可以在不同的伺服器之間靈活部署
伺服器虛擬化主要有以下兩種架構:
完全虛擬化
在完全虛擬化架構中,作業系統處於隔離的環境中,不能訪問專屬硬體,如圖1-4所示。
圖1-4
完全虛擬化需使用需宿主作業系統支持的虛擬機軟體工作站版本,例如VMware Workstation Player/Pro和Oracle VM VirtualBox。
硬體輔助虛擬化
在硬體輔助虛擬化中,使用Hypervisor(虛擬化管理系統)作為伺服器宿主系統,虛擬機通過標準驅動訪問硬體,這需要IT技術(Intel VT/AMD-V)的支持,如圖1-5所示。
圖1-5
也就是說,在圖1-5中的Hypervisor(虛擬化管理系統)代替了圖1-4中的宿主作業系統和虛擬機軟體(即Windows 10和VMware Workstation)。
硬體輔助虛擬化使用的虛擬機軟體是無需宿主作業系統的伺服器版本,例如VMware ESXi和Microsoft Hyper-V,二者的架構不同,如圖1-6所示。
圖1-6
在本文中,將以VMware ESXi為例,介紹WinCC(亞洲版)的虛擬化應用。
1.3有效利用伺服器的硬體資源在虛擬化的Hypervisor架構中,需要將物理資源以虛擬資源的方式分配給虛擬機,包括CPU、內存、網卡和硬碟等,如圖1-7所示。
圖1-7
除本地硬碟外,數據存儲一般使用SAN(存儲區域網絡)和NAS(網絡附加存儲)的磁碟陣列,如圖1-8所示。
圖1-8
可以將物理網卡視作虛擬交換機,虛擬機的虛擬網卡視作虛擬交換機的埠,這樣可以輕鬆實現虛擬機的跨物理伺服器訪問,如圖1-9所示。
圖1-9
2虛擬化架構
在前面章節中介紹的兩種虛擬化架構,除了原理和配置不同外,操作方式也有很大區別,如圖2-1所示。
圖2-1
對於完全虛擬化來說,也就是在常規的虛擬化應用來說,一般通過本機的顯卡和顯示器以及外設來直接操作虛擬機;而對於硬體輔助虛擬化而言,由於在伺服器上同時開啟了多個虛擬機,每個虛擬機可以應用於不同的場合,由不同的用戶操作和控制,這樣就需要在客戶端通過多個RDP(遠程桌面連接)或VNC(虛擬網絡連接)連接到伺服器來操作虛擬機。
完全虛擬化一般用於工程師站的調試,例如組態不同版本的WinCC項目,不需要同時開啟多個虛擬機,如圖2-2所示。
圖2-2
而面對一個較為複雜的WinCC項目的網絡架構,在終端總線上包括了冗餘伺服器、中央歸檔伺服器、客戶機以及連通站等多個組件,如圖2-3所示。
圖2-3
可以採用硬體輔助虛擬化的方式,即使用一臺或少數幾臺高性能伺服器實現上述終端總線上多個WinCC計算機的功能,如圖2-4所示。
圖2-4
在圖2-3中終端總線上的每一個WinCC計算機,都可以使用一個虛擬機與之對應,幾乎所有WinCC的選件都可以使用虛擬機實現,如圖2-5所示。
圖2-5
對於運行多個虛擬機的物理伺服器,必須滿足若干條件,並且有一些限制,如圖2-6所示。
圖2-6
物理伺服器一般需要四塊網卡,分別用於WinCC的系統總線(與PLC通信的過程總線)、終端總線(物理伺服器之間)以及辦公網絡(RDP/VNC遠程訪問)和Hypervisor管理網絡。
如果在WinCC的伺服器和客戶機上使用了Web相應選件或OPC伺服器功能,則需要使用VNC或Terminal Server。