今天聊聊虛擬化

2021-08-02 00:24:00 字數 3056 閱讀 2553

一、虛擬化含義

虛擬化,簡單的說就是在一台電腦上虛擬出多台電腦的過程,這些虛擬出現的裝置也就是我們所說的「虛擬機器(virtualmachine)」。虛擬機器其實是由幾個系統檔案所組成的,這些檔案大多用來虛擬實體組間或者配置資訊。

虛擬化的過程都是通過乙個叫做虛擬化管理程式(以下簡稱hypervisor)來實現的,hypervisor的作用包括:

1)將實體裝置(如cpu、記憶體、網絡卡、硬碟等)虛擬化後供虛擬機器使用

2)將虛擬裝置所發出的指令轉換至物理層進行執行

3)調配虛擬機器的資源分配等。

另外,當下流行的概念,比如「超融合」以及「雲服務」,它們的技術基礎就是虛擬化,其對於it行業的重要程度可見一斑。

hypervisor的型別目前分為兩種:

1、是裸機虛擬化(bare metal hypervisor),這種hypervisor一般是直接裝在一台主機上(以下簡稱host),這類host上所裝的作業系統不是常用的windows或者linux等通用的作業系統,而是專門針對虛擬化的作業系統,如vmware的

esx/esxi。正因為這類作業系統專為hypervisor設計,其唯一的功能,就是用來建立和管理虛擬機器。此類的hypervisor對硬體的使用效率能夠達到最高。vmware的esx/vsphere以及microsoft hyper –v就是典型的裸機虛擬化。

2、hypervisor稱為主機虛擬化(hosted hypervisor),這類虛擬化將hyervisor安裝在已有的作業系統上進行虛擬化。這種情況下本臺主機既可以用來實現普通作業系統的功能,同時又能夠完成虛擬化。但是這種多用途的代價就是虛擬化的效能大不如先前所說的裸機虛擬化。vmware workstation,virtualbox等就屬於此類主機虛擬化。

二、為什麼要虛擬化

比較重要的兩點:節省成本,提高效率

虛擬化出現之前,企業如果想要搭建自己的資料中心,需要考慮方方面面的開銷,比如購買裝置,機房租賃,電耗,室溫,災備,物流運輸等等,資料中心的規模越來越大,裝置越來越多,所需的各類成本就越來越高。

除了上述成本居高不下之外,每一台伺服器的實際使用率效率也相對低下,想象一下,a公司的財務部門有乙個專屬的oracle資料庫應用,每個月的月初和月底都是使用高峰,其峰值是平時的數倍。那麼a公司的it部門在購買伺服器裝置時理所應當必須保證其硬體配置能在月初和月底的高峰期執行順暢。但是,如果從每個月的平均使用效率來看,除了月初和月底的高峰時段之外,月中的大部分時間伺服器的使用效率都只有30%到40%。因為這一台伺服器的執行系統是oracle所需的linux,a公司的其他應用程式大多基於windows,這沒有辦法安裝在這一台伺服器上提高效率,而還需要專門購買其他伺服器用於windows的應用。

在從這裡大家不難看出,在虛擬機器化技術出現之前,it對於裝置的成本和使用效率的控制相對捉襟見肘。

相反地,如果運用虛擬化的方案來解決a公司的例子,我們會怎麼做呢?首先,it部門需要購買一台伺服器主機用於邏輯虛擬化。當然,這一條伺服器本身的硬體配置至少能滿足財務部門月初和月底的使用高峰。這台伺服器上所執行的系統將不再是單一的windows或者linux,而是虛擬化管理程式,也就是hypervisor。it人員將在hypervisor之上建立一台linux虛擬機器,將財務的oracle資料庫安裝在這一條虛擬機器上,再為這台虛擬機器分配足夠的硬體資源就可以了。與此同時,在效能足夠的前提下,it人員在這台伺服器之上還能建立多台虛擬機器,同時執行windows和其他作業系統,用於滿足a公司其他應用程式。這樣,在月中oracle資料庫相對閒置的時候,其他應用程式可以充分利用這台伺服器的硬體資源,使得平均使用率保持在80%到85%之間。通過在一台伺服器上實現多條伺服器的效果,虛擬化能通過減少占地面積和耗電量以及裝置購買費用,從而大大降低搭建資料中心所需的成本。此外,虛擬化還能通過其強大的靈活性來實現災備,多活以及資源共享,將死機率大幅減少。

三、虛擬化優點

隨著虛擬化技術逐漸成熟,其對硬體資源的分配和管理的效率也就越來越高,能夠實現的應用場景也就越來越多。舉例來說,最初的虛擬化只能實現計算虛擬化(compute virtualization),也就是對cpu和物理硬體之間進行虛擬,也就是建立虛擬機器本身的過程。就在3-5年前,虛擬化實現了網路虛擬化(network virtualization)和儲存虛擬化(storage virtualization),這就使得各個虛擬機器之間能夠通過虛擬網路相互連線,每一台用於裸機虛擬化的伺服器的硬碟也可以通過虛擬儲存區域網(virtual san)來進行連線,如此一來,虛擬化管理器就可以更佳游刃有餘地分配和使用這些資源。下面我們通過幾個簡單的例子來看看虛擬化技術能夠輕鬆實現哪些之前幾乎無法做到的功能。

四、個人使用者與企業使用者如何使用虛擬化

企業使用者可以選擇vmware vsphere、思傑critix、微軟的hyper-v等。

個人使用者可以選擇vmware workstation

小知識

- 容錯(fault tolerance)

當hypervisor檢測到某一台esxihost的使用率過高(如高於90%)時,它將會自動將這台host上的虛擬機器遷移到其他相對使用率較低的host上,使得資源更加合理分配,不會造成某些應用因為host負載過高而導致的效能問題。

- 資源共享

有的情況下,為了保證關鍵應用程式的效能,某些虛擬機會對硬體效能的需求特別高,以至於當前它所處的esxi host無法滿足其效能需求。在這種情況下,虛擬化的資源整合共享的機制就能派上用場。在建立虛擬機器時,我們可以選用的硬體配置不只是當前這一台esxi host的硬體,而是可以選用這個集群內所有host的硬體資源。這樣一來就能夠滿足那些對效能有高需求的應用了。

今天聊聊快速排序

快速排序屬於交換排序 採 用分治法比氣泡排序時間複雜度低了一點,快速排序的思想是 每一輪挑選乙個基準元素,並讓剩下的比他大的元素移動到一邊,比它小的元素移動到另一邊,把數列拆成兩個部分分而治之,在最終通過遞迴,使每個子串行只剩乙個元素,這時候就是已經排好序的 雙邊迴圈法 include using ...

今天咱們來聊聊cookie

例子就是我們日常生活中非常熟悉的星馬克喝咖啡 大意如下 簡單粗暴的翻譯,見諒 1 我喜歡咖啡,或者你也喜歡咖啡。我平均每兩個星期去一次星巴克 檢視選單 選擇咖啡 拿到咖啡 付錢。如果我三天之後再去星巴克,店員不知道我是誰,也不知道我什麼時候來過這裡,點過什麼咖啡。仍然是按照上面的流程喝咖啡。這種情況...

今天來聊聊事務傳播行為

俺是個粗人,那麼俺就用最白話的語言來說說俺心目中的事務傳播行為。事務這個我在此部落格的其他帖子中也有專門說過 通俗的理解就是,乙個需要做多件事的乙個任務。事務是具有原子性,同乙個事務中,所有的事情要麼都沒做,要麼都做完了。這樣說就應該理解了事務,那麼事務的傳播行為就可以很好理解了。用具體的業務場景,...