虛擬機技術,分類,常用,模擬環境,USB支持,資源分配,CPU,RAM,網路頻寬,磁碟性能,其他,英文釋義,linux,用處,安裝,過程,注意事項,VMware,Java,體系結構,暫存器,棧,方法區,雲中配置,部署法則,完成版鏡像,按需裝配,私有配置,防毒技術,卸載,
虛擬機技術 虛擬機技術是虛擬化技術的一種,所謂虛擬化技術就是將事物從一種形式轉變成另一種形式,最常用的虛擬化技術有作業系統中記憶體的虛擬化,實際運行時用戶需要的記憶體空間可能遠遠大於物理機器的記憶體大小,利用記憶體的虛擬化技術,用戶可以將一部分硬碟虛擬化為記憶體,而這對用戶是透明的。又如,可以利用虛擬專用網技術(VPN)在公共網路中虛擬化一條安全,穩定的“隧道”,用戶感覺像是使用私有網路一樣。
虛擬機技術最早由 IBM 於上世紀六七十年代提出,被定義為硬體設備的軟體模擬實現,通常的使用模式是分時共享昂貴的大型機。 虛擬機監視器(Virtual Machine Monitor,VMM)是虛擬機技術的核心,它是一層位於作業系統和計算機硬體之間的代碼,用來將硬體平台分割成多個虛擬機。VMM 運行在特權模式,主要作用是隔離並且管理上層運行的多個虛擬機,仲裁它們對底層硬體的訪問,並為每個客戶作業系統虛擬一套獨立於實際硬體的虛擬硬體環境(包括處理器,記憶體,I/O 設備)。VMM 採用某種調度算法在各個虛擬機之間共享 CPU,如採用時間片輪轉調度算法。
分類 微軟虛擬機
Mac虛擬機
IBM虛擬機
HP虛擬機
SWsoft虛擬機
SUN虛擬機
Intel虛擬機
AMD虛擬機
Java虛擬機
BB虛擬機
Linux虛擬機
常用 VMware Workstation
1. VM(Virtual Machine)——
虛擬機 ,指由Vmware
模擬 出來的一台虛擬的計算機,也即
邏輯 上的一台計算機。
3. Guest OS——指運行在VM上的
作業系統 。例如在一台安裝了Windows NT的計算機上安裝了Vmware,那么,HOST指的是安裝Windows NT的這台計算機,其Host′s OS為
Windows NT 。VM上運行的是Linux,那么Linux即為Guest OS。
特點
1.可同時在同一台PC上運行多個
作業系統 ,每個OS都有自己獨立的一個
虛擬機 , 就如同
網路 上一個獨立的PC。
2.在Windows NT/2000上同時運行兩個VM,相互之間可以進行對話,也可以在
全螢幕 方式下進行
虛擬機 之間對話,不過此時另一個
虛擬機 在後台運行。
3.在VM上安裝同一種
作業系統 的另一發行版,不需要重新對
硬碟 進行分區。
5.可以運行C/S方式的套用,也可以在同一台計算機上,使用另一台
虛擬機 的所有
資源 。
使用Vmware,你可以同時運行
Linux 各種發行版、Dos、Windows各種版本,Unix等,你甚至可以在同一台計算機上安裝多個Linux發行版、 多個Windows版本。筆者安裝了Windows NT下的Vmware後,在VM上安裝
Red Hat Linux ,成功 運行了Xwindow,同時也在虛擬機下安裝了Windows 98。這簡直令人難以置信!但是,這一切發生了,是Vmware幫助的結果!
Vmware對
虛擬硬碟 大小有限制,創建後以後就不允許用戶再更改了。
虛擬硬碟 實際上是Windows NT下的一個檔案,而對於 Guest OS,它則永遠被看作是一個IDE硬碟。在虛擬機中,尚沒有SCSI、RAID的概念。
不過,你不必擔心,儘管在虛擬機中不支持SCSI盤,但是,
虛擬磁碟 卻可以建立在任何種類的硬碟上,包括IDE、SCSI甚至RAID陣列上。這些盤上的檔案系統可以是FAT16、FAT32、NTFS等。此外,
虛擬盤 也可建立在一個可移動的磁碟上,還可以建立在一個
網路 檔案伺服器 上。如果用戶願意,也可以放置在一個已劃分好的分區上。
在Vmware的視窗上,模擬了多個
按鍵 ,分別代表打開虛擬機電源、關閉虛擬機電源、Reset鍵等等。 這些按鍵的功能就如同真正的按鍵一樣。如果你的Guest OS是Linux ,而你不是通過halt命令或 reboot命令關閉Linux 系統的。那么,下次啟動Linux的時,Linux就會自動進行檔案系統的檢查與修復。因為它認為上次關機是一次真實的斷電事故。
VMware 可以使你在一台機器上同時運行二個或更多
Windows 、
DOS 、
LINUX 系統。與“多啟動”系統相比,VMWare採用了完全不同的概念。多啟動系統在一個時刻只能運行一個系統,在系統切換時需要重新啟動機器。VMWare是真正“同時”運行,多個
作業系統 在主系統的平台上,就像標準Windows
應用程式 那樣切換。而且每個
作業系統 你都可以進行虛擬的分區、配置而不影響真實硬碟的數據,你甚至可以通過網卡將幾台
虛擬機 用網卡連線為一個區域網路,極其方便。安裝在VMware
作業系統 性能上比直接安裝在硬碟上的系統低不少,因此,比較適合學習和測試。 使我們可以在同一台PC機上同時運行Windows NT、Linux、Windows 9x、FreeBSD……可以在使用Linux的同時,即時轉到Win 9x中運行Word。如果要使用Linux,只要輕輕一點,又回到Linux之中。就如同你有兩台計算機在同時工作。實現的工具就是:
虛擬計算 平台——Vmware。
Parallels Desktop
Parallels Desktop 是適用於
Mac OS 平台上的虛擬機解決方案。無需重啟即可在同時一台Mac電腦上隨時訪問Windows和Mac兩個系統上的眾多應用程式。與VMware最大的區別在於Parallels Desktop無需重啟,兩個系統同時運行。兩系統間可以實現檔案互傳,素材共用。
Parallels Desktop
融合模式(
Coherence )支持不顯示Windows但是仍使用其應用程式,或者在Mac上保留熟悉的Windows背景與開始選單。兩種同時運行Windows與Mac應用程式的方式都不會對性能產生任何影響。
Virtual PC
Virtual PC是
微軟公司 (Microsoft) 收購過來的,最早不是微軟開發的。Virtual PC可以允許你在一個工作站上同時運行多個
PC 作業系統 ,當你轉向一個新
OS 時,可以為你運行傳統套用提供一個安全的環境以保持
兼容性 ,它可以保存重新配置的時間,使得你的支持,開發,培訓工作可以更加有效。
Virtual PC 在使用
PowerPC處理器 的Mac OS X版本上,其模擬機“使用”Intel Pentium 4處理器及440BX 系列的
主機板 ;而在Windows版本上,會使用電腦本身的處理器。模擬電腦上使用一塊標準的SVGA VESA圖卡,並與S3 Trio 64 PCI 8 MByte Video RAM版本的兼容。
主機板 使用American Megatrends (AMI)的BIOS。並有“內置”的 Creative Labs Sound Blaster 16 PnP音效卡 (Vista上或運行模擬Vista環境時,則使用Vista本身的音效系統,因為Vista並不支援Creative Labs Sound Blaster)及DEC 21041 或 DEC 21140的Ethernet網卡。
目錄
模擬環境 即使Virtual PC的兼容性很高,但不是所有
軟體 都能在Virtual PC中正常地運行,因為那些軟體可能使用一些未公開的硬體或使用一些不支援的指令。一些人或組織藉此貶低他,比如,在VirtualPC 2004 SP1中,如果有印表機使用LPT1連線埠,則
虛擬機 不能識別。這個漏洞在Virtual PC 2007中得到改善。
蘋果
麥金塔電腦 版本的Virtual PC用動態重新編譯轉換x86的機械碼至相等的PowerPC機械碼,使Mac可以執行標準pc的程式。
微軟 Windows版本的Virtual PC也是用動態重新編譯,因為原本就能執行使用者模式和virtual 8086 mode的x86機械碼,所以就只是轉換核心模式和真實模式到使用者模式的x86機械碼。
通常還提供一些
客戶端 的呼叫函式庫(特別是使用某些客戶端的延伸功能),來加速模擬或提供更多的功能像整合原執行主機
環境變數 。
Virtual PC 可以在你的電腦上能同時模擬多台電腦,虛擬的電腦使用起來與一台真實的電腦一樣,可以進行bios設定,可以給它的硬碟進行分區,格式化,
作業系統 你可以安裝 DOS,Windows 95, Windows 98,Windows ME,Windows 2000,Windows XP,Windows Server 2003,UNIX,LINUX等等,你可以在你的 Windows XP 里運行 Linux。
基於Intel的蘋果機支持
微軟 宣布在2006 年8月7 日, 真正個人計算機認為Mac不會被端起對英特爾Mac 平台。
微軟 陳述了 “可選擇的解決方案由蘋果計算機公司和其它販賣者提供, 與視窗的一個充分地被包裝的零售拷貝被結合, 將滿足這需要。”
蘋果計算機公司宣布了和早先運輸了新兵訓練所預覽發行。根據蘋果計算機公司, 新兵訓練所的一個完成的版本將運輸以Mac OS x 10.5 "Leopard." 新兵訓練所將允許Windows XP 被安裝在新基於
英特爾 的橡皮防水布硬碟的另外分開。這允許用戶解僱入或Mac OS x 或視窗, 雖然不同時。一的包括對連續視窗根據套用的解決辦法在Macintosh 硬體減少需要對於真正個人計算機的英特爾版本。
有並且只能選其中之一的產品從Parallels, Inc. 告訴的Parallels Desktop 為Mac 。這種套用被設計利用Intel's 新技術叫做是新
英特爾 核心處理器的一部分多數Apple's 最新的計算機使用的英特爾Virtualization 技術。由使用I-VT, 它增加客人
作業系統 的表現, 使它更加實用至於規則使用。平行
桌面 並且看齊更新的硬體比
微軟 真正個人計算機。VMware 和VirtualBox 並且宣布, 他們發布他們的
軟體 的Mac OS x 版本。
USB支持 在Virtual PC 2007推出之前,大眾都期待新的版本可以支持USB設備,因為Mac版本的Virtual PC是可以使用USB設備的。可是,結果這功能依然沒有被加入(不過在Windows 7的XP模式下,Virtual PC是支持USB設備的),使用戶在需要USB的支援時,仍然需要使用其他支持USB設備的產品。
資源分配 虛擬機資源涉及多個方面:CPU、記憶體、網路以及磁碟。在規劃虛擬機時應該考慮這些資源之間的關係,否則,分配的資源不合理將導致虛擬機內的應用程式性能表現不佳。
CPU 虛擬機每個vCPU只運行在一個物理核心之上,因此CPU頻率越高虛擬機的運行速度也就越高,vCPU數量越多有助於提升套用的性能表現。一個比較複雜的因素就是在ESXi伺服器內,所有的虛擬機共享使用物理CPU。ESXi伺服器的核心數越多,每個vCPU獲得的核心份額也就越大,因此多核心的性能表現要強於核心頻率高但數量少的情況。
如果虛擬機需要占用大量的CPU時間,那么可以考慮為虛擬機分配第二個vCPU,但是,為虛擬機分配兩個以上vCPU並不一定讓套用運行的更快,因為只有多執行緒套用才能有效地使用多個vCPU。
RAM ESXi伺服器內RAM資源通常有限,因此在給虛擬機分配RAM時需要格外小心。VMkernel在處理RAM時非常巧妙;允許虛擬機使用ESXi伺服器所有的物理記憶體而且會儘量避免占用物理記憶體卻沒有真正使用的情況。
物理記憶體被完全用完後,VMkernel必須確定哪些虛擬機能夠保留物理記憶體,哪些虛擬機要釋放物理記憶體。這稱之為“記憶體回收”。當虛擬機占用的物理記憶體被回收後,存在的一個風險就是會對虛擬機的性能造成影響。虛擬機被回收的記憶體越多,相應的風險也就越大。
最明智的是只為虛擬機分配完成工作所需要的記憶體。分配額外的記憶體將會增加回收風險。另一方面,當虛擬機作業系統將未被使用的記憶體用作磁碟快取時,將會顯著降低對磁碟系統的性能要求,所以這裡有一個折衷問題。
對於資料庫伺服器以及VDI桌面來說,為虛擬機分配更多的記憶體往往更划算—在一台ESXi伺服器上運行更少的虛擬機—而不是購買高性能的磁碟陣列。關鍵在於針對虛擬機的負載分配足夠多記憶體而且沒有浪費。
網路頻寬 網路頻寬包括兩個方面:一是虛擬機和虛擬交換機之間的頻寬,二是虛擬交換機與外部網路之間的頻寬。如果希望虛擬機獲得最大頻寬那么應該使用VMXNET3網路適配器,VMXNET3在最小的CPU開銷下提供了最好的吞吐量。如果情況允許,所有的虛擬機都應該使用VMXNET3網路適配器。
對於與外部物理網路的連線,一定要確保ESXi主機具備速度最快的物理網卡;10Gb是一個不錯的選擇,即使物理網卡的數量很少,但10Gb能夠允許虛擬機承受突發的網路流量。
請記住,進行大量網路傳輸的虛擬機,虛擬機以及數據包的傳輸都會消耗CPU時間。因此,運行在CPU受限的ESXi伺服器之上的虛擬機由於CPU無法快速回響請求可能會面臨網路吞吐量不高的情況。
磁碟性能 磁碟性能往往是無聲的性能殺手。虛擬機磁碟性能受陣列磁碟數量、類型以及運行在其上的虛擬機的數量的限制。因為集中地共享存儲架構將導致通過同一位置訪問所有的虛擬機磁碟,陣列的存儲控制器以及磁碟過載情況很容易出現,只剩下虛擬機在等待存儲的回響。
虛擬機等待磁碟IO、虛擬機CPU空閒對性能的影響有很大不同。等待IO的虛擬機無法做其他工作,因此高I/O等待時間意味著性能肯定會下降。進行周密的存儲設計以避免上述情況的發生至關重要。
合理選擇磁碟 提升虛擬機性能
在虛擬化中,hypervisor將工作負載從運行在底層的物理硬體中抽象出來,允許快速分配並共享計算資源,遷移工作負載。儘管hypervisor以及與虛擬化兼容的處理器性能開銷很小,但是虛擬化層的存在卻對性能有影響。
當磁碟性能對工作負載至關重要時,某些管理員可能會選擇以直通模式配置LUN,允許虛擬機的作業系統繞過hypervisor與直接LUN進行通信。例如,Windows伺服器虛擬機可能使用直通模式繞過Hyper-V直接訪問磁碟,這對SQL Server資料庫的性能有些許提升。然而,由於客戶作業系統(採用直通模式)以及hypervisor試圖同時訪問磁碟,那么hypervisor必須被配置為忽略直通LUN。
直通模式存在的問題是其不被某些重要的虛擬化功能比如虛擬機快照或者集群所支持。因此,虛擬機在實際上可能會受益於虛擬化提供的各種功能特性而非採用直通模式所帶來的處於邊緣地位的性能提升。管理員需要評估虛擬機的需求並確定直通模式的適宜性。
除直通模式外,Hyper-V以及其他hypervisor還提供了其他磁碟存儲選項。例如,當.VHD檔案被創建時,大小固定的磁碟將分配所有的數據塊。一旦被創建,大小固定的磁碟就不能夠進行調整了。然而,動態擴展磁碟從一開始創建的就是沒有數據塊的.VHD檔案,當數據寫入到.VHD檔案中後磁碟空間才會被分配出去。這和精簡配置類似,儘管在邏輯上創建了一塊磁碟,但實際的磁碟空間只有數據寫入時才會被用到。
差分磁碟是一種特殊的動態擴展磁碟類型。其設計思路是父磁碟擁有固定的鏡像而且差分磁碟與父磁碟相關聯,因此寫入到磁碟的數據被存放在差分磁碟而非.VHD檔案中。讀請求首先檢查差分磁碟的.VHD檔案,如果沒有更改,就會讀父.VHD檔案。當需要標準化的磁碟鏡像而且回滾功能很重要時,差分是一個不錯的主意,但是管理員在維護父子磁碟配置時可能會面臨挑戰。
其他 Microsoft Virtual PC 2007並不支持Windows的家用版。若在家用版Windows上安裝Virtual PC 2007,系統會有彈出信息提示,指“系統並不支援現時的架構”。不過,具體來說,Virtual PC 2007在家用版Windows上依然可以正常運行。
英文釋義 Virtual: [ˈvə:tjuəl]
a. 虛擬的,實質的
詞形變化:
名詞:virtuality
例句與用法:
1. A virtual state of war exists between the two countries.
2. Our deputy manager is the virtual head of the business.
我們的副經理是公司的實際負責人。
3. For example, in a Virtual space, Students can"dissect" a human body, "visit" ancient battlefields, or"talk" with Shakespeare,…
如,在虛擬的空間中,學生們可以“解剖”人體,“參觀”
古戰場 ,與莎士比亞“對話”等等。
4. In a virtual storage system, a fixed-length block that has a virtual address and that is transferred as a unit between real storage and auxiliary storage.
PC:abbr. personal computer
個人電腦
Windows7中載入Virtual PC映像技巧
首先,我們點擊“開始-所有程式-管理工具-計算機管理”命令打開“計算機管理”視窗。接著在左側選擇“存儲-磁碟管理”功能,這時就顯示所有的磁碟分區的使用狀況,需要注意的是載入VPC映像的前提是不運行該映像的虛擬機系統。然後,我們可以點擊右側的“磁碟管理”下的“更多操作”旁邊的箭頭選擇“附加VHD”命令。在出現的“附加虛擬硬碟”的視窗點擊“瀏覽”按鈕找到VPC映像檔案,可以勾選“Read-only”來唯讀方式載入,確定後即可載入成功了。這時,我們可以在“磁碟管理”視窗發現VPC映像是以普通磁碟分區的方式載入的,分區的盤符是和原來的接續的。 打開“計算機”,我們發現VPC映像的分區可以被隨意訪問,檔案操作也和其他分區是完全一樣的。這樣一來就大大便利了主機和虛擬機之間的檔案共享操作。不過,載入了VPC映像後會出現啟動虛擬機的錯誤,多次啟動無法成功進入Windows。這是由於虛擬機無法寫入映像導致的。我們只需卸載VPC映像即可。那么,怎么做呢?首先,關閉VPC,然後,進入剛才的磁碟管理視窗。右鍵單擊載入的VPC虛擬磁碟,選擇“分離VHD”命令即可。
Oracle VM VirtualBox
Oracle VM VirtualBox 是由Sun Microsystems公司出品的
軟體 (Sun Microsystems 於 2010年被Oracle收購),原由德國innotek公司開發。2008年2月12日,Sun Microsystems宣布將以購買股票的方式收購德國Innotek
軟體 公司,新版不再叫做Innotek VirtualBox,而改叫Sun xVM VirtualBox。2010年1月21日,歐盟終於同意Oracle收購Sun,VirtualBox再次改名變成 Oracle VM VirtualBox。VirtualBox是開源
軟體 。VirtualBox 3.2.0支持的
作業系統 包括:Debian, Fedora, Linux, Mac OS (Intel), Mandriva, OpenSolaris, PCLiunxOS, Red Hat, SUSE Linux, Solaris 10,
Ubuntu , Windows,
Xandros , openSUSE等。Oracle VM VirtualBox 支持的
客戶端 作業系統 包括:從 3.1到Vista的所有版本的Windows、Linux 2.2、2.4和 2.6
核心 、Solaris x86、OS/2、、OpenBSD、 Netware 、FreeBSD 和 DOS 。在 2007 年 1 月,InnoTek 以 GNU General Public License (GPL) 釋出 VirtualBox,並提供二進位版本及
開放源碼 版本的代碼。最新版本是VirtualBox 4.3.12-93733。
VMLite
VMLite是全球首款中國人自己設計的高速
虛擬機 ,VMLite發布的短短几周內已經吸引了全球上萬名虛擬機玩家註冊下載並使用VMLite
軟體 。
VMLite是一個
虛擬機軟體 ,其附帶的VMLite XP模式與
微軟 推出的Windows XP模式幾乎一模一樣,但是卻不要求你的CPU非得支持虛擬化才能運行。VMLite允許你直接使用從
微軟 網站上下載下來的Windows XP模式安裝檔案,來建立Windows XP
虛擬機 。VMLite XP模式配置完成後,在Windows 7的
開始選單 中也會出現
虛擬機 中安裝的
軟體 的
捷徑 ;在
虛擬機 中運行的程式,可以無縫的在Windows 7
桌面 上顯示,看起來就跟在本機 中運行一樣。
VMLite 系列產品
目前為止,VMLite已經包括VMLite XP Mode、VMLite Workstation、MyOldPCs、VMLite VirtualApps Studio、VMLite VirtualApps Player、VBoot 六大產品,非常全面。
VMLite XP Mode
VMLite XP Mode的作用是在host(真實系統中)像直接使用普通
軟體 一樣使用其他系統中才能使用的軟體。其原理是只虛擬一個
軟體 ,虛擬機在後台運行。該功能常常用於Vista和Win7 使用只能在Xp下使用的
軟體 ,即虛擬出Xp來使用部分軟體,所以該功能約定俗成成為XP Mode。
XP Mode最早由
微軟 的
虛擬機軟體 Virtual PC在配合Win7系統時推出。之後Vmware 、Virtual box也跟進該項功能。
VMLite的最大特點是不需要硬體級別的虛擬化支持! 即CPU不需要支持intel的VT-x或者AMD的AMD-V。這意味著較早的CPU以及部分性能高卻不支持硬體虛擬的CPU也能夠使用XP Mode。(注意:這裡有誤區。Win7 的XP mode必須要CPU支持
虛擬化技術 才可以使用。但是XP mode的真身Virtual PC以及其他所有的
虛擬機軟體 都不一定要支持硬體虛擬的CPU,只不過慢一點罷了。
虛擬機 技術早於硬體發展的,早期用虛擬機大家都不支持硬體虛擬化。)
根據VMLite官方說法:即使你的機器的CPU支持硬體虛擬化,也推薦使用VMLite。因為它運行更加快速並且支持3D/2D加速
VMLite的優點
2)VMLite對硬體安裝沒有任何要求,就是對你的計算機配置沒有任何要求,
比如 不需要兼容VT-x或者AMD-V
3)Vmlite不運行遠程程式所以速度非常快
4)VMLite檔案共享快
5)VMLite擁有超大磁碟容量:2TB
6)VMLite支持 32位和64位系統
7)VMLite支持多個虛擬CPU同時運行
8)VMLite支持3D動畫效果擁有32位高清晰顯示卡,可以高清晰度的欣賞google earth以及讓玩家玩遍對畫質要求高的最時尚的網遊
linux 一種安裝在Windows上的虛擬linux操作環境,就被稱為
linux 虛擬機 。它實際上只是個檔案而已,是虛擬的
linux 環境,而非真正意義上的
作業系統 。但是它們的實際效果是一樣的。所以安裝在
虛擬機 上使用好。
windows XP
虛擬機 vmware 下安裝Linux 我們在實際的Windows XP中(宿主計算機)再虛擬出一台電腦(虛擬機),並在上面安裝Linux系統,這樣,你就可以放心大膽地進行各種Linux練習而無須擔心操作不當導致宿
主機系統 崩潰了。並且你可以舉一反三,將一台電腦變成三台、四台,再分別安裝上其他的系統。(運行
虛擬機軟體 的
作業系統 叫Host OS,在虛擬機里運行的作業系統叫Guest OS)
windowsXP虛擬機vmware下安裝Linux過程
第一步:
啟動VMware,在其主界面“主頁”標籤頁中點擊“新建
虛擬機 ”按鈕打開新建嚮導。
第二步:
單擊“下一步”按鈕,進入
虛擬機 配置界面,這裡有兩個選擇:一是“典型”方式,它根據虛擬機的用途自動調整配置;二是“自定義”方式,它允許用戶自行設定虛擬機的主要參數。典型方式要比自定義方式簡單,但缺少一定的靈活性。方便起見,這裡我們選擇典型方式。
第三步:
單擊“下一步”按鈕進入
虛擬機 作業系統 選擇界面,可以看到Windows、Linux、Novell等多種不同的系統,這裡我們點選“Linux”。Linux又分為多種版本,筆者手頭有一套
紅帽子 Linux 8.0,自然要選擇“Red Hat Linux”項了。
用處 1.演示環境,可以安裝各種演示環境,便於做各種例子
2.保證主機的快速運行,減少不必要的垃圾安裝程式,偶爾使用的程式,或者測試用的程式在
虛擬機 上運行
3.避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行
4.想測試一下不熟悉的套用,在
虛擬機 中隨便安裝和徹底刪除
5.體驗不同版本的
作業系統 ,如Linux、Mac等。
終端虛擬化由於其帶來的維護費用的大幅降低而受到追捧——如能降低
占用空間 ,降低購買軟硬體設備的成本,節省能源和更低的維護成本。它比實際存在的終端設備更加具備性價比優勢。但這些並非是教育行業和廠商對
虛擬化技術 情有獨鐘的惟一原因。另一方面,我們一般較少提及,那就是:
虛擬化技術 能大幅提升系統的安全性。
安裝 在使用上,這台
虛擬機 和真正的
物理 主機沒有太大的區別,都需要分區、格式化、安裝
作業系統 、安裝
應用程式 和
軟體 ,總之,一切操作都跟一台真正的計算機一樣。虛擬機可以為
電腦愛好者 進行的一系列系統攻擊行為做一個示範或演練,可以讓我們熟悉各種的系統攻擊行為,從而保護電腦。
過程 下面通過例子,介紹使用VMware Workstation創建
虛擬機 的方法與步驟。
1.運行VMware Workstation 6 ,單擊“File→New→Virtual Machine”命令,進入創建
虛擬機 嚮導,或者直接按“Crtl+N”
快捷鍵 同樣進入創建虛擬機嚮導。
2.在彈出的歡迎頁中單擊“下一步”按鈕。
3.在“Virtual machine configuration” 選項區域內選擇“Custom”
單選按鈕 。
4.在Choose the Virtual Machine Hardware Compatibility頁中 ,選擇
虛擬機 的硬體格式,可以在Hardware compatibility下拉列表框中,在VMware Workstation 6、VMware Workstation 5或VMware Workstation 4三者之間進行選擇。通常情況下選擇Workstation 6的格式,因為新的
虛擬機 硬體格式支持更多的功能,選擇好後單擊“下一步”按鈕。
5.在Select a Guest Operating System對話框中 ,選擇要創建
虛擬機 類型及要運行的
作業系統 ,這裡選擇Windows 2000 Professional作業系統,單擊“下一步”按鈕。
6.在Name the Virtual Machine對話框中 ,為新建的
虛擬機 命名並且選擇它的保存路徑。
7.在Processors選項區域中選擇 虛擬機 中CPU的數量,如果選擇Two,
主機 需要有兩個CPU或者是
超執行緒 的CPU。
8.在Memory for the Virtual Machine頁中 ,設定
虛擬機 使用的記憶體,通常情況下,對於Windows 98及其以下的系統,可以設定64MB;對於Windows 2000/XP,最少可以設定96MB;對於Windows 2003,最低為128MB;對於Windows Vista虛擬機,最低512MB。
9.在Network Type頁中選擇 虛擬機 網卡的“聯網類型”
選擇第三項,只使用本地
網路 (VMnet1
虛擬網卡 ),表示
虛擬機 只能訪問
主機 及所有使用VMnet1虛擬網卡的虛擬機。主機之外的網路中的計算機不能訪問該
虛擬機 ,也不能被該虛擬機所訪問。
選擇第四項,沒有
網路 連線,表明該虛擬機與
主機 沒有網路連線。
10.在Select I/O Adapter Type頁中, 選擇
虛擬機 的SCSI卡的型號,通常選擇默認值即可。
11.在Select a Disk頁中, 選擇Create a new virtual disk(創建一個新的
虛擬硬碟 )。
12.在Select a Disk Type頁中 ,選擇創建的
虛擬硬碟 的
接口方式 ,通常選擇默認值即可。
13.在Specify Disk Capacity頁中 設定
虛擬磁碟 大小,對於一般的使用來說,選擇默認值即可。
14.在Specify Disk File頁的Disk file選項區域內 設定
虛擬磁碟 檔案名稱稱,通常選擇默認值即可,然後單擊完成按鈕。
注意事項 在
虛擬機 中安裝
作業系統 ,和在真實的計算機中安裝沒有什麼區別,但在虛擬機中安裝作業系統,可以直接使用保存在
主機 上的安裝
光碟鏡像 (或者
軟碟 鏡像)作為虛擬機的光碟機(或者軟碟機)。
可以用打開前文創建的Windows 2000
虛擬機 配置檔案,在Virtual Machine Settings頁中的Hardware選項卡中,選擇CD-ROM項,在Connection選項區域內選中Use ISO image
單選按鈕 ,然後瀏覽選擇Windows 2000安裝
光碟鏡像 檔案(ISO格式)。如果使用安裝光碟,則選擇Use physical drive並選擇安裝光碟所在光碟機。
選擇光碟機完成後,然後單擊
工具列 上的播放按鈕,打開
虛擬機 的電源,用滑鼠在虛擬機工作視窗中單擊一下,進入虛擬機。
如果想從
虛擬機 視窗中切換回
主機 ,需要按下Ctrl+Alt熱鍵。
安裝VMware Tools
在
虛擬機 中安裝完
作業系統 之後,接下來需要安裝VMware Tools。VMware Tools相當於
VMware虛擬機 的主機板晶片組驅動和
顯示卡驅動 、
滑鼠驅動 ,在安裝VMware Tools後,可以極大提高虛擬機的性能,並且可以讓虛擬機解析度以任意大小進行設定,還可以使用滑鼠直接從虛擬機視窗中切換到主機中來。
1.從VM
選單 下選擇安裝VMware Tools。
VMware VMware是 EMC 公司旗下獨立的軟體公司,1998 年 1 月,Stanford 大學的 Mendel Rosenblum 教授帶領他的學生 Edouard Bugnion 和 Scott Devine 及對虛擬機技術多年的研究成果創立了 VMware 公司,主要研究在工業領域套用的大型主機級的虛擬技術計算機,並於 1999 年發布了它的第一款產品:基於主機模型的虛擬機 VMware Workstation。爾後於 2001 年推出了面向伺服器市場的 VMware GSX Server 和 VMware ESX Server。今天 VMware 是虛擬機市場上的領航者,其首先提出並採用的氣球驅動程式(balloon driver),影子頁表(shadow page table),虛擬設備驅動程式(Virtual Driver)等均已被後來的其它虛擬機如 Xen 採用。
VMware在最新的Workstation 7中添加了對Aero Glass等功能的支持。
除了支持Aero效果,VMWare Workstation 7還新增了很多功能,下面列出部分新增功能:
*完善了對3D的支持
*支持最新Windows 7 WDDM驅動
*支持vSphere 4.0和ESX
*AutoProtect
*支持IPv6、ALSA
Java Java
虛擬機 (JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能模擬來實現的。Java
虛擬機 有自己完善的硬體架構,如處理器、
堆疊 、暫存器等,還具有相應的
指令系統 。
為什麼要使用Java虛擬機
Java語言 的一個非常重要的特點就是與平台的無關性。而使用Java
虛擬機 是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的
目標代碼 。而引入Java語言
虛擬機 後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java
虛擬機 禁止了與具體平台相關的信息,使得Java語言
編譯程式 只需生成在Java
虛擬機 上運行的
目標代碼 (
位元組碼 ),就可以在多種平台上不加修改地運行。Java虛擬機在執行
位元組碼 時,把位元組碼解釋成具體平台上的
機器指令 執行。
Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的
軟體 人員,Java語言的
編譯器 作者以及要用硬體晶片實現Java
虛擬機 的人來說,則必須深刻理解Java
虛擬機 的規範。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的
位元組碼 ,你也需要深入地了解Java虛擬機。
byte://1位元組有符號整數的補碼
short://2位元組有符號整數的補碼
int://4位元組有符號整數的補碼
long://8位元組有符號整數的補碼
float://4位元組IEEE754單精度浮點數
double://8位元組IEEE754雙精度浮點數
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。操作這些原始數據類型數據的
位元組碼 (指令)本身就已經指出了
運算元 的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其運算元類型別是int、long、float和double。
虛擬機 沒有給boolean(布爾)類型設定單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的
數組 則是用byte數組來處理的。
虛擬機 使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程式時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用
returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令
虛擬機 的規範對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對
指針 :一個指針指向該object的方法表,另一個指向該object的數據。用Java
虛擬機 的
位元組碼 表示的程式應該遵守類型規定。Java
虛擬機 的實現應拒絕執行違反了類型規定的
位元組碼 程式。Java虛擬機由於
位元組碼 定義的限制似乎只能運行於32位
地址空間 的機器上。但是可以創建一個Java
虛擬機 ,它自動地把
位元組碼 轉換成64位的形式。從Java虛擬機支持的
數據類型 可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可
移植性。
體系結構 Java
虛擬機 由五個部分組成:一組指令集、一組暫存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java
虛擬機 的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
Java
虛擬機 支持大約248個
位元組碼 。每個
位元組碼 執行一種基本的CPU運算,例如,把一個整數加到暫存器,
子程式 轉移等。Java指令集相當於Java程式的彙編語言。
Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個
運算元 ,提供操作所需的參數或數據。許多指令沒有
運算元 ,僅由一個單位元組的操作符構成。
do{
取一個操作符位元組;
根據操作符的值執行一個動作;
}while(程式未結束)
由於
指令系統 的簡單性,使得
虛擬機 執行的過程十分簡單,從而有利於提高執行的效率。指令中
運算元 的數量和大小是由操作符決定的。如果
運算元 比一個
位元組 大,那么它存儲的順序是高位位元組優先。例如,一個16位的參數存放時占用兩個位元組,其值為:
暫存器 Java
虛擬機 的暫存器用於保存機器的運行狀態,與微處理器中的某些專用暫存器類似。
Java虛擬機
Java
虛擬機 是棧式的,它不定義或使用
暫存器 來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於暫存器數目不多的處理器)。
所有暫存器都是32位的。
棧 Java
虛擬機 的棧有三個區域:局部變數區、運行環境區、
運算元 區。
每個Java方法使用一個固定大小的
局部變數 集。它們按照與vars
暫存器 的字
偏移量 來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個
局部變數 的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的
局部變數 ,如果是一個雙精度浮點數,那么它實際占據了索引n和n+1所代表的
存儲空間 。)
虛擬機 規範並不要求在
局部變數 中的64位的值是64位對齊的。
虛擬機 提供了把
局部變數 中的值裝載到
運算元 棧的指令,也提供了把運算元棧中的值寫入局部變數的指令。
(2)運行環境區
運行環境包括對指向當前類和當前方法的解釋器
符號表 的指針,用於支持方法代碼的
動態連結 。方法的class檔案代碼在引用要調用的方法和要訪問的
變數 時使用符號。
動態連結 把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把
變數 訪問翻譯成與這些變數運行時的
存儲結構 相應的
偏移地址 。動態連結方法和
變數 使得方法中使用的其它類的變化不會影響到本程式的代碼。
·正常的方法返回
如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在正常返回的情況下用於恢復調用者的
暫存器 ,並把調用者的
程式計數器 增加一個恰當的數值,以跳過已執行過的方法調用指令,然後在調用者的執行環境中繼續執行下去。
·異常和錯誤傳播
異常情況在Java中被稱作Error(錯誤)或Exception(異常),是Throwable類的子類,在程式中的原因是:①
動態連結 錯,如無法找到所需的class檔案。②運行時錯,如對一個空指針的引用
·程式使用了throw語句。
·檢查與當前方法相聯繫的catch子句表。每個catch子句包含其有效指令範圍,能夠處理的異常類型,以及處理異常的代碼塊地址。
·與異常相匹配的catch子句應該符合下面的條件:造成異常的指令在其指令範圍之內,發生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那么系統轉移到指定的
異常處理 塊處執行;如果沒有找到異常處理塊,重複尋找匹配的catch子句的過程,直到當前方法的所有嵌套的catch子句都被檢查過。
·由於
虛擬機 從第一個匹配的catch子句處繼續執行,所以catch子句表中的順序是很重要的。因為Java代碼是結構化的,因此總可以把某個方法的所有的
異常處理 器都按序排列到一個表中,對任意可能的
程式計數器 的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程式計數器值下發生的異常情況。
·如果找不到匹配的catch子句,那么當前方法得到一個"未截獲異常"的結果並返回到當前方法的調用者,好像異常剛剛在其調用者中發生一樣。如果在調用者中仍然沒有找到相應的
異常處理 塊,那么這種錯誤傳播將被繼續下去。如果錯誤被傳播到最頂層,那么系統將調用一個預設的
異常處理 塊。
(3)
運算元 棧區
機器指令 只從運算元棧中取運算元,對它們進行操作,並把結果返回到棧中。選擇棧結構的原因是:在只有少量暫存器或非
通用暫存器 的機器(如Intel486)上,也能夠高效地模擬
虛擬機 的行為。
運算元 棧是32位的。它用於給方法傳遞參數,並從方法接收結果,也用於支持操作的參數,並保存操作的結果。例如,iadd指令將兩個整數相加。相加的兩個整數應該是
運算元 棧頂的兩個字。這兩個字是由先前的指令壓進
堆疊 的。這兩個整數將從
堆疊 彈出、相加,並把結果壓回到
運算元 棧中。
每個原始
數據類型 都有專門的指令對它們進行必須的操作。每個
運算元 在棧中需要一個存儲位置,除了long和double型,它們需要兩個位置。
運算元 只能被適用於其類型的操作符所操作。例如,壓入兩個int類型的數,如果把它們當作是一個long類型的數則是非法的。在Sun的
虛擬機 實現中,這個限制由
位元組碼 驗證器強制實行。但是,有少數操作(操作符dupe和swap),用於對運行時數據區進行操作時是不考慮類型的。
無用單元收集堆
Java的堆是一個運行時數據區,類的實例(對象)從中分配空間。Java語言具有無用單元收集能力:它不給程式設計師顯式釋放對象的能力。Java不規定具體使用的無用單元收集算法,可以根據系統的需求使用各種各樣的算法。
方法區 方法區與傳統語言中的編譯後代碼或是Unix進程中的正文段類似。它保存方法代碼(編譯後的java代碼)和
符號表 。在當前的Java實現中,方法代碼不包括在無用單元收集堆中,但計畫在將來的版本中實現。每個類檔案包含了一個Java類或一個Java界面的編譯後的代碼。可以說類檔案是Java語言的執行代碼檔案。為了保證類檔案的平台無關性,Java
虛擬機 規範中對類檔案的格式也作了詳細的說明。其具體細節請參考Sun公司的Java虛擬機規範。
雲中配置 部署法則 啟動和停止
虛擬機 是使用
雲計算 資源的例行公事。在雲中部署
虛擬機 有兩個基本的選項:客戶可以拷貝一個預先配置好的
虛擬機 鏡像(也被稱為最終版),或者他們可以按照需求裝配一個自定義的虛擬機鏡像。
要啟用一個
虛擬機 ,首先要從雲目錄中選擇一個機器鏡像。當部署一個跟Apache Web或者是Jboss
套用伺服器 有關的套用時,最好選擇一個預先裝好這些組件的Linux鏡像。如果你是一個.NET程式設計師,最好選擇一個預先安裝並配置好開發工具的Windows作業系統。除了選擇一個安裝好必備
軟體 的虛擬機鏡像之外,還必須確認這些軟體是最新的並且打過補丁。一旦你選擇好了鏡像,下一步就是在雲中部署這個鏡像。
完成版鏡像 使用最終版
鏡像 有幾大優勢。最主要的是它可以保證
虛擬機 的一致性。此外,以一個已有的鏡像開始可以節省很多精力和時間。終端客戶不必去關心怎么安裝程式庫或者附加的包;他們可以依靠雲管理員來維護最終版鏡像。
終端用戶擁有的選項受限是這個方法的缺陷;鏡像目錄通常會包含常用的鏡像而不是一些不常用的組件集合。對於一個專業的
虛擬機 鏡像,你可以選擇一個最終版並且安裝所需的組件。如果一個終端用戶經常部署自定義的鏡像,那么他必須保留一個鏡像的副本,但是這就意味著用戶必須自己打補丁,從而失去了使用最終版的優勢。
考慮專業的雲中實例並不是很重要的情況:你的網頁套用已經在你配置負載均衡後的環境中運行了幾周,如果你的套用突然發生了中斷,你可能會考慮為負載均衡集群增加幾台伺服器。在這種情況下,你需要在
集群 中運行完全相同的
鏡像 以保持一致性。如果你以前重做過這個
鏡像 ,那么系統中就可能出現不同版本的組件。這種情況也會發生在一個組件在兩次部署期間發布了新版本。
按需裝配 每次部署新鏡像時創建自定義鏡像使終端用戶可以自己安裝所需的組件。雲用戶喜歡以一個基礎系統鏡像開始,然後安裝
應用程式 組件(資料庫,套用伺服器和web伺服器)。然而,如果沒有工具的幫助,創建所需的雲對於經常性的部署是不切實際的。在這種情況下,應考慮使用
配置管理 工具(例如Chef或者Puppet),它們允許你指定你想包含在
鏡像 中的組件。如果最新版本的套用和補丁對於
鏡像 至關重要,按需裝配它們是最好的選擇。舉例來說,如果你有一份
資料庫伺服器 的標準配置,創建一個Chef或者Puppet腳本來創建
鏡像 可以保證你擁有最新版本的組件。
按需裝配還有助於在多伺服器中保持一致性,因為
資料庫管理員 不太喜歡點對點的為一個過時的最終版鏡像打補丁。
這兩種部署雲中
虛擬機 方法(創建最終版鏡像和創建按需疊代鏡像)並不是相互獨立的。當舉例來說,當你需要創建一個伺服器集群時,你應該建立腳本來裝配一個自定義的鏡像並使它成為最終版。首先通過
配置管理 工具創建多個
虛擬機 鏡像 然後使用這個
鏡像 創建多個虛擬機實例。在這個場景中,只要你需要為集群添加新的
虛擬伺服器 就要保留最終版鏡像。
這裡並沒有單一的途徑來在雲環境中裝配和部署鏡像。最終版鏡像在以一致性為主的案例中運作良好;而裝配按需版本則可以保證你的環境中運行著最新的組件。
私有配置 行業對話已經超越了解什麼是
雲計算 ,企業IT環境中要決定如何能更好的
部署 它。這種演變與過去的虛擬化候選人的辯論相似——懂得如何確定
物理 伺服器能否成為一個好的
虛擬機 。
1.雲負荷需要什麼樣的
網路 呢?如虛擬伺服器的執行緒、記憶體的需求、網路資源的總負荷、私有雲中的
應用程式 的消耗,這些都是極為重要的。
繁忙的
網路 資源負荷的需求,在區域網路中連結到其他伺服器,這樣是不會製造出最好的雲候選者。把這些負荷放入到私有雲中,可能會造成頻寬或延遲等問題,會影響雲的整體性能。衡量
雲伺服器 和位於本地
數據中心 的其他伺服器的
網路 利用率。
2、還有什麼其他服務與
私有雲 互連嗎?考慮到雲負荷與其他
網路 中的雲工作量負荷之間的交流。例如,幾乎所有基於Windows的IT服務都傾向於Active Directory認證,因為
桌面作業系統 都是這樣做的。
域控制 者必須處理大量的通信,所以把它們完全轉移到雲中可能是一個壞主意。
另外,服務與本地
數據中心 的其他服務有一些互動,不太可能因為位置的遷移而受影響。延遲影響不大。查看
虛擬機 中的互操作,是一個好的辦法,可以找到雲中就緒的資源。
3、私有雲中的工作負荷和其他工作負荷之間是否存在明顯的分隔(例如,“硬線”)?隔離雲服務可以作為良好的雲候選人和壞的之間的分隔線。孤立服務,可以製造出傑出的雲候選人,例如,那些服務是否位於你的DMZ中。按照設計,DMZ有“硬線”環繞著它的服務,尤其是防火牆中,可以把它在
網路 和區域網路中分隔出來。分隔意味著你可以非常容易的把所有內容從DMZ移到雲中。DMZ可以很明確的劃分,什麼可以製造出優秀的
私有雲 候選者。結合不同雲服務、DMZ服務之間的虛擬防火牆的隔離,很有可能在雲中獲得成功。
4、
雲服務 可以友好的複製嗎?一些IT服務已經在心裡開始設計複製了:設計通信是為了支持延遲、頻寬的類型,你會在區域網路與雲通信中體驗。這些服務可能包括
異地備份 、伺服器故障轉移、或者其他服務的協定,為不能滿足區域網路速度的
網路 做準備。
5、如果私有雲中的數據妥協,你會多痛苦呢?最後的檢查,確實是早期圍繞
雲安全 和數據所有權的關注的一個直接結果。選擇把
虛擬機 放到雲中的時候,圍繞數據的
安全 、所有權和管理問題必須是要考慮的因素,一些
虛擬機 和某些IT資源與數據一起工作,如果丟失或者妥協,會為企業帶來明顯的痛苦。
注意,一個潛在的啟用雲
虛擬機 的
數據類型 可以處理。如果丟失或者暴露,數據的價值大於遷移到雲中,那么最好把虛擬機放在
數據中心 。
為私有雲選擇正確的
虛擬機 ,你要分析每一個虛擬機和服務所用的
資源 。你也需要檢查把這些資源移向雲中的風險。有了正確的調查,就可以找到最好的資源和服務,並且可以相對容易的部署到私有雲中。
防毒技術 虛擬機 並不是新技術,
作業系統 ,已經成為許多評測人員和
計算機病毒 分析人員必需工作條件。而將
虛擬機 技術套用到防毒方面,卻是一個防毒業界一直在追求和探索的課題。由於大部分的病毒及木馬都會加密加殼,所以在未激活的狀態下防毒軟體是無法進行掃描的。而 “
虛擬機 防毒技術”即是在電腦中創造一個虛擬CPU環境,將病毒在
虛擬環境 中激活,根據其行為特徵,從而判斷是否是病毒。有專家認為,所謂
虛擬機 技術,就是用
軟體 先虛擬一套運行環境,讓病毒先在該
虛擬環境 下運行,從而觀察病毒的執行過程。這個技術主要用來應對加殼和加密的病毒,因為這兩類病毒在執行時最終還是要自身脫殼和解密的,這樣,
防毒軟體 就可以在其“現出原形”之後通過特徵碼
查毒 法對其進行查殺。
卸載 相信很多的朋友在虛擬機VMware的使用過程中都會遇到,安裝的VMware無法卸載,或者想升級VMware時出現錯誤信息。如果你還保留了虛擬機VMware的安裝程式,那么再次重新安裝時,就會出現Modify/Change(更改)、Repair(修復)和Remove(移除)。這裡,選擇Remove(移除)即可。