話虛擬之虛擬化+ESXI虛擬機

ESXI虛擬技術

vswitch(有128個端口)與managerment network(vmotion和ip存儲端口)意思是指定網卡適配器連接到哪一個交換機上。

image.png



網卡故障切換:

image.png

磁盤相關:

 vmnic是物理適配器就是網卡
vcenter需要建立數據庫。


磁盤的類型在創建的時候指定的,後期不可更改,磁盤的大小,可增加不可減少

(1)厚置備延遲置零;(對磁盤性能造成一定的影響)
200GB的厚置備延遲置零,先在整個磁盤中劃200GB(創建一個200GB的vmdk文件),但由於是延遲置零,故假如目前只用到了50G空間,
VMware會先zero(置零)這50G空間,後面150G空間會等到用到的時候再zero(置零)
(2)厚置備置零;
創建磁盤時比其它兩種模式花的時間都要長,這種機制的磁盤的性能是最好的,因爲這就好像是給虛擬機掛載了一塊獨立的硬盤
(3)Thin Provision(精簡置備)。
磁盤中沒有真正劃出來,vmdk文件在虛擬機剛創建時可能爲0KB,隨着實際使用量的增加而增加

vcenter相關:

安裝完成ESXI之後可以通過訪問此ip下載客戶端和vcenter

    image.png

vcenter的數據庫爲用戶存放數據,ESXI之外還需要搭建共享存儲,

VMware VMotion 是 VMware 開發出的一項獨特技術,它將物理機,虛擬機遷移到ESXI或者vcenter中
傳輸vm kernal的物理網卡vmnic*
VMotion網絡無法路由,因此網關不是必須的
*VMotion動態轉移機制,可以將虛擬機由一臺主機上轉移到另外的主機上去,而且中間的中斷時間很短,同時也是作爲HA高可用性和FT容錯的基礎。
vmotion對於帶寬的要求也是比較高的

image.png

image.png


通過設置共享存儲,從而可以不用複製任何文件進行快速遷移。
通過vmation的網絡進行執行該操作。是一個非路由的前兆網絡。
特徵:

image.png

端口組的名稱要一樣:

添加vmation設備

image.png


 

vcenter convert:實現熱遷移

能將物理機上的操作系統、VMware虛擬機上的操作系統或者Hype-V 上的虛擬機操作系統遷移到VMware上。 

vcenter convert使用手冊:

https://cloud.tencent.com/info/1977a4eb392fe6ae726842e544375741.html

vCenter Converter Standalone
使用說明:
https://blog.51cto.com/11601346/1837716

vmnic是物理適配器就是網卡
vcenter需要建立數據庫。
導出後的模板大小125G佔用了6小時

image.png


image.png

   遷移esxi中已經關機的os:

image.png



虛擬化分類:

  1. 根據hypersivor分爲全虛擬化和半虛擬化;

  • 常見的軟件虛擬機QEMU(測試的時候使用)

  • VMWare的軟件虛擬化則使用了動態二進制翻 譯技術。

  1. 根據操作系統架構分爲平臺虛擬化;

  2. 根據操作系統的調用分爲操作系統調用,如docker。


powerpc的架構很難找到硬件的時候,使用qemu做軟件測試

xen半虛擬化對硬件沒有要求,會修改guest os的內核,

一些受保護的指令必須由Hypervisor(虛擬機管理程序)來捕獲和處理因爲操作系統是通過Hypervisor來分享底層硬件.


在半虛擬化的環境中,不能運行未經修改內核的操作系統,這個是導致它推廣受限的原因。


部署xen的時候需要專安裝一個內核



半虛擬化的意思是需要修改被虛擬系統的內核,以實現系統能被完美的虛擬在Xen上面。完全虛擬化則是不需要修改系統內核則可以直接運行在Xen上面。


異常throw exception)是java中一個程序處理動作。如果一個方法沒有捕獲可能引發的異常,調用該方法的其他方法應該捕獲並處理異常


全虛擬化的運行速度要快於硬件模擬但是性能方面不如裸機因爲Hypervisor需要佔用一些資源. 全虛擬化最大的優點是操作系統沒有經過任何修改它的唯一限制是操作系統必須能夠支持底層硬件(比如, PowerPC).


PowerPC(英語:Performance Optimization With Enhanced RISC – Performance Computing,有時簡稱PPC)是一種精簡指令集RISC)架構的中央處理器CPU),其基本的設計源自IBM(國際商用機器公司)的POWER


全虛擬化的虛擬機,需要申請內存的時候,vmm既要捕獲,又要翻譯(但是現在硬件的發展,這已經不是一個瓶頸了)


