PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 電腦硬體討論群組 > 效能極限
帳戶
密碼
 

  回應
 
主題工具
cmwang
Elite Member
 

加入日期: May 2002
您的住址: 板橋
文章: 5,105
補充一下,VirtualBox OSE關於SVM/VMX的source code應該是在src/VBox/VMM/VMMR0中,另外在VirtualBox上開SVM時看到的log檔如下....

引用:
00:14:31.511 Ext Name: AuthenticAMD
00:14:31.511 Ext Supports: 0x80000000-0x80000004
00:14:31.511 Family: 15 Extended: 0 Effectiv: 15
00:14:31.511 Model: 8 Extended: 4 Effectiv: 8
00:14:31.511 Stepping: 2
00:14:31.511 Brand ID: 0x595
00:14:31.511 Mnemonic - Description = guest (host)
00:14:31.511 FPU - x87 FPU on Chip = 1 (1)
00:14:31.511 VME - Virtual 8086 Mode Enhancements = 1 (1)
00:14:31.511 DE - Debugging extensions = 1 (1)
00:14:31.511 PSE - Page Size Extension = 1 (1)
00:14:31.511 TSC - Time Stamp Counter = 1 (1)
00:14:31.511 MSR - K86 Model Specific Registers = 1 (1)
00:14:31.511 PAE - Physical Address Extension = 0 (1)
00:14:31.511 MCE - Machine Check Exception = 0 (1)
00:14:31.511 CX8 - CMPXCHG8B instruction = 1 (1)
00:14:31.511 APIC - APIC On-Chip = 0 (1)
00:14:31.511 10 - Reserved = 0 (0)
00:14:31.511 SEP - SYSCALL and SYSRET = 0 (1)
00:14:31.511 MTRR - Memory Type Range Registers = 0 (1)
00:14:31.512 PGE - PTE Global Bit = 1 (1)
00:14:31.512 MCA - Machine Check Architecture = 0 (1)
00:14:31.512 CMOV - Conditional Move Instructions = 1 (1)
00:14:31.512 PAT - Page Attribute Table = 1 (1)
00:14:31.512 PSE-36 - 36-bit Page Size Extention = 0 (1)
00:14:31.512 18 - Reserved = 0 (0)
00:14:31.512 19 - Reserved = 0 (0)
00:14:31.512 NX - No-Execute Page Protection = 0 (1)
00:14:31.512 DS - Debug Store = 0 (0)
00:14:31.512 AXMMX - AMD Extensions to MMX Instr. = 0 (1)
00:14:31.512 MMX - Intel MMX Technology = 1 (1)
00:14:31.512 FXSR - FXSAVE and FXRSTOR Instructions = 1 (1)
00:14:31.512 25 - AMD fast FXSAVE and FXRSTOR Instr.= 1 (1)
00:14:31.512 26 - Reserved = 0 (0)
00:14:31.512 27 - Reserved = 0 (1)
00:14:31.512 28 - Reserved = 0 (0)
00:14:31.512 29 - AMD Long Mode = 0 (1)
00:14:31.512 30 - AMD Extensions to 3DNow = 1 (1)
00:14:31.512 31 - AMD 3DNow = 1 (1)
00:14:31.512 LahfSahf - LAHF/SAHF in 64-bit mode = 0 (1)
00:14:31.512 CmpLegacy - Core MP legacy mode (depr) = 0 (1)
00:14:31.512 SVM - AMD VM Extensions = 0 (1)
00:14:31.512 APIC registers starting at 0x400 = 0 (1)
00:14:31.512 AltMovCR8 - LOCK MOV CR0 means MOV CR8 = 0 (1)
00:14:31.512 Advanced bit manipulation = 0 (0)
00:14:31.512 SSE4A instruction support = 0 (0)
00:14:31.512 Misaligned SSE mode = 0 (0)
00:14:31.512 PREFETCH and PREFETCHW instruction = 0 (0)
00:14:31.512 OS visible workaround = 0 (0)
00:14:31.512 11:10 - Reserved = 0x0 (0x0)
00:14:31.512 SKINIT, STGI, and DEV support = 0 (0)
00:14:31.512 Watchdog timer support. = 0 (0)
00:14:31.512 31:14 - Reserved = 0x0 (0x0)
00:14:31.512 Full Name: AMD Turion(tm) 64 X2 Mobile Technology TL-50

snipped....

00:14:31.896 HWACMM: cpuid 0x80000001.u32AMDFeatureECX = 1f
00:14:31.896 HWACMM: cpuid 0x80000001.u32AMDFeatureEDX = ebd3fbff
00:14:31.896 HWACCM: SVM revision = 1
00:14:31.896 HWACCM: SVM max ASID = 64


