hyperv存儲配置
❶ hyper-v如何搭建資源池
微軟在Windows 8系統中推出一種所謂的「存儲空間」(Storage Spaces)功能,將所有硬碟整合到一個虛擬資源池,然後建立可以自動修復的虛擬磁碟,這些虛擬磁碟將具備一些ZFS的功能。
Advertisement
微軟Windows業務部主管史蒂文辛諾夫斯基(Steven Sinofsky)發表了一篇4400字的深度博客文章,詳細描述了虛擬磁碟即「存儲空間」的情況。微軟存儲與文件系統團隊的拉吉夫納加爾(Rajeev Nagar )也參與撰寫了該篇文章。
微軟把存儲空間添加到的Windows 8 Beta系統中,然後在Windows 8開發者預覽上展出。存儲空間功能的中心思想是提供自動數據保護和物理磁碟故障彈性,而且存儲空間的總存儲容量也將比單個磁碟的容量要大一些。
一組物理磁碟將容量整合在一起構成單一命名的存儲池。一旦被分配到某個存儲池,單個的物理磁碟就由Windows系統所有,Windows 8用戶就不能再使用它們。
利用NTFS參與構成資源池的磁碟可以通過USB、SATA或SAS介面與Windows伺服器相連,它們的容量、速度、類型都可以是不同的。微軟發表的博客文章沒有明確說明該資源池是否支持固態硬碟。
這個資源池不能被Windows 8用戶或應用軟體當做數據存儲設備來使用,那是存儲空間的功能之一,一個資源池裡可以建立一個或多個存儲空間。將整個或部分虛擬池建成虛擬磁碟就被稱為存儲空間,每一個存儲空間都有自己的名稱和磁碟符號。 例如,你仍然可以使用C:盤,只是現在它是一個虛擬磁碟或存儲卷,它是由物理磁碟合並後,用全部或部分存儲池組成的。
只有存儲池中存在一定數量的磁碟時,你才能使用存儲空間。也就是說需要足夠多的磁碟來支持容量和數據恢復。
自動精簡配置
數據即文件和文件夾是被寫到虛擬磁碟上的。
存儲空間是可以提供自動精簡配置功能的,也就是說,名義上的50TB存儲容量實際上只用了20TB容量,因為所有的數據都是那樣寫入的。如果剩餘容量越來越少,Windows 8就會發出警告,提醒用戶購買和添加更多磁碟容量。 當添加了更多容量之後,新的磁碟就會被包括在存儲池中並用來滿足用戶需求。
被刪除文件佔用的任何容量都會被返回到原先的存儲池,釋放相應容量的存儲空間。
平板和鏡子空間
實際上有三種存儲空間:基本空間、鏡子空間和對等空間。
在鏡子空間中,所有數據至少擁有2套拷貝並分別儲存在不同的物理磁碟上。也可以選擇保留3套拷貝,這也就是說,這個系統可以容忍兩個物理磁碟發生故障,大致相當於軟體RAID6;但是如果只有2套拷貝,鏡子空間就只能容忍一個物理磁碟發生故障,相當於軟體RAID1。
如果一個物理磁碟發生故障,存儲空間可以自動重新生成所有受影響空間的數據拷貝,直到存儲池中出現足夠多的可用物理磁碟。
在鏡子空間里,數據實際上是被儲存在被稱為「平板」(Slabs)的構造之上,每一個平板的容量為256MB.平板被儲存在參與構成存儲池的各個物理磁碟上,為整個磁碟提供故障彈性。
❷ 如何為高可用集群Hyper-V系統選擇合適的硬體配置
和其他的虛擬機技術環境中不同的是,Hyper-V不能支持內存過分配技術(memory
overcommit
)。因此,當創建的虛擬機所佔用的內存總數大於主機實際的物理內存時,您將無法啟動虛擬機。如果您在分配完可用物理內存之後,嘗試去啟動另外的虛擬機,即
使只是再多分配一台,結果只有一種可能就是返回錯誤提示信息。
如果在一台伺服器環境中,這不會是一個大問題,因為所有的虛擬機啟動過程都是由管理員人工管理的。在帶有自動故障切換技術的集群環境中,這點就會變成一個
很大的障礙。因此,搭建一個擁有足夠的可用物理內存的Hyper-V集群環境就變得非常重要,只有滿足這個條件後主機才可以成功的從發生故障的源節點切換
到集群中的可用目標節點。這也就是說,如果在一個擁有兩個節點的集群中,一半的物理內存必須預留出來;假如擁有四個節點,就意味著需要預留四分之一的物理
內存,以此類推。
簡單錯誤三:缺少支持CSV(Cluster
Shared
Volume,即集群共享卷)技術的備份方式
在Windows
Server
2008
R2中,微軟發布了一項稱為Cluster
Shared
Volume的新技術。它基於現有NTFS格式文件系統基礎上,為Hyper-V虛擬機提供特殊功能支持的技術。您可以把這項技術認為是R2版本的一個屬
性,使得分布在集群中的多個虛擬機可以同時訪問一個共享的LUN。這項新技術解決了集群中的節點失效時,磁碟子系統也作為其一部分而無法工作的情況。允許
必要情況下,虛擬機可以在一個LUN內無縫地遷移。
CSV技術面臨一項潛在的挑戰,那就是:很少有基於虛擬主機的備份產品可以支持。今天,甚至於
微軟的Windows
Server
Backup也無法實現支持。即使這樣,還是有一些像Data
Protection
Manager
2010(仍然只有測試版本)這樣的產品,可以實現對這種工作方式的支持。
簡單錯誤四:對虛擬CPU的過度分配
今天,用戶購買帶有兩個及更多物理CPU的伺服器已經很普遍。擁有更多的CPU意味著多線程應用程序可以在多個CPU之間實現負載均衡。或者當其中一個
CPU被某個單線程應用所佔用時,還可以使用剩餘的CPU來滿足其他應用的需求。這就是為什麼現在幾乎所有的伺服器都有至少兩個甚至有時是四個或更多
CPU的原因。現在的數據中心工作負載需要配備額外的處理器資源以滿足性能以及可用性方面的需求。
在Hyper-V的虛擬化環境中,對虛擬處理器的分配方式是比較特別的。Hyper-V的虛擬機環境中的最佳做法是:在初期只為一台物理機分配一個單獨的虛擬處理器,只有在需要的情況下才去分配額外的處理器資源。
雖然表面看起來增加虛擬處理器數量是一個很好的方式,但實際上這種操作反而會由於調度管理上引起的沖突而降低性能。當多個虛擬處理器被分配給虛擬機後,
這些處理器必須通過調度管理的方式,把它們的使用情況跟實際的物理資源對應起來。假設兩個虛擬處理器分配給一台虛擬機,hypervisor的調度程序
(scheler)必須等待對應的兩個物理處理器都可用後再去分配虛擬處理器。當在多個虛擬機競爭處理資源時,每個請求的響應時間會變得比普通情況長
得多。當物理處理器的個數少於所有虛擬機中分配的虛擬處理器之和時,情況甚至還會變得更糟。(關於這種情況為什麼會產生,您可以參考文章
Microsoft
Developers
Network
site中的Measuring
Processor
Performanc部分。)
還有,請時刻謹記,管理程序(hypervisor)分配的虛擬處理器需要橫跨伺服器上所有可用的物理處理器。這樣,虛擬處理器才可以充分利用所有可用的物理處理器資源。