半虛擬化 有專門的虛擬機監視器,捕獲特權指令。

後端鏡像是母版,增量鏡像也就是差異鏡像(放不同的內容)





全虛擬化(Full virtualization), 也稱爲原始虛擬化技術, 是另一種虛擬化方法. 該模型使用虛擬機協調客戶操作系統和原始硬件(見圖2). 這裏"協調"是一個關鍵詞, 因爲VMM在客戶操作系統和裸硬件之間用於工作協調. 一些受保護的指令必須由Hypervisor(虛擬機管理程序)來捕獲和處理. 因爲操作系統是通過Hypervisor來分享底層硬件.

  圖2. 全虛擬化: 使用Hypervisor分享底層硬件

  全虛擬化的運行速度要快於硬件模擬, 但是性能方面不如裸機, 因爲Hypervisor需要佔用一些資源. 全虛擬化最大的優點是操作系統沒有經過任何修改. 它的唯一限制是操作系統必須能夠支持底層硬件(比如, PowerPC).

  老機器上的Hypervisors

  一些老的硬件如x86, 全虛擬化遇到了問題. 比如, 一些敏感的指令需要由VMM來處理(VMM不能設置陷阱). 因此, Hypervisors必須動態掃描和捕獲特權代碼來處理問題.

  半虛擬化

  半虛擬化(Paravirtualization)是另一種類似於全虛擬化的熱門技術. 它使用Hypervisor(虛擬機管理程序)分享存取底層的硬件, 但是它的客戶操作系統集成了虛擬化方面的代碼. 該方法無需重新編譯或引起陷阱, 因爲操作系統自身能夠與虛擬進程進行很好的協作.

  圖3. 半虛擬化: 通過客戶操作系統分享進程

  上面提到過, 半虛擬化需要客戶操作系統做一些修改(配合Hypervisor), 這是一個不足之處. 但是半虛擬化提供了與原始系統相近的性能. 與全虛擬化一樣, 半虛擬化可以同時能支持多個不同的操作系統.

有這樣的疑問:

在半虛擬化的環境中,不能運行未經修改內核的操作系統,那麼,cpu不支持vt,在宿主系統上跑的虛擬環境就可以稱爲半虛擬化環境了,那麼在cpu不支持vt的機器上vmwera可以運行xp,這個互相矛盾,爲什麼就可以運行呢?

PV vs. FV
PV(Para-Vritralization)和FV(Full-Vritralization)的差別,主要以guest OS的硬件仿真程度做區分。

FV:FV是一般較常看到的作法,所有的guest OS完全不會看到實際的硬件爲何,只能使用由Supervisor所提供的所有虛擬硬件,因此,在這種機制下,guest OS動作的性能一定會大受虛擬接口的影響。另外還有一個特點,就是因爲完全仿真的關係,不支持新的技術,連ACPI開關機的機制都無法使用,也就是當使用者在FV的guest OS下,若直接觸動關機的按鈕(這裏的按鈕是由VMM所提供的,不是主機上的)會直接斷電,而不會進行關機程序。

PV:至於PV的作法,有鑑於一般Virtual Machine工具都是以完全仿真的方式,造成性能上的降低,因此,XEN在設計上,希望各操作系統可以在開發時就已經將XEN的技術包括進去,這樣在使用時,就可以用局部仿真的方式,讓操作系統可以直接使用到硬件中的CPU、內存等,而不需要通過XEN做仿真的操作。

 

這樣,若硬件都是由Virtual Machine仿真出來的,性能自然會變得比較慢,所以XEN所主推的概念就是,當操作系統默認支持XEN時就可以通過XEN的機制,直接使用到底層的硬件,而不是每個OS都要通過Hypervisor的接口,性能上就可大爲提高。

在PV與FV的安裝上,對CPU的要求是有差異的。以PV而言,因爲OS原本就支持XEN,所以不需要經過特殊的處理步驟,因此,對CPU來於,沒有特殊的要求,基本上都可以使用。


但FV就不同,因爲FV模式是以完全仿真的方式進行,所以CPU必須要特別將此功能加入到CPU的核心中,因此,CPU是有特殊需求的。在Intel與AMD中針對Virtual Machine所加入的功能名稱不同,分別爲Intel VT與AMD-V。

在目前Linux的世界,XEN並不是唯一的,除了XEN這一架構外,另外還有一個KVM(Kernel based Vitrual Machine),從2.6.20版本之後的Linux Kernel就支持其功能。因爲KVM的做法是以原本Kernel爲依據,只要將其module加載即可使用,唯一較XEN弱勢的是KVM以單一Full Virtuallization爲服務方式。