可以看到至少在起始階段,VirtualBox是有去做相關的偵測/初始化的(後續有沒有真的派上用場就再研究了),不過根據VirtualBox architecture上的描述,並不是所有動作都適合無條件SVM/VMX的....

引用:
One notable novelty is that all four privilege levels (rings) are supported in either mode, so guest software can theoretically run at any of them. VT-x then defines transitions from root to non-root mode (and vice versa) and calls these "VM entry" and "VM exit".

In non-root mode, the processor will automatically cause VM exits for certain privileged instructions and events. For some of these instructions, it is even configurable whether VM exits should occur.

Since, however, nearly all operating systems in use today only make use of ring-0 and ring-3, and since a lot of operations in non-root mode are very expensive, VirtualBox does not use VT-x exactly as intended by Intel. Instead, we make partial use of it -- only where it makes sense and where it helps us to improve performance. So, as said above, our hypervisor, on non-VT-x machines, lives in ring 0 of the guest context, below the guest ring-0 code that is actually run in ring 1. When VT-x is enabled, the hypervisor can safely live in ring 0 host context and gets activated automatically by use of the new VM exits.
     
      
__________________
士大夫之無恥,是謂國恥....
舊 2008-04-10, 02:47 PM #31
回應時引用此文章
cmwang離線中  
carejollg
Regular Member
 

加入日期: Feb 2008
文章: 51
就怕從Log檔還看不出所以然,只能從中去拼湊虛擬機器崩潰(crash)的原因。

當硬體架構更大時,分析Log檔將會難上加難,不僅資訊繁雜,Log檔本身也會變得異常大,所以才想找軟體工具來分析。理論上,每部虛擬機器是相互隔離的,彼此不曉得對方的存在,所以不會有互相干擾與搶硬體資源的問題,這也是廠商的說法。事實上是否真的如此,就要靠自己實驗了。

如果真的是隔離的,那麼虛擬機器停止反應的根源應該只有Guest OS與Host OS間的問題,而且比較有可能的發生點,應該也是在VM Exit這個切換的時間點。如果Log檔不至於太大,從中或許可以找到一些蛛絲馬跡。

不過,從cmwang給的Log片段看起來,分析Log檔還得要懂作業系統、硬體架構與指令等,不然分不清楚哪一條到底屬於軟體還是硬體...

此外,VirtualBox倒是很誠實地說出不完全支援Intel VT-x的原因,在於VirtualBox還無法善用VT-x硬體指令所切出來的Privilege Space(有完整的Ring 0/1/2/3),或許以後會整合吧。
只是,其他同級產品都說支援Pacifica/VT-x指令集,會不會也只是部份支援,但不明說而已...真擔心被當白老鼠或廠商的Beta Tester...
 
舊 2008-04-11, 09:02 AM #32
回應時引用此文章
carejollg離線中  
jnho
Regular Member
 

加入日期: Dec 2001
您的住址: 台北
文章: 51
樓上說看不懂的真的是來亂的,有寫東西的人就知道有多麻煩,時間,精神等等耗費無數

我想真正企業環境的虛擬機器,廠商不會把很多底層的運作方式讓使用者知曉的,原因在於
這樣他們賺什麼,即使連代理商都不一定知道,我想這是現實層面的問題,畢竟,上線之後的
維護費用與規劃費用,才是最大的收入來源

carejollg兄有興趣的話可以一起研究看看,公司有接近客戶環境的LAB機器,大家互相切磋,依直在評估各種ISCSI的方案,最近也無暇顧及這一塊,但是virtual iron最大的問題在於,國內的資訊太少,真的有問題,我想客戶會跳腳吧

看到虛擬化軟體百家爭鳴,真是不知道好或是不好,哪裡測試的完啊
舊 2008-04-13, 03:36 PM #33
回應時引用此文章
jnho離線中  
tatikoma
Major Member
 

加入日期: May 2005
文章: 277
[問] 沒 hypervisor driver 的硬體是否就無法在client OS中安裝?

*剛剛在看XEN的原理,記得XEN和VirtualIron類似(相對於VMware server),這邊問問看。

XEN 和 VirtualIron 的 hypervisor (也許有混淆,反正就是真正在硬體上安裝的instaler套件)
好像實際上算是改過的linux。

則,若某個硬體未提供linux版的driver,是否hypervisor就無法正常驅動該硬體,
然後hypervisor之上的client OS (當然,問的是Windows系列啦) 就根本看不到該硬體?

