① 雲存儲的核心技術:虛擬化存儲,究竟虛擬是怎樣實現的
虛擬化改變了計算機使用存儲的方式。就像物理機器抽象成虛擬機(VM:Virtual Machine)一樣,物理存儲設備也被抽象成虛擬磁碟(Virtual Disk)。今天我們就來聊聊虛擬化存儲(Storage Virtualization)技術,究竟虛擬磁碟是怎樣實現的?
虛擬磁碟的實現
我們知道,伺服器擴展存儲的手段主要有直連存儲(DAS)、存儲區域網路(SAN)和網路附加存儲(NAS)這三種類型。那麼哪種存儲類型可以用來實現虛擬磁碟呢?
在虛擬化環境中,類似VMWare這樣的虛擬機管理程序hypervisor,要同時給很多VM分配存儲空間。這個過程中,我們需要先把物理存儲資源重新劃分成虛擬磁碟,然後再分配給VM。
顯然我們不能用DAS方式把物理磁碟直連到VM上,如果這樣,需要的物理磁碟就太多了。SAN是以邏輯單元(LUN:Logic Unit)的形式提供存儲資源,但是虛擬環境中VM的數量是很大的,而且倫的數量不足以支持這么多虛擬磁碟。
更重要的是,虛擬磁碟是為大量VM共享的,由於VM需要隨時創建、刪除或遷移,所以需要在遷移VM時共享存儲空間,只有原始數據不會丟失。DAS還是SAN,都不適合共享存儲。
考慮到資源分配以及共享的問題,虛擬機管理程序以NAS的方式實現虛擬磁碟。VMware通常使用VMFS(虛擬機文件系統)或NFS協議實現虛擬磁碟,VMFS文件系統是專門針對虛擬機環境協議。
每一個虛擬機的數據實際上是一堆文件,及最重要的文件的虛擬磁碟文件(VMDK文件),也有交換分區文件(VSWP文件,等價交換),非易失性存儲器(NVRAM的文件相當於BIOS),等等。每個VM對虛擬磁碟的IO操作實際上是對虛擬磁碟文件的讀寫操作。
設計、施工、和虛擬伺服器環境和優化,允許多個虛擬機訪問集成的集群存儲池,從而大大提高了資源的利用率。使用和實現資源共享,管理員可以直接從更高的效率和存儲利用率中獲益。
那麼我們如何在雲計算中使用虛擬磁碟呢?
實例存儲
最主要的一種使用虛擬磁碟的方式就是實例存儲,每個VM都是虛擬機的一個實例,虛擬機管理程序在每個實例中提供一個模擬硬體環境,它包括CPU、內存和磁碟。這樣,虛擬磁碟就是虛擬機實例的一部分,就像物質世界。刪除VM後,虛擬磁碟也將被刪除。
在這個實例存儲模型中,虛擬磁碟與虛擬機之間的存儲關系,事實上,它是DAS存儲。但是虛擬磁碟的底層實現,我們說,它是以NAS的方式實現的。虛擬機管理程序的作用是存儲VM層的存儲模型,這是從實施協議分離(VMFS或NFS)的虛擬機的低層。
VMFS協議實現了存儲資源的虛擬化,再分配各VMs
卷存儲
實例存儲有它的限制,開發人員通常希望分離實例數據,例如OS和安裝的一些伺服器應用程序和用戶數據,這樣重建VM的時候可以保留用戶的數據。
這個需求衍生出另外一種存儲模型:卷存儲。卷是存儲的主要單元,相當於虛擬磁碟分區。它不是虛擬機實例的一部分,它可以被認為是虛擬機的外部存儲設備。
該卷可以從一個VM卸載,然後附加到另一個VM。通過這種方式,我們實現了實例數據與用戶數據的分離。OpenStack的煤渣是一個體積存儲的實現。
除了實例存儲和卷存儲之外,最後我們還提到另一種特殊的虛擬存儲:對象存儲。
對象存儲
很多雲應用需要在不同的VM之間共享數據,它常常需要跨越多個數據中心,而對象存儲可以解決這個問題。在前一篇文章中的雲計算IaaS管理平台的基本功能是什麼?》中曾經提到過對象存儲。
在對象存儲模型中,數據存儲在存儲段(bucket)中,桶也可以被稱為「水桶」,因為它字面意思。我們可以用硬碟來類推,對象像一個文件,而存儲段就像一個文件夾(或目錄)。可以通過統一資源標識符(URI:統一資源標識符)找到對象和存儲段。
對象存儲的核心設計思想實際上是虛擬化,它是文件的物理存儲位置,如卷、目錄、磁碟等,虛擬化是木桶,它將文件虛擬化為對象。對於應用層,簡化了對數據訪問的訪問,屏蔽了底層存儲技術的異構性和復雜性。
對象存儲模型
NAS與對象存儲各有所長
當然你也許會問,NAS存儲技術也是一個可以解決數據共享的問題嗎?由於對象存儲的大小和成本優勢,許多雲環境使用對象存儲而不是NAS。
因為對象存儲將跨多個節點傳播,最新數據並不總是可用的 因此,對象存儲的數據一致性不強。如果有強一致性的要求,然後你可以使用NAS。目前,在雲計算環境中,NAS和對象存儲是共存的。
和NAS一樣,對象存儲也是軟體體系結構,而不是硬體體系結構。應用程序通過REST API直接訪問對象存儲。公共對象存儲包括:Amazon S3和OpenStack的Swift。
結語
在實際的雲平台應用中,我們需要根據自己的實際情況來合理運用不同的虛擬化存儲技術。
對於非結構化的靜態數據文件,如音視頻、圖片等,我們一般使用對象存儲。
對於系統鏡像以及應用程序,我們需要使用雲主機實例存儲或者卷存儲。
對於應用產生的動態數據,我們一般還需要利用雲資料庫來對數據進行管理。
② vmware6.5 虛擬機 存儲掛不上
檢查遷移設置或者重新連接主機伺服器。
在伺服器之間進行vm遷移首先要求兩個伺服器啟用遷移功能。例如,使用vmware esx或者esxi的兩個伺服器必須啟用vmotion。
vmware esx或esxi伺服器上,在配置選項卡為特定的vsphere客戶端啟用vmotion,所以it管理員必須使用與每個hypervisor匹配的文檔並在每個伺服器上啟用遷移功能。
③ vmware虛擬化怎麼給兩台linux虛擬機做共享存儲
使用windows的CMD程序操作,進入vmware的安裝目錄,然後執行:
CMD> vmware-vdiskmanager.exe # 不加任何參數會顯示完整的幫助信息。
CMD> vmware-vdiskmanager.exe -c -s 200Mb -a ide -t 0 disk.vmdk
這樣就生成了一個新的(-c參數),200Mb大小(-s 200Mb),IDE介面(-a ide)的名為'disk.vmdk'磁碟。
關於'-t 0'的含義,請參考該命令的幫助信息。
④ VMware ESX server 如何讓掛載外部存儲,
在VCenter中找到該台虛擬機,然後右鍵選擇虛擬機,選擇「編輯虛擬機設置」,打開虛擬機屬性頁之後先添加「USB控制器」,再添加「USB設備」,一定是兩次添加,第二次添加後如能看到該移動硬碟,則虛擬機可以讀取,否則就要選擇並添加了。
⑤ VMware做伺服器虛擬化高可用時必須要掛存儲嗎
虛擬機的文件是存放晌帆在存儲里。
HA的功能是把虛擬機文件從故兆配障主機上卸載族謹指,後掛載到運行正常的主機上,再開啟。
如果企業考慮到成本問題,建議兩台伺服器安裝虛擬化軟體後互為備份。
⑥ 如何在虛擬化環境下進行數據存儲管理
理解虛擬機存儲需求
規劃部署方案可以節約時間和資金,並避免在將來出現令人頭疼的問題。部署物理存儲環境前,因當了解當前環境的具體情況。我們開始研究如何在虛擬化環境下解決存儲的需求分配問題。每個環境都不盡相同,盡管如此,還是有一些簡單問題可以幫助我們理清數據存儲管理規劃:
1、工程師需要理解環境中虛擬化的程度。環境中是否大多數伺服器都已虛擬化,還是僅僅運行了少量的虛擬機。
2、需要超前規劃將來用戶、服務與應用增長所需的計算資源。環境會不斷演變,既要滿足當前應用,也要規劃未來發展。
一旦開始規劃,工程小組需要對自己即將部署的存儲解決方案類型有深入認識。某些虛擬機需要為其存儲設置許多固定參數,而其他虛擬機則可以更為靈活的調整。根據大多虛擬機監控(VMM)實現方案,可以大致分為兩個主要部分:
1、在創建虛擬磁碟時預先分配所需的整個存儲空間。此方案中,虛擬磁碟既可以被拆分為許多水平文件(默認情況下為每文件2GB大小)所組成的文件集,被稱做"分割水平文件",也可以採用單一的水平文件。預分配存儲機制也被成為"厚配置".
2、按需動態增長存儲。若採用此機制,虛擬磁碟可以分割或單一文件保存,但其有一個重要特性--存儲可以根據需求進行分配。此種類型的動態增長存儲同樣被稱為"自動精簡配置",VMware Inc.和Citrix System都支持此種磁碟配置。
一旦負載評估確定以及相關可行性調查完成,就可著手研究如何將存儲添加至環境中。但比這更重要的一環是明確工作負載究竟需要多少存儲空間,因為此時已進入存儲資源分配過程了。
動態存儲分布
管理員現在可以通過虛擬化平台介面進行監控,分配和管理所有虛擬機的存儲需求。Vsphere、XenServer和Hyper-V目前都提供了非 常復雜的圖形用戶介面(GUI),這些管理工具可以提供關於虛擬機的詳細信息。例如,管理員可以查看系統所連接的存儲倉庫,了解其是如何被利用的,也可以 查看每個虛擬機(VM)的磁碟使用狀況。虛擬化管理平台的每次更新都加強了針對存儲設備的連接能力,包括支持更多廠商的產品,新功能以及通過GUI界面所 能實現的存儲設備管理。
在部署自動精簡配置(或動態存儲分配)作為虛擬磁碟特性時,需要留意存儲資源池或數據存儲中那些還未被使用的空間。通過跟蹤未使用資源,工程師可以 調整最佳實踐並決定下一步操作是回收現有未使用資源,或者在應用中斷與宕機發生之前往資源池中加入新的可用空間。為避免系統宕機,建議對磁碟使用情況進行 追蹤並設置告警等通知,保證在空間不足時能通知到管理員。動態空間分配並不是什麼新技術,該功能在現今大部分主流虛擬化軟體中都可以實現。盡管如此,關於 這種數據存儲機制還是有一些管理技巧的:
1、設置磁碟空間需求告警。添加額外磁碟空間並不困難。現實中,實現空間添加可能只需要大約3次滑鼠點擊。挑戰在於了解有多少資源可以分配,以及數 據存儲是否將要用盡。要解決這個問題,工程師應該為虛擬化平台管理工具設置告警策略,以及准確管理自動精簡配置。對某些管理平台來說,告警是項新功能,但 十分重要。這些告警可以通
2、過自定義觸發規則實現,這樣管理員們就可以對「磁碟空間耗盡」這項事故進行預防並才去行動。告警可設置為當數據存儲使用率到 達某一百分數值或超額比率達到一定數值時觸發相關通知。
3、文檔與環境監控。每款主流虛擬化管理平台的GUI工具都很實用,任何IT工程師都應該能夠檢索存儲倉庫並對存儲使用狀況與規劃有明確的認識。盡 管如此,在處理存儲需求時,數據存儲管理是一項永無止境的過程,需要無時無刻關注。空間資源耗盡並不是一個好應對的問題,而且通常情況下,可以通過審計與 對存儲環境的維護來避免事故發生。
確保存儲和虛擬化管理平台及時更新。經常檢查負載狀況是件十分重要的例行公事,留意存儲硬體和虛擬化軟體平台運行情況也十分重要。新硬體和軟體更新可提供更好的支持與功能及,提升IT工程師管理環境的能力。微小變更,諸如告警與警示,可以用來增強存儲空間管理能力。