虛擬化最近幾年取得了長足的進步,首先由於有大量的開源虛擬機管理程序在不斷髮展,這個改進幾乎排除了操作系統與大功率服務器快速增長的利用之間的障礙,公司立即受益。知道最近,軟件仿真虛擬化一直是關注的焦點,兩個常見的軟件仿真虛擬化途徑是完全虛擬化和半虛擬化。對於完全虛擬化,通常調用管理程序或虛擬機監視器,存在於虛擬操作系統和硬件層之間,這個層在操作系統實例之間多路複用競爭系統資源。半虛擬化不同,管理程序在一個協作的環境中運作,因爲每個客戶操作系統都知道它正運行在一個虛擬化環境中,因此每個使用管理程序的協作都在硬件下完成虛擬。

兩個途徑都有優勢也有劣勢,半虛擬化的主要優勢在於它運行儘可能快地基於軟件的虛擬化,以不支持有專利的操作系統爲代價。完全虛擬化沒有這個限制,但是,完全虛擬化管理程序非常複雜。VMware,一個商業虛擬化解決方案,它就是一個完全虛擬化的例子,Xen,用戶模式Linux(UML)和其他提供的是半虛擬化解決方案。

簡單介紹一下基於硬件的虛擬化,這個線路已經變得模糊起來,隨着Intel的VT技術和AMD的SVM技術的出現,編寫一個管理程序變得更加簡單了,現在,保持管理程序複雜性到最小程度,對於完全虛擬化受益匪淺。

Xen作爲最優秀的半虛擬化引擎,在基於硬件的虛擬化的幫助下,現在也支持完全虛擬化MS windows了。KVM是一個相對較新的簡單的,但也非常強大的虛擬化引擎,它已經集成到Linux內核中去了,讓內核天生有虛擬化的能力,因爲KVM使用的是基於硬件的虛擬化技術,它不需要修改客戶操作系統,因此,部署在一個受支持的處理器上,它可以從Linux支持任何平臺。

一、Xen是一款虛擬化軟件,支持半虛擬化和完全虛擬化。它在不支持VT技術的cpu上也能使用,但是隻能以半虛擬化模式運行。
二、半虛擬化的意思是需要修改被虛擬系統的內核,以實現系統能被完美的虛擬在Xen上面。完全虛擬化則是不需要修改系統內核則可以直接運行在Xen上面。
三、VMware是一款完全虛擬化軟件。完全虛擬的弱點是效率不如半虛擬化的高。半虛擬化系統性能可以接近在裸機上的性能。
四、 Xen是由一個後臺守護進程維護的,叫做xend,要運行虛擬系統,必須先將它開啓。它的配置文件在/etc/xen/xend-config.sxp,內容包括宿主系統的類型,網絡的連接結構、宿主操作系統的資源使用設定,以及vnc連接的一些內容。(如果你想增加一個虛擬網絡設備的話,是需要在這裏設定的)
五、/etc/xen/auto 的含義是如果你想讓被虛擬系統隨着宿主系統一同啓動的話,就把虛擬系統的配置文件放到這個目錄下面來。
六、/etc/xen/scripts 是些腳本文件,用於初始化各種虛擬設備,比如虛擬網橋等。(如果要增加一個虛擬網絡設備,同樣需要在此處調節)
七、在/etc/xen下面會有些配置文件,這就是虛擬系統引導時所必須的些文件,裏面記錄了引導和硬件信息。
八、Xen的配置工具有許多,我使用的是virt-manager(GUI)、virt-install和xm。第一個用於管理和安裝系統,第二個只用於安裝系統,第三個用於啓動系統。
九、安裝半虛擬Linux有兩種方法,一種是利用Linux的網絡安裝方式安裝,http、ftp、nfs方式都是可以的(特別注意:半虛擬環境下安裝Linux是不支持本地光驅或者iso鏡像安裝的!),並且RHEL5會自動生成配置文件。第二種是先建立鏡像文件,並格式化,然後掛載到本地文件系統上來,將虛擬系統需要用到的文件拷貝進去並修改,然後手工創建配置文件並啓動。
十、虛擬網絡設備有三種模式:bridge橋模式、router路由模式和nat模式。其中橋模式是默認模式,在這種模式下,虛擬系統和宿主系統被認爲是並列的關係,虛擬系統被配置IP或者dhcp後即可聯通網絡。
十一、原來的iptables無法對橋模式下的數據包做處理,RHEL5的iptables中增加了一個physdev的模塊,可用iptables -m physdev -h查看幫助


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章