或是,儘管hypervisor無法正常驅動該硬體,但client的 Windows 還是可以抓到"不明硬體",
然後用Windows版driver去使用該硬體?

例如,一般主機板不一定有linux driver; 絕大多數的一般零組件如各種擴充卡,多半不可能有linux driver;
那這些硬體要如何在虛擬化環境下使用?

[附帶一問] 同一硬體,在不同家的linux下,適用的driver是否也不同?
( 在下不熟linux,卻想玩XEN / VirtualIron ...恐怕還早得很呦 現在想到的問題,請教請教先 )
__________________
-----------
潛...
舊 2008-04-17, 05:35 AM #34
回應時引用此文章
tatikoma離線中  
carejollg
Regular Member
 

加入日期: Feb 2008
文章: 51
XenServer與Virtual Iron等商業版產品是否支援底層的硬體,並不是決定在這些硬體是否有Linux版本的驅動程式,而是由發行XenServer或Virtual Iron的軟體廠商決定,是否要在虛擬化核心內建硬體的驅動程式。
如果廠商決定不納入,就算有Linux版或可相容的驅動程式也無法使用;沒有驅動程式,VMM(在這個例子中或稱為Hypervisor)自然無法使用硬體。



您可以從第一張圖中看出,底層硬體與Guest OS(也就是您所指的Client OS)之間隔著VMM,驅動硬體是由VMM所在的虛擬化核心負責的,而軟體廠商決定核心要納入哪些驅動程式。不過,XenServer或Virtual Iron並不是像Windows這類泛用型作業系統一樣,以相容性為主,而是專注在虛擬化用途上,所以不會為了相容性而在核心中納入太多的驅動程式,造成核心龐大與不穩定,以及資訊安全上的漏洞。

接下來,Guest OS是看不到底層硬體的(不論核心驅動哪些硬體),其看到的是由Hypervisor所虛擬的硬體;以VMware ESX Server為例,Guest OS所看到的虛擬硬體是由ESX所模擬的Intel 440BX系統晶片組、NS338 SIO、AMD PCnet網路控制晶片、創新未來的Sound Blaster音效控制晶片等IA-32相容的裝置,而不是底層硬體(例如AMD Althon x2、780晶片組、Intel Pro/1000 MT網路卡等)。您可以參考第二張圖的說明。



硬體要在虛擬化下使用,就要看虛擬化核心是否能支援,其實就是XenServer或Virtual Iron這類廠商決定,與零組件是否有Linux驅動程式並不相關。舉例來說,我在文章的範例中所使用的GA MA78GM-S2H這張主機板,技嘉也沒有提供Linux版驅動程式,但還是可以安裝Virtual Iron、XenServer、VMware ESX Server等虛擬化軟體。

同一個硬體,不同的Linux套件會有不同的驅動程式,安裝驅動程式時得先知道您使用哪一種Linux套件。

希望這些回答能讓您滿意,並解決您的問題。
舊 2008-04-17, 01:34 PM #35
回應時引用此文章
carejollg離線中  
tatikoma
Major Member
 

加入日期: May 2005
文章: 277
引用:
作者carejollg
XenServer與Virtual Iron等商業版產品是否支援底層的硬體,並不是決定在這些硬體是否有Linux版本的驅動程式...
希望這些回答能讓您滿意,並解決您的問題。


非常感謝!目前想到的問題都已獲得解答。

您的回覆,簡潔清晰切中問題,非常精闢。最近也常看到您在發虛擬化相關文章,是有志在推廣什麼系統或活動嗎?


---------以下是玩笑------------

絕望啊!我對不可能包山包海包驅動的 hypervisor 絕望啦!
(c久米田康治-絕望先生)

ps. 本來是想讓有電視卡的htpc,能在維持效能的前提下多點功用的;VMWare server free 實在是很好...的玩具。
__________________
-----------
潛...

此文章於 2008-04-17 03:07 PM 被 tatikoma 編輯.
舊 2008-04-17, 03:03 PM #36
回應時引用此文章
tatikoma離線中  
carejollg
Regular Member
 

加入日期: Feb 2008
文章: 51
最近也常「看到您在發虛擬化相關文章,是有志在推廣什麼系統或活動嗎?」

沒有要推廣虛擬化,我只是個一般電腦用戶,與虛擬化軟體廠商沒有任何關係與利益往來,文章是安裝經驗談,未接受任何廠商的稿費,這一點大家可以到各家廠商去求證;

我也不是媒體相關行業的記者、編輯,如果是的話,文章不會這樣寫...應該是xx總裁說「虛擬化可以節費、環保、提高TCO...」等,或「xx廠商因為導入虛擬化而節省IT管理費用、讓資訊部門從成本中心轉變為利潤中心」...諸如此類的論點,文章看起來更容易閱讀、更動聽,更讓人熱血沸騰到想去買軟體...

