XenServer部署系列之05虛擬機的建立及複製vim
做業環境服務器
XenServer服務器網絡
OS:XenServer 6.2ide
Hostname:xsr01工具
Eth0 IP:192.168.0.241/24性能
Gateway:IP:192.168.0.1/24測試
1、關於XenServer虛擬機spa
在Xenserver上能夠建立Windows和Linux等虛擬機,Xenserver支持大部分的主流操做系統,可使用 XenCenter 或 xe CLI 克隆相應的模板,而後安裝操做系統。XenServer隨附了一組基本模擬(即原始VM),在這些模板上能夠安裝操做系統。模板是一種「黃金映像」,包含用於實例化特定VM的全部配置設置。爲達到最佳運行狀態,XenServer對於適用於各系統的模板,已經設置了用來定義虛擬硬件配置的預約義平臺,Linux模板用於建立半虛擬化(PV)來賓系統,而Windows模板用於建立硬件虛擬機(HVM)來賓系統。操作系統
必須爲每臺虛擬機安裝XenServer Tools,以便虛擬機擁有徹底受支持的配置,而且可以使用XenServer管理工具(Xe CLI或XenCenter)。儘管VM在沒有這些工具的狀況下能夠正常工做,但若是不安裝這些工具,性能將受到極大影響。XenServer還支持某些功能和特性,包括完全閉關、從新引導、掛起和實時遷移VM。命令行
除了使用提供的模板建立VM外,還可使用3種其餘方法來建立VM:物理機到虛擬機的轉換(P2V);克隆現有VM;導入一個導出的VM。
2、使用XenCenter建立VM
鑑於CentOS的應用很普遍,筆者一直接觸的也是CentOS,本案就以CentOS6.5系統爲例,講述如何建立虛擬機,及其相關配置。
XenServer的部署及存儲配置,請參考以前的XenServer部署實錄系列博文,這裏不在述。在客戶端使用XenCener鏈接遠端xsr01主機。
1.使用模板建立虛擬機
如下的操做在XenCenter上進行。
選中xsr01主機,在其右擊菜單中選擇「New VM」,打開「New VM」嚮導。
選擇建立虛擬機的模版,這裏選擇「CentOS 6 (64-bit)」,
此列表列出了XenServer 當前支持的模板。每一個模板包含建立具備特定操做系統和最佳存儲的新 VM 所需的設置信息。具體信息,請參考官方資料。實踐代表,XenServer6.2是能夠支持到CentOS6.5的。
填寫虛擬機名稱及可選說明。
爲將安裝在新 VM 上的操做系統選擇安裝源。這裏使用以前建立的本地ISO存儲倉庫中的CentOS6.5系統鏡像。
爲虛擬機選擇主服務器或者集羣。本案中沒有集羣,只有xsr01主機。
對於CentOS系統,默認設置爲1個虛擬CPU和1G的虛擬內存,這裏按實際需求進行修改。
爲虛擬機分配存儲。按實際須要設置虛擬硬盤容量,並把它配置在xsr01主機的本地存儲上。
配置虛擬機的網絡鏈接設置。在建立虛擬機時候,最多建立4個Network(通常來講,若是物理機有4個網卡,這裏會自動建立4個Network;若是物理機有2個網卡,則自動建立2個Network),能夠在虛擬機建立完成後繼續添加NIC。這裏刪除其餘三個Network,只保留Network 0。
完成虛擬機建立,檢查配置屬性。而後啓動虛擬機進行操做系統安裝。
開始進入系統安裝。這個界面與常規的CentOS安裝界面不一樣。初學者會感到無所適從,由於在接下來的安裝過程當中,會發現,這是一個極簡的安裝過程,簡化到連分區的操做步驟都忽略了。
安裝完成後,首次登陸界面以下。/root目錄下的anaconda-ks.cfg文件記錄了安裝系統時的一些信息,從裏面能夠看到,安裝時並無安裝其餘軟件包,連setup、vim命令對應的軟件包也沒有。與CentOS自身的Minimal安裝模式相似。
就本案而言,30G的虛擬硬盤,4G的虛擬內存,虛擬系統使用了485M做爲/boot引導分區,剩餘的容量爲一個名爲VolGroup的邏輯卷,該卷內劃分了/root和swap兩個分區,大小分別爲26.5G和3G。若是虛擬硬盤容量很大,好比500G,系統lvm分區會有相似以下的自動分配:swap 4G,/root 50G,其餘容量爲/home。
以上的安裝狀況,對於不少用戶來講,會很不習慣,並且也難以適配實際需求。那麼,有沒有辦法按常規的方法安裝CentOS系統呢,答案固然是有的,並且很簡單。就是使用「Other install media」模板。
關於「Other install media」模板,官方資料以下描述:面向高級用戶,這些用戶可能會嘗試安裝運行其餘不受支持的操做系統的VM。XenServer已通過測試,只能運行所提供的標準模板中包含的受支持發行版本和特定版本,但不支持使用其餘安裝介質模版安裝的任何VM(這段話比較拗口,不易理解)。
下圖選擇「Other install media」,在接下來的調整CPU、存儲和網絡資源各類參數的過程,與上述操做步驟是同樣的,最後,進入到系統安裝,會看到熟悉的CentOS系統盤的啓動界面。這樣即可以使用經常使用的Basic Server 安裝方式了。
以上是使用XenCenter建立CentOS VM的操做過程。若是是Windows系統,就不存在上述狀況了,使用相應的模板,都會是使用正常的安裝方式進行安裝的。
2.安裝XenServer Tools
系統安裝完成後,建議當即安裝XenServer Tools,以使VM具備徹底受支持的配置,從而得到高速I/O以實現更高的磁盤和網絡性能。
VM不安裝XenServer Tools,最直接的表現是,在XenCenter上沒法監控到VM的內存使用狀況。以下圖所示。選中剛纔新建的CentOS6.5vm,在Performance選擇卡中,有四個圖表,分別表示虛擬CPU、內存、網絡、硬盤的使用狀況,其中第二個圖表虛擬內存沒有內容。
切換到Console選項卡,在其頂部「DVD Driver 1」的下拉列表框中,選擇「XenServer Tools\xs-tools.iso」,這項操做意爲系統插入xs-tools.iso光盤。而後到控件臺命令行操做界面中,經過命令加載光盤,並執行Linux/install.sh腳本,以安裝xs-tools。此項操做須要重啓系統才能生效。
XenServer Tools安裝完成並重啓系統後,在Performance選擇卡中,能夠看到該虛擬機虛擬內存的使用狀況了。
若是是Windows系統,操做更簡單,掛載xs-tools.iso,系統會自動打開 XenServer Tools 安裝嚮導。XenServer Tools須要Microsoft.NET Framework 4.0 或更高版本支持,若是虛擬機運行的是Windows 7或更低版本,則須要在安裝XenServer Tools 以前先安裝Microsoft .NET Framework 4.0組件。
3、VM的複製與克隆
建立了一個新的虛擬機,而且安裝好經常使用的軟件、配置好運行環境。此時須要爲該系統作一個備份,以便迅速部署一樣的系統。這涉及到XenServer的「Copy VM」功能。
XenServer 包含兩種Copy VM(複製虛擬機)的模式,Full copy(完整複製)和Fast clone(快速克隆)。通常來講,咱們常把XenServer中的「複製」功能,理解成其餘虛擬化工具中的「克隆」功能,但這兩個概念,在XenServer中,實際上是有區別的,如字面所強調的那樣,Fast clone,確實就是克隆,是VM Clone,採用連接的方式;而Full copy,則是VM Copy,採用完整的複製方式。
Full copy是將虛擬機完整地複製一份,複製速度取決於存儲性能;Fast clone的速度則基本是瞬間完成,由於Fast clone直接鏈接到如今的或者通過重命名的Base Copy VDI,此模式會把原始 VDI會轉換成基本節點。二者具體的深層次的區別,請參考此篇博文http://xenme.com/1170
要進行虛擬複製時,首先根據須要建立、安裝和配置 Windows 虛擬機,並安裝 XenServer Tools。準備好以後,必須關閉虛擬機電源。
下面以上述新建的CentOS6.5vm虛擬機爲例,演示如何複製虛擬機。很簡單的一個操做。
關閉CentOS6.5vm虛擬機,在其右擊菜單中選擇「Copy VM」,打開「Copy Virtual Machine」對話框。
設置新虛擬機名字,選擇複製模式。
Copy mode分Fast clone和Full copy兩種。這裏說得很清楚。
複製的進度及完成複製耗的時間,會在XenCenter的Logs中顯示,下圖是對CentOS6.5vm虛擬機 進行Fast clone和Full copy的結果。
運行以上兩個copy的虛擬機,會發現,網絡出了問題。這是由MAC地址變化引發的。須要在系統裏修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0的參數HWADDR,將其值設置爲XenCenter中該虛擬機對應的「Networking」選項卡里「Device 0」的MAC值。
以上基於MAC地址變動的網絡問題,主要是出現於Linux虛擬機複製中,若是是Windows虛擬機,則不存在這樣的問題。
3、VM的導出與導入
官方資料如是說:XenServer容許以多種不一樣的格式導入和導出VM。使用XenCenter的導入嚮導,能夠從磁盤映像(VHD和VMDK)、以開放虛擬化格式(OVF和OVA)和XenServer XVA格式導入VM,甚至能夠導入在其餘虛擬化平臺上建立的VM。
VM的Export(導出)與Import(導入),涉及的內容是普遍而複雜的。筆者的接觸頗有限。本案只討論使用xe CLI以XenServer XVA格式導入和導出VM。XVA是XenServer所特有的虛擬設備格式,用於將單個VM打包爲一組文件,包括描述符和磁盤映像。文件擴展名爲.xva。
Xenserver中的虛擬機導出,主要用於導入到另外一臺Xenserver,亦可導入到本機自身。筆者最喜歡的虛擬機複製使用的方式,其實不是Copy vm,而是Export/Import vm。系統配置完成後,將其導出爲一個.xva文件,存放在附加盤(能夠是移動硬盤)存儲目錄裏,而且複製到其餘XenServer主機的存儲目錄下,須要的時候,可一式多份地導入到主機系統,運行使用。很是便捷,但花費的時間比Copy VM的長不少。
本案中,添加一個大小爲300G的SAS硬盤,將其劃分兩個分區sdb1和sdb2,分別掛載到/iso和/data兩個目錄,前者用於存放iso鏡像存儲,以做爲本地ISO存儲庫;後者用做數據存儲,用於存放導出的.xva虛擬機文件。添加硬盤的操做命令及過程,跟Red Hat Linux是同樣的,屬於IT人的基本功,詳情請見《XenServer部署實錄系統——添加本地存儲》一文,在此不做詳述。
1.導出虛擬機
使用SSH工具(如SSH Secure Shell Client)遠程鏈接XenServer主機,或在XenCenter中打開XenServer主機的控制檯,關閉將要導出的虛擬機,而後執行如下的指令導出虛擬機,虛擬機名爲在XenCenter中看到的名字,
xe vm-export vm=虛擬機名 filename=/存儲路徑/虛擬機名.xva
本案中是將CentOS6.5vm虛擬機導出到/data裏, 具體的命令以下圖所示,
注,因爲這個命令執行的時間很長,通常在其後面添加&,以放到後臺運行。導出完成後會提示Export succeeded。
導出虛擬機的過程當中,在XenCenter的Log界面能夠查看導出的進程。
2.導入虛擬機
若是要導入虛擬機,執行如下的指令,虛擬機名要預先查知,若是不存在,會報錯。
xe vm-import filename=/存儲路徑/虛擬機名.xva
本案中是將/data/CentOS6.5vm.xva裏導入, 具體的命令以下圖所示。導入完成後會返回UUID號。
導入完成後,根據實際需求改更虛擬機名。固然了,系統裏面,也建議更改主機名。
與Copy vm相似。這個新導入的虛擬機,MAC地址也被重寫了,初次運行時,網絡也是有問題的。須要在系統裏修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0的參數HWADDR,將其值設置爲XenCenter中該虛擬機對應的「Networking」選項卡里「Device 0」的MAC值。對於Windows虛擬機而言,不存在這樣的問題。
3.經過XenCenter導出虛擬機到客戶端
以上是VM在xsr01本機上的導出導入,其實VM能夠經過XenCenter直接導出到安裝了XenCenter的客戶端PC上。這在實際應用中有很大的靈活性。
從客戶端PC機上導入VM的操做,與上述導出VM相似。
固然了,這種導入導出的方法,主要應用在單機運行的環境中。在資源池的集羣環境中,虛擬機的遷移有更靈活、迅速的方法。