淺談Exchange Server郵件存儲系統-技巧篇(1)
發表于:2007-06-13來源:作者:點擊數:
標簽:
在了解了Exchange Server Store的工作方式和特點以后,我們接下來介紹一些郵件存儲系統的管理技巧。管理員在掌握了原理以后會對這些技巧有更深刻地認識,在實際工作中做到胸有成竹、游刃有余。 Exchange存儲系統軟硬件的選擇和設計 我們首先來看一下如何為Exc
在了解了Exchange Server Store的工作方式和特點以后,我們接下來介紹一些郵件存儲系統的管理技巧。管理員在掌握了原理以后會對這些技巧有更深刻地認識,在實際工作中做到胸有成竹、游刃有余。
Exchange存儲系統軟硬件的選擇和設計我們首先來看一下如何為Exchange Server的數據庫文件和Log文件選擇適當的磁盤硬件。
根據上一期的文章中所闡述的Log文件對數據庫恢復的作用,我們得知,當數據庫損壞時,通過還原磁帶上的備份和利用系統現有的日志文件,可以把數據庫恢復到發生問題之前的一個狀態。因此,
數據庫文件和日志文件需要存放在不同的物理磁盤之上,以防止磁盤硬件故障導致數據庫和日志同時損壞。微軟的文檔中明確的指出,在存在有效備份的前提之下,數據庫或日志兩者中的任何一個發生損壞,都是可以恢復的。但是如果數據庫和日志同時損壞,就只能通過還原備份來恢復到備份時刻的狀態了。
通常企業中重要的
服務器存儲系統一般都采用通過硬件系統來實現的RAID陣列。 常用的RAID系統有RAID 5和RAID 1。這兩種的系統特點如下:
RAID 5:向陣列中的磁盤寫數據,奇偶校驗數據存放在陣列中的各個盤上,允許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的
安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放于各個硬盤上。這樣任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率為(n-1/n)%。
RAID1 把磁盤陣列中的硬盤分成相同的兩組,互為鏡像,當任一磁盤介質出現故障時,可以利用其鏡像上的數據恢復,從而提高系統的容錯能力。對數據的操作仍采用分塊后并行傳輸方式。所以RAID 1不僅提高了讀寫速度,也加強系統的
可靠性。但其缺點是硬盤的利用率低,冗余度為50%。
從上述的特點來看,RAID 5偏重于數據的安全性;RAID 1(鏡像磁盤)在數據的安全得到保障的前提之下,強調了讀寫速度。
下圖是微軟推薦的Exchange Store系統存儲硬件
需求。

從中我們可以看出來,數據庫文件(edb文件和stm文件)被置于RAID 5的系統之上;Log文件的存放是采用了每一個Storage Group一套RAID 1的策略。
微軟這樣的設計,是為了充分的提升Exchange Store的
性能。對于數據庫文件,這些文件的尺寸往往非常的大,并且在日常的運行過程中,需要被非常頻繁的讀寫。從安全的角度考慮,數據庫文件的重要性要遠遠大過日志文件。因此,采用RAID 5系統保存數據文件,可以最大限度的保證文件的數據安全:在頻繁的讀寫時,能通過校驗位來保證數據不會發生錯誤;在磁盤硬件故障發生時,能夠使系統不受影響。
對于日志文件,請讀者先回憶一下上一期中我們談到的日志文件的作用:使內存中的事務盡快的寫入到硬盤中。Exchange的日志文件,在不發生從備份磁帶恢復的情況之下,終其一生,只會被寫入一次,讀取一次。寫入的時候,是Exchange Server把內存中的數據寫入到以5MB為單位的日志文件中,讀取的時候,是Exchange Server把日志中的內容寫入數據庫時發生的。因此,我們可以發現,對于保存日志文件的磁盤系統,它的讀寫壓力并不是非常的大,但是要求有非??斓膶懭胨俣?。非??斓膶懭胨俣扔蓛牲c來得到保證:第一,采用具有較快寫入速度的RAID 1系統(相對于RAID 5,不需要計算校驗位,這節省了大量的時間);第二,每一個Storage Group獨占一個RAID 1系統(既該RAID 1陣列只用來保存特定的Storage Group的日志文件,別無它用),這樣做,我們就把磁盤上的碎片數量降低到了最小的限度。理想情況下,日志文件每個扇區都是緊挨著的,磁盤在寫數據時,不需要因為磁盤碎片的緣故而重新定位磁頭,這最大的提高了寫入的性能。
在確定了磁盤的類型以后,我們需要為選用什么容量的磁盤進行規劃。存放數據庫文件的RAID 5系統的磁盤空間容量由實際的郵箱數量和郵箱的大小決定。但是,需要在這個基礎留有一定的空余空間。我們以300個用戶的企業為例,每個用戶的郵箱大小是 100M。理論上,郵箱Store的空間占用量上限為300*100M,也就是30GB。其實不然,我們還需要考慮如下的因素:
第一: Delete Item的保留時間。一般在Exchange Server上,我們都會設定刪除的郵件在服務器上保留多少時間(Store->Limit->Deletion Settings)。這樣做,可以方便用戶把誤刪除的郵件恢復回來。Exchange Server的備份結構決定了恢復單獨一封郵件是非常困難的,因此,設定Delete Item保留時間,有助于恢復誤刪除的信息。這個時間一般設定在15天到30天左右。我們需要注意,這樣的設定一旦開啟,所有刪除掉的郵件都不會在數據庫里馬上被清除掉,因此這項設定會占用一定的磁盤空間。如果設定Delete Item的保留時間為15天,我們需要
估算每個用戶在這兩周的時間內刪除郵件的數量和尺寸,來做進一步的規劃。如果設定為15天,保守的情況下,刪除郵件數量是郵箱的30%至50%。通常這樣的估算是不準確的,如果我們想掌握服務器上每一個郵箱的動態,可以使用一個名為“Quest Reports”的產品,這個基于網頁的程序會給管理員提供每一個郵箱容量的詳細動態報告。該公司的網址是:
http://www.quest.com/messagestats/
第二:數據庫維護時所需要的空間。在我們進行Exchange Server數據庫的離線碎片(Offline defrag)整理時,對于一個大小為20GB的數據庫文件(edb文件加上stm文件),我們需要額外的20GB左右空間來存放整理過碎片的數據庫文件。另外,當需要進行數據庫修復時,通常我們都會在服務器上做一個備份,這些空間,也是需要考慮的。
因此,存放數據庫文件的RAID 5系統的容量,一般是郵箱數*用戶數計算出來的容量的1.5至2倍。
日志文件的磁盤空間大小,由進行全備份的周期決定(在進行全備份時,系統會自動清除日志文件)。如果企業每周進行一次全備份,那么日志文件磁盤的空間至少要能容納一周之內產生日志文件(考慮到備份可能失敗,磁帶機故障等意外因素,這個容量還需要留有余地)。通常情況下,我們可以采用18GB的SCSI磁盤組成鏡像陣列,然后根據日志文件的增長速度,來動態的調整全備份的時間。