我也不是SI廠商的員工,不然範例中的參考架構就不會是一般個人電腦,而是像媒體報導中使用伺服器了(置入式行銷),MA78GM-S2H主機板也是自己挑腰包買的,在光華商場以2750元購入。

只是工作上寫網站程式,需要用到多種作業系統、應用伺服器、資料庫等,會需要用到虛擬化軟體,在使用過程中也順便研究一下相關資料,所以就將心得與大家分享。常寫軟體的網友應該能體會像虛擬化這種「沙盒」軟體的方便性。

此外,如果網友也時常從Google上搜尋虛擬化的中文資料,會發現清一色都說入門的伺服器才能安裝Virtual Iron、XenServer、ESX Server等,可是幾乎沒有談到像Intel D975XBX或GA MA78GM-S2H等主機就可以安裝成練習用的平臺,以及AMD在虛擬化上比Intel受歡迎,但很少談到原因...其他理由,就是有網友認為PCDVD慢慢地變成發問的場所,交流的機會卻越來越少吧;PCDVD成立很多年了,這裡臥虎藏龍的高手很多,多數絕對在我之上,變成只發問卻少交流的場地很可惜,不是嗎?

最後,網友需要較正式的資訊,這裡提供一篇由Network Computing所寫的文章,一共有5頁:

Implementing Virtualization

沒有時間看完的網友,可以直接跳到最後一頁看結論:

Will new x86 processor capabilities help fulfill the promise of server virtualization? Here's the lowdown on Intel's and AMD's latest designs and what they mean for you.

文章中結論沒有提供佐證的證據,大家當參考,不過英文資料至少會經過全球不少資訊行業的人看過,錯誤的機會較少吧。

其他相關的文章請網友參考eWeekInfoWorld等關於虛擬化的專欄。
舊 2008-04-18, 03:50 PM #37
回應時引用此文章
carejollg離線中  
AndCycle
Amateur Member
 

加入日期: Oct 2001
您的住址: Taipei
文章: 30
人家是愚民, 只知道圖表上每年新出的新cpu跑虛擬機器都應該更快
http://it.anandtech.com/IT/showdoc.aspx?i=3263&p=9
總之有錢就贏了 _A_
舊 2008-04-19, 04:46 AM #38
回應時引用此文章
AndCycle離線中  
sueboy
Amateur Member
 

加入日期: Aug 2001
文章: 35
先謝謝提供這些資料,整理起來看的人方便多了,而且看完之後更了解vm

有感而發,公司算不小,主機也真的很多,簡單說,會有所謂的重點機器,像財務計算特別重時,又不能有其他機器支援,如果vm可行,確實可以把多餘資源分過去,比用聯合運算好多了,如果單純增加機器,又會有所以硬體、系統之類的問題,雖然現在cisco有所謂在前端分流動作,但機器每個時期不一定,安裝也麻煩,如果vm又能聯合,只要vm裝的上去就行確實不錯!單單用iso來跑就覺得太方便了!要的只是cpu效能,理想理想。

贊成要確實要自己練習過,主機又沒那麼多錢買,當然用pc來練習,不見得有那麼好的運氣,可以有主機讓你玩,沒玩過怎麼知道好壞,不知道好壞有一天的要下決策時,被業務洗腦的機會就太高了!

PC如果檔的起來,一台主機的錢,也許就能買好幾台PC,直接拿PC來當備源機,就好像raid一樣,出問題,壞的拿下來,直接拿一台好PC插上,就可以更換,費用效能穩定不就能兼顧了!理想理想,LP要夠大,心臟也要夠大。
舊 2008-04-26, 09:37 PM #39
回應時引用此文章
sueboy離線中  
eose
Major Member
 
eose的大頭照
 

加入日期: Dec 2000
您的住址: Taipei
文章: 191
carejollg兄寫的很好喔~ 小弟本來不太懂的ESX,看完您的文章後就大概了解了,真感謝
學園那這幾篇比較沒人回應,小弟就到這來回摟.

AMD在虛擬化上比較受歡迎,小弟自己的經驗是因為Intel VT功能要6xxx以上CPU才有,$就要4~5千,但AMD的4000+就有支援VT了,才不到$2000. 有VT功能實用上來說就是可在32bit OS下用VMWare安裝64bit OS,真的是很方便.
__________________
存錢難~.~
舊 2008-04-29, 10:55 AM #40
回應時引用此文章
eose離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是08:40 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。