虛擬化、雲計算與超融合的簡單總結


一、概述

  近期研究了一下超融合的內容,簡單做了下學習總結。

  虛擬化是一種基本思想,是雲計算、超融合的基礎,在信息系統的各層都有不同的應用,舉例來說:

  存儲虛擬化,存儲陣列就是將若干集中部署的磁盤先匯總,再划分成不同的邏輯磁盤分配給不同的服務器使用。

  網絡虛擬化,網絡我們一般分為接入層和匯聚層,使用網絡虛擬化后,對於單個宿主機到交換機的部分可以認為是匯聚層,對於宿主機中虛擬出的OS,可以在內部虛擬出一個接入層的網絡結構,便於對各虛擬OS進行網絡管理(比如做一些交換層面的數據流控)。

  硬件層虛擬化,主流雲技術就是將宿主機的硬件資源先匯總成一個邏輯整體,而后分配給不同的虛擬OS使用。

  系統層虛擬化,常用的虛擬機就是這種技術,比如在操作系統內安裝一個VMVM內再運行多個虛擬的OS

  總的來說,雲計算、超融合就是對存儲、網絡、硬件資源的匯總(抽象)和重分配,在實施細節上又有很大的不同由此產生了不同的特性。

 

 

 

二、物理服務器

  物理服務器我們比較熟悉了,主要包含CPU、內存、硬盤、網絡,一個常見的物理服務器架構如下圖:

  對於使用者來說,他可以不用關注中間復雜的物理結構,只需要關注OS本身,比如我們在每一台服務器上都部署一個centos系統。

 

 

 

  可以看到一個硬件服務器對應一個OS系統,這是最傳統的方式。

 

三、TYPE2OS虛擬化)

  在前面物理服務器的基礎上,我們每一台服務器都有一個centos系統,三台服務器就有3OS,由於linux多用戶的特性我們可以將這3OS提供給9個用戶同時使用,但是用戶的操作很可能會互相產生干擾,比如某個用戶執行了關機指令則其他用戶就無法使用該OS了。

  為解決這個問題,最簡單的辦法就是在一個OS內部虛擬出若干個獨立的OS,這樣用戶之間就不受干擾,如下圖所示,在centos系統中運行了一個VM程序,而后用VM程序分別虛擬出3OS系統(可以是windowslinux),這樣我們就得到了9個獨立運行的OS,每個用戶可以分到一個,而且他們的操作互相之間不受干擾。

 

 

 

  實現此功能的VM軟件稱為Hypervisor,在OS基礎上再虛擬出OS的做法稱為“Hypervisor TYPE2”。

 

四、TYPE1(硬件虛擬化)

  前面的TYPE2虛擬化簡單實用,但是問題也很顯著,因為他是在OS的基礎上虛擬OS,所以執行效率必然是打了折扣,所以又有了TYPE1(技術實現有先后,但這兩個概念是一起提出來的,並將硬件虛擬化命名為TYPE1,並不是說硬件虛擬化先有而后有的OS虛擬化)。

下圖所示的TYPE1TYPE2比較,架構上來說看起來差不多,實際上差別很大,相對來說TYPE1是現在主流的雲服務器架構,阿里雲的ECS就是這樣的產品。TYPE2則是我們本地常用的一種虛擬化方式,TYPE2再往前一步就是容器化了。

 

 

 

  雲計算實踐中,TYPE1TYPE2都會使用,主要看你掏多少錢。所謂私有雲、公有雲、混合雲的主流方案就是在TYPE1TYPE2的基礎上打包面向用戶的界面,也即是所謂的Iaas

  Hypervisor是一個總稱,具體到應用產品有VMwareHyper-VXenKVM等,雲服務商一般會選擇一個一到兩個廠商的產品,或自己研發來構建面向客戶的雲服務,但除了服務器本身的資源虛擬化,雲廠商還要打包存儲、網絡、用戶界面等,所以也沒那么容易。

  本地場景中,我們可以使用VMWare公司的技術,在服務器上安裝VMWare vSphere來實現硬件虛擬化(TYPE1)。也可以在windows上安裝VMWare workstation實現OS虛擬化(TYPE2)。

 

