Windows Server 動態磁碟管理

Post a comment

Windows Server將磁碟類型分成基本磁碟與動態磁碟兩種,其中基本磁碟具有一般資料讀寫的能力,而動態磁碟除了一般讀寫的能力之外,還具有加速讀寫速度和容錯的能力。基本磁碟是系統預設的磁碟類型,您可以將基本磁碟轉換成動態磁碟,這種過程是單向不可逆的,也就是說一旦轉換成動態磁碟後,便無法恢復。


這裏把重點放在動態磁碟管理,在正式進入主題之前,首先來介紹一些與磁碟有關的基本概念。此外,為了避免中文名詞的混淆,本文將直接使用英文名詞。

基本磁碟

基本磁碟是以磁碟分割(partition)作為基本的儲存單位。Partition又可以分成主要partition和延伸partition,兩者主要的差別在於主要partition中可儲存主要開機記錄 (MBR),用於引導系統開機。

先來看一個基本的問題。為什麼要把硬碟分割成多個的partition呢?其主要的原因是讓您能夠更方便地來管理硬碟的資料,同時也可以確保資料的安全性。您可以使用partition來儲存不同類型的資料,例如把一顆硬碟分成3個partition,第1個partition用來安裝(儲存)作業系統,第2個partition安裝其他的應用程式,第3個partition儲存自己的資料。因為每1個partition都是相互獨立,即使1個partition損毀了,也不會影響其他的partition的資料。

一顆硬碟最多只能有4個partition,不同類型的partition,允許的數量也不一樣。例如,一顆硬碟最多只能有4個主要partition,同樣的1顆硬碟最多也只能有1個延伸partition,但不管如何,partition加起來的數量不可超過4。通常我們會將一顆硬碟分割成4個主要partition,或者3個主要partition和1個延伸partition。

當硬碟分割成多個partition之後,是無法使用的。您還需要格式化partition,然後指定一個對應的磁碟機代號(drive letter)給它。接著,您就可以使用磁碟機代號把資料讀入partition,或從partition把資料讀出來。這裡必須強調,Partition與drive不是1對1關係,1個主要partition可以建立1個主要drive,但1個延伸partition則可以多個邏輯drive。

由於磁碟機代號(C ~ Z)的限制,Windows Server最多只認得24個drive。如果已經有24個drive,而又希望能擴充磁碟空間。此時您可以考慮使用外掛磁碟機(mounted drive)來擴充磁碟空間。簡單來說,外掛磁碟機是指將partition的空間掛在某個drive的一個空白NTFS資料夾中,例如,您指定1G大小來建立外掛磁碟機,則drive便會多出一個1G大小的資料夾。

有了基本磁碟的概念之後,接下來馬上來介紹本文的主題,Windows Server的動態磁碟管理。

動態磁碟

動態磁碟是以磁碟區(volume)作為基本的儲存單位,相當於基本磁碟的partition。依據不同的儲存方式,Volume又可以分成簡單(simple)、跨距(spanned)、等量(striped)、鏡像(mirrored),以及 RAID-5等五種。簡單說明這些volume的儲存方式與特性:

1. simple volume
simple volume具有可擴充的能力。若您只有一顆硬碟,則只能建立simple volume。當儲存空間不足時,您可以使用硬碟的剩餘空間來擴充之。因為它只有一顆硬碟,所以它無法加速讀寫的速度,也沒有容錯的能力。

2. spanned volumespanned volume與simple volume十分類似。當simple volume跨越不同硬碟來擴充空間時,就會變成spanned volume。由此可知,它至少需要2顆,最多32顆硬碟。當目前的空間不足時,才會把資料寫入另一個硬碟,因此雖然使用了兩顆以上的硬碟,但這種儲存方式無法同時使用多個讀寫頭來加速讀寫的速度,也沒有容錯的能力。

3. striped volume
至少需要2顆,最多32顆硬碟。在寫入資料之前,系統會先把資料切割成多個64KB的大小,然後分別依序寫到不同的硬碟中。例如,您使用兩顆硬碟disk1與disk2來建立striped volume時,則第1個64KB會放在disk1,第2個64KB會放在disk2,第3個64KB會放在disk1,依此類推。當讀出資料時,則會同時讀取這些磁碟來獲得資料。由此可知,這種儲存方式會同時使用多個讀寫頭來讀寫資料,加速讀寫的速度。雖然它使用了兩顆以上的硬碟,因為資料是分別放在不同的硬碟中,因此它沒有容錯的能力,甚至當1顆硬碟損毀時,也會影響其他硬碟的資料。除非您覺得讀寫的速度遠勝於資料的重要性,一般而言,建議僅可能少用striped volume。

4. mirrored volume至少需要2顆,最多32顆硬碟。您可以從2顆以上的硬碟中取出一塊相同大小的空間來建立mirrored volume。例如,在disk1與disk2分別指定1GB的磁碟空間來建立mirrored volume,因為資料會同時寫到disk1與disk2,也就是disk1與disk2有一模一樣的的資料,作為彼此的資料備份之用。由此可知它的可用空間只有1GB,而非2GB,即使3, 4顆硬碟也是一樣,所以它具有容錯的能力,但這種儲存方式會浪費硬碟的空間,對讀寫速度也沒有幫助。

5. RAID-5至少需要3顆,最多32顆硬碟。您可以從3顆以上硬碟中取出相同大小的空間來建立RAID-5。例如在disk1, disk2與disk3分別指定1GB的磁碟空間來建立RAID-5,它會使用其中的1顆硬碟來儲存資料恢復時所需的校驗值,而原始資料則分別依序放在其他的硬碟中。注意,校驗值與原始資料不是固定儲存在特定的硬碟中,而是交錯的儲存,如此才能保證當某1顆硬碟發生損毀時,可以從其他狀況良好(healthy)的硬碟中恢復遺失的資料。
總的來說RAID-5不僅具有striped volume的讀寫速度,也具有mirrored volume的容錯能力,而且隨著硬碟的數目越多,浪費的硬碟空間就越小。例如在3顆硬碟中指定1GB的磁碟空間來建立RAID-5,可用空間是2GB;使用4顆硬碟,可用空間是3G,依此類推。