- 資訊首頁(yè) > 互聯(lián)網(wǎng) >
- 如何在云計算中使用虛擬磁盤(pán)?
虛擬化改變了計算機使用存儲的方式。就像物理機器抽象成虛擬機(VM:VirtualMachine)一樣,物理存儲設備也被抽象成虛擬磁盤(pán)(VirtualDisk)。今天我們就來(lái)聊聊虛擬化存儲(StorageVirtualization)技術(shù),究竟虛擬磁盤(pán)是怎樣實(shí)現的?
虛擬磁盤(pán)的實(shí)現
我們知道,服務(wù)器擴展存儲的手段主要有直連存儲(DAS)、存儲區域網(wǎng)絡(luò )(SAN)和網(wǎng)絡(luò )附加存儲(NAS)這三種類(lèi)型。那么哪種存儲類(lèi)型可以用來(lái)實(shí)現虛擬磁盤(pán)呢?
在虛擬化環(huán)境中,類(lèi)似VMWare這樣的虛擬機管理程序hypervisor,要同時(shí)給很多VM分配存儲空間。這個(gè)過(guò)程中,我們需要先把物理存儲資源重新劃分成虛擬磁盤(pán),然后再分配給VM.
顯然我們不能用DAS方式把物理磁盤(pán)直連到VM上,如果這樣,需要的物理磁盤(pán)就太多了。SAN是以邏輯單元(LUN:LogicUnit)的形式提供存儲資源,但虛擬環(huán)境下的VM數量很大,LUN的數量也不足以支撐這么多虛擬磁盤(pán)。更重要的一點(diǎn),虛擬磁盤(pán)對于眾多的VM來(lái)說(shuō)是共享的,因為VM需要隨時(shí)創(chuàng )建、刪除或者遷移,在遷移VM的時(shí)候就需要共享存儲,只有這樣原來(lái)的數據才不會(huì )丟失。無(wú)論DAS還是SAN,都不適合共享存儲。
考慮到資源分配以及共享的問(wèn)題,hypervisor采用NAS的方式來(lái)實(shí)現虛擬磁盤(pán)。VMware通常采用VMFS(VirtualMachineFileSystem)或NFS協(xié)議來(lái)實(shí)現虛擬磁盤(pán),VMFS是專(zhuān)門(mén)針對虛擬機環(huán)境的文件系統協(xié)議。
每個(gè)虛擬機的數據實(shí)際上就是一堆文件,最主要的文件就是虛擬磁盤(pán)文件(VMDK文件),此外還有交換分區文件(vswp文件,相當于swap)、非易失性?xún)却嫖募╪vram相當于bios)等。每個(gè)VM對虛擬磁盤(pán)的IO操作,實(shí)際上是對這個(gè)虛擬磁盤(pán)文件的讀寫(xiě)。
VMFS的設計、構建和優(yōu)化針對虛擬服務(wù)器環(huán)境,可讓多個(gè)虛擬機共同訪(fǎng)問(wèn)一個(gè)整合的群集式存儲池,從而顯著(zhù)提高了資源利用率。采用VMFS可實(shí)現資源共享,使管理員輕松地從更高效率和存儲利用率中直接獲益。
那么我們如何在中使用虛擬磁盤(pán)呢?
實(shí)例存儲
最主要的一種使用虛擬磁盤(pán)的方式就是實(shí)例存儲,每一個(gè)VM就是一個(gè)虛擬機實(shí)例,hypervisor在每個(gè)實(shí)例中提供仿真的硬件環(huán)境,包括CPU、內存和磁盤(pán)。這種方式,使得虛擬磁盤(pán)成為虛擬機實(shí)例的一部分,就像物理世界一樣。VM刪除后,虛擬磁盤(pán)也會(huì )被刪除。
這種實(shí)例存儲模型中,虛擬磁盤(pán)與虛擬機之間的存儲關(guān)系,實(shí)際上是DAS存儲。但虛擬磁盤(pán)的底層實(shí)現,上面我們說(shuō)了,是用NAS方式實(shí)現的。而hypervisor的作用就是把VM層的存儲模型,與虛擬機下層的實(shí)現協(xié)議(VMFS或NFS)分離開(kāi)了。
卷存儲
實(shí)例存儲有它的限制,開(kāi)發(fā)者一般希望把實(shí)例數據(比如OS以及安裝的一些服務(wù)器應用軟件)和用戶(hù)數據分開(kāi),這樣重建VM的時(shí)候可以保留用戶(hù)的數據。
這個(gè)需求衍生出另外一種存儲模型:卷存儲。卷是存儲的主要單位,相當于一個(gè)虛擬的磁盤(pán)分區。不屬于虛擬機實(shí)例的一部分,可以認為是虛擬機的外置存儲設備。
卷可以從一個(gè)VM卸下,然后附加給另外一個(gè)VM.這樣我們就實(shí)現了實(shí)例數據與用戶(hù)數據的分離。OpenStack的Cinder就是一個(gè)卷存儲的實(shí)現。
除了實(shí)例存儲和卷存儲,最后我們再說(shuō)一說(shuō)另外一種比較特殊的虛擬化存儲:對象存儲。
對象存儲
很多云應用需要在不同的VM之間共享數據,經(jīng)常需要跨越多個(gè),對象存儲可以解決這個(gè)問(wèn)題。
在對象存儲模型中,數據存儲在存儲段(bucket)中,按字面意思bucket也可以被稱(chēng)為“桶”。我們可以用硬盤(pán)進(jìn)行類(lèi)比,對象就好比文件,存儲段就像是文件夾(或目錄)。對象和存儲段可以通過(guò)統一資源標識符(URI:UniformResourceIdentifier)查找。
對象存儲的核心設計思想其實(shí)也是虛擬化,具體說(shuō)來(lái),就是把文件的物理存儲位置,比如卷、目錄、磁盤(pán)等,虛擬化為bucket,把文件虛擬化為對象。對應用層來(lái)說(shuō),簡(jiǎn)化了對數據的存取訪(fǎng)問(wèn),屏蔽了底層存儲技術(shù)的異構性和復雜性。
當然你也許會(huì )問(wèn),NAS存儲技術(shù)不是也可以解決數據共享的問(wèn)題嗎?
由于對象存儲的規模優(yōu)勢和成本優(yōu)勢,很多云環(huán)境采用對象存儲來(lái)代替NAS.由于對象存儲將遍布于很多節點(diǎn)且最新的數據并非總是可用,所以對象存儲的數據一致性不強。如果對強一致性有要求,那么可以使用NAS.目前在云計算環(huán)境下,NAS和對象存儲是共存的關(guān)系。和NAS一樣,對象存儲也是軟件架構,不是硬件架構。應用直接通過(guò)RESTAPI來(lái)訪(fǎng)問(wèn)對象存儲。
結語(yǔ)
在實(shí)際的云平臺應用中,我們需要根據自己的實(shí)際情況來(lái)合理運用不同的虛擬化存儲技術(shù)。
對于非結構化的靜態(tài)數據文件,如音視頻、圖片等,我們一般使用對象存儲。對于系統鏡像以及應用程序,我們需要使用實(shí)例存儲或者卷存儲。對于應用產(chǎn)生的動(dòng)態(tài)數據,我們一般還需要利用云數據庫來(lái)對數據進(jìn)行管理。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站