五、超融合

1TYPE1的存儲問題

  與前面的TYPE1TYPE2一樣,超融合也是基於Hypervisor的一種虛擬技術不過它提出的核心概念是將運算資源與存儲資源先打包整合再虛擬出需要的虛擬資源。要說清楚這個邏輯,要先說說TYPE1模式下存在的一個問題即“獨立存儲的部署問題”。

 

 

 

  如上圖所示,一般的雲架構會在物理機的基礎上再獨立部署一套或多套存儲陣列。主要原因是宿主機磁盤空間有限,假設宿主機配置如下:

    CPU:最多28

    內存:最多512G內存

    硬盤:最多6個插槽,每個1T,合計6T(因為要做RAID實際可用可能只有4T

  以上配置,假設我們虛擬出7台虛擬服務器,可得到的最低配置是:

    CPU4

    內存:30G

    硬盤:0.85T

  相對來說430G是夠用的,但是0.85T的存儲空間是肯定不夠的對吧,850G比大部分的筆記本存儲空間都少。所以宿主機搭配存儲陣列是必須的。另外服務器加CPU加內存都很容易的,但是加硬盤真的很難,因為機身設計空間的限制(限定了U數)服務器能插磁盤的空間很有限。

  存儲陣列的部署、運維和管理不是個簡單的事情(甚至有點麻煩),特別是部署好以后想要變動就麻煩了,而且這個東西特別貴,隨隨便便搞一下就要上百萬了,服務器才多少錢呢。

2、超融合架構

  下圖是一個簡單示例,超融合的特點在於它將接入系統內的所有資源先通過Hypervisor進行虛擬化,然后將計算資源、內存資源、存儲資源整合成一個資源池,最后從資源池中為用戶分配資源。

 

 

 

  超融合系統的物理層通過內部的交換機和線路連通,形成一個內部數據互通網絡,對外使用虛擬化技術可以虛擬出任何需要的網絡結構。

  超融合架構下數據采用分布式存儲,並使用SSD緩存機制,即在HDD(普通磁盤)的基礎上部署10%-20%SSD來進行緩存加速。

  超融合主要解決的是存儲的問題,他依然存在TYPE1所存在的宿主機問題,即虛擬出的OS,其CPU依然依賴於宿主機,當宿主機故障時(單個節點)虛擬OS需要遷移到新的宿主機,中間依然存在RTO時間。

  超融合所有資源全部基於x86服務器,即新增計算或存儲資源只需要在系統中新增一個x86服務器的節點即可,這樣的好處是系統的結構清晰簡單,不存在外掛的其他物理系統,系統的擴展和維護也比較簡單。

3、超融合缺點

  資源擴展依賴於x86服務器,那么無法單獨新增存儲資源,即想要新增存儲時要在系統中加入一個完整的x86服務器,而不能單獨只加存儲。

  主流廠商都建議使用其專用一體機(x86服務器)和交換機,建設時需要重新購買硬件,除了成本外,新興超融合廠商的服務器(交換機)不一定是專業的,而傳統服務器(交換機)廠商的超融合方案又很貴。

  部分廠商的方案是一體機架式的,只提供有限的服務器插槽,初期的部署容易上手,但后期的擴展存在限制。

  超融合在底層硬件上是分布式部署,但上層軟件層面卻是集中管理的,那么就存在上層軟件BUG導致整個系統不可用的風險。

  超融合架構本身會占用一部分的計算資源來實現其服務,

4、更新下

  最近學習到,原來雲服務器和超融合給的cpu核指的是物理CPU的內核,而不是相對算力或者物理CPU的概念。

  比如宿主機配置是2xCPU,每個CPU16核,那么一共就有了32個核,如果雲商給的虛擬服務器配置是vCPU = 2,那么這一台宿主機就可以虛擬出16個服務器,如果vCPU=4那宿主機就可以虛擬出8個服務器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM