虛擬化與外設支持

最近常有朋友問起服務器虛擬化能否兼容USB加密狗一類的外部設備。
 
其實這是兩個問題:
1,服務器虛擬化支持哪些外部設備的重定向。
2,服務器是否支持重定向加密狗到虛擬機。
 
第一部分:虛擬化環境對各種外設的支持
 
關於第一個問題,我們先來看看最牛X的服務器虛擬化軟件VMware vSphere對外設的支持情況,下圖告訴我們,建立在vSphere上的虛擬機所支持的虛擬硬件類型和數量限制:
 
 
請注意,虛擬機上可以添加的是虛擬硬件,虛擬硬件可能是物理硬件的映射,也可能不是,所以這裏需要詳細說明一下:
 
CPU,虛擬的CPU對應物理CPU的核,如果支持超線程,則一個核可以當成兩個核來用。
 
RAM,這個就是容量的分配了,虛擬化層有很多技術支持虛擬機超量使用物理內存。
 
顯卡,你不能爲虛擬機添加顯卡,它也不是物理顯卡的映射,它是純虛擬的,你可以設置它的一些屬性。
 
IDE接口,也是虛擬的,可用於光驅等低速設備,基本上不存在兼容性問題。
 
並口,可以映射Host的並口。
 
串口,可以映射Host的串口。
 
USB控制器,可以映射Host上的USB設備。一個USB設備在任一時刻都只能映射給某一個虛擬機。有人問我能否將一個USB設備,如加密狗,同時映射到多個虛擬機之中,我知道他想做什麼,可惜,虛擬化軟件幫不了他。
關於vSphere對USB設備的支持,VMware官方有文檔進行了說明:
 
軟驅,可以映射Host的軟驅或軟盤映像文件.flp
 
鼠標與鍵盤,映射Host上的各種類型的鼠標和鍵盤。
 
網卡,虛擬的,分爲多種類型,性能不同,兼容性也不同,E1000模擬Intel 82545EM 千兆網卡,操作系統基本都支持;Vlance模擬AMD 79C970 PCnet32 LANCE 網卡,是一種較舊的10M網卡,除非其它類似的網卡有兼容性問題或沒有驅動,否則不推薦使用;VMXNET分爲1,2,3代,性能一代比一代強,推薦使用,需要在虛擬機內安裝VMware Tools才能使用。詳細介紹參見http://kb.vmware.com/kb/1001805
虛擬網卡和物理網卡之間通過虛擬交換機相連接,可以是多對一的綁定關係。
 
SCSI卡,可以映射Host上的SCSI設備到虛擬機,也可以用於連接硬盤等虛擬設備,共有四種類型,早期的BusLogic和LSI Logic,都是並口的,以及Version 7才支持的LSI Logic SAS和VMWare準虛擬PVSCSI(高吞吐低CPU佔用),vSphere的SCSI虛擬化還支持SCSI總線共享,在構建集羣時非常有用。
 
所有設備映射,都只能將物理主機上的設備映射到運行在它上面的虛擬機,所以,虛擬機漂移的時候,可能失去對設備的訪問能力,直到人工干預,因爲設備停留在原物理主機上,不能隨虛擬機一起漂移。
 
第二部分 虛擬機對加密狗的支持
 
加密狗,英文爲Softdog或Software protection dongle,以前多采用並口連接計算機,現在多采用USB接口。也許是因爲中國軟件盜版率較高,也許是中國的軟件廠商太小家子氣,反正這東西在中國軟件業,特別是行業軟件業,應用廣泛。
 
加密狗設備連接到物理主機上之後,可能無法正常映射到虛擬機之中使用,即使映射成功了,因爲它不能隨虛擬機漂移,也會影響高級功能的應用,如Vmotion,HA,DRS等。
 
VMware的USB Pass-through技術所支持的USB設備列表:
 
只有一部分設備在這個列表中,最好的解決辦法是採用USB Over IP的解決方案將USB設備映射到虛擬機之中,分爲軟件和硬件解決方案:
 
軟件解決方案的例子:
USB@anywhere
USB Over Network
你需要將USB設備連接到一臺沒有做虛擬化的物理主機,然後在它上面安裝USB Over IP Server端軟件,然後在虛擬機裏安裝USB Over IP Client軟件,就行了。
 
硬件解決方案的例子:
類似於HUB或交換機,前面是USB口,後邊是網口,同樣要在虛擬機內安裝軟件。
 
 
對於那些老的基於並口的加密狗,目前沒有太好的解決辦法,如果哪位朋友有辦法,不妨告之,在此先謝過。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章