Exchange存儲系統(tǒng)軟硬件的選擇和設(shè)計
我們首先來看一下如何為Exchange Server的數(shù)據(jù)庫文件和Log文件選擇適當(dāng)?shù)拇疟P硬件。
根據(jù)上一期的文章中所闡述的Log文件對數(shù)據(jù)庫恢復(fù)的作用,我們得知,當(dāng)數(shù)據(jù)庫損壞時,通過還原磁帶上的備份和利用系統(tǒng)現(xiàn)有的日志文件,可以把數(shù)據(jù)庫恢復(fù)到發(fā)生問題之前的一個狀態(tài)。因此,數(shù)據(jù)庫文件和日志文件需要存放在不同的物理磁盤之上,以防止磁盤硬件故障導(dǎo)致數(shù)據(jù)庫和日志同時損壞。微軟的文檔中明確的指出,在存在有效備份的前提之下,數(shù)據(jù)庫或日志兩者中的任何一個發(fā)生損壞,都是可以恢復(fù)的。但是如果數(shù)據(jù)庫和日志同時損壞,就只能通過還原備份來恢復(fù)到備份時刻的狀態(tài)了。
通常企業(yè)中重要的服務(wù)器存儲系統(tǒng)一般都采用通過硬件系統(tǒng)來實現(xiàn)的RAID陣列。 常用的RAID系統(tǒng)有RAID 5和RAID 1。這兩種的系統(tǒng)特點如下:
RAID 5:向陣列中的磁盤寫數(shù)據(jù),奇偶校驗數(shù)據(jù)存放在陣列中的各個盤上,允許單個磁盤出錯。RAID 5也是以數(shù)據(jù)的校驗位來保證數(shù)據(jù)的安全,但它不是以單獨硬盤來存放數(shù)據(jù)的校驗位,而是將數(shù)據(jù)段的校驗位交互存放于各個硬盤上。這樣任何一個硬盤損壞,都可以根據(jù)其它硬盤上的校驗位來重建損壞的數(shù)據(jù)。硬盤的利用率為(n-1/n)%。
RAID1 把磁盤陣列中的硬盤分成相同的兩組,互為鏡像,當(dāng)任一磁盤介質(zhì)出現(xiàn)故障時,可以利用其鏡像上的數(shù)據(jù)恢復(fù),從而提高系統(tǒng)的容錯能力。對數(shù)據(jù)的操作仍采用分塊后并行傳輸方式。所以RAID 1不僅提高了讀寫速度,也加強系統(tǒng)的可靠性。但其缺點是硬盤的利用率低,冗余度為50%。
從上述的特點來看,RAID 5偏重于數(shù)據(jù)的安全性;RAID 1(鏡像磁盤)在數(shù)據(jù)的安全得到保障的前提之下,強調(diào)了讀寫速度。
下圖是微軟推薦的Exchange Store系統(tǒng)存儲硬件需求。
498)this.style.width=498;" align=align border=0>
從中我們可以看出來,數(shù)據(jù)庫文件(edb文件和stm文件)被置于RAID 5的系統(tǒng)之上;Log文件的存放是采用了每一個Storage Group一套RAID 1的策略。
微軟這樣的設(shè)計,是為了充分的提升Exchange Store的性能。對于數(shù)據(jù)庫文件,這些文件的尺寸往往非常的大,并且在日常的運行過程中,需要被非常頻繁的讀寫。從安全的角度考慮,數(shù)據(jù)庫文件的重要性要遠(yuǎn)遠(yuǎn)大過日志文件。因此,采用RAID 5系統(tǒng)保存數(shù)據(jù)文件,可以最大限度的保證文件的數(shù)據(jù)安全:在頻繁的讀寫時,能通過校驗位來保證數(shù)據(jù)不會發(fā)生錯誤;在磁盤硬件故障發(fā)生時,能夠使系統(tǒng)不受影響。
對于日志文件,請讀者先回憶一下上一期中我們談到的日志文件的作用:使內(nèi)存中的事務(wù)盡快的寫入到硬盤中。Exchange的日志文件,在不發(fā)生從備份磁帶恢復(fù)的情況之下,終其一生,只會被寫入一次,讀取一次。寫入的時候,是Exchange Server把內(nèi)存中的數(shù)據(jù)寫入到以5MB為單位的日志文件中,讀取的時候,是Exchange Server把日志中的內(nèi)容寫入數(shù)據(jù)庫時發(fā)生的。因此,我們可以發(fā)現(xiàn),對于保存日志文件的磁盤系統(tǒng),它的讀寫壓力并不是非常的大,但是要求有非常快的寫入速度。非常快的寫入速度由兩點來得到保證:第一,采用具有較快寫入速度的RAID 1系統(tǒng)(相對于RAID 5,不需要計算校驗位,這節(jié)省了大量的時間);第二,每一個Storage Group獨占一個RAID 1系統(tǒng)(既該RAID 1陣列只用來保存特定的Storage Group的日志文件,別無它用),這樣做,我們就把磁盤上的碎片數(shù)量降低到了最小的限度。理想情況下,日志文件每個扇區(qū)都是緊挨著的,磁盤在寫數(shù)據(jù)時,不需要因為磁盤碎片的緣故而重新定位磁頭,這最大的提高了寫入的性能。
在確定了磁盤的類型以后,我們需要為選用什么容量的磁盤進行規(guī)劃。存放數(shù)據(jù)庫文件的RAID 5系統(tǒng)的磁盤空間容量由實際的郵箱數(shù)量和郵箱的大小決定。但是,需要在這個基礎(chǔ)留有一定的空余空間。我們以300個用戶的企業(yè)為例,每個用戶的郵箱大小是100M。理論上,郵箱Store的空間占用量上限為300*100M,也就是30GB。其實不然,我們還需要考慮如下的因素:
498)this.style.width=498;">
第一:Delete Item的保留時間。一般在Exchange Server上,我們都會設(shè)定刪除的郵件在服務(wù)器上保留多少時間(Store->Limit->Deletion Settings)。這樣做,可以方便用戶把誤刪除的郵件恢復(fù)回來。Exchange Server的備份結(jié)構(gòu)決定了恢復(fù)單獨一封郵件是非常困難的,因此,設(shè)定Delete Item保留時間,有助于恢復(fù)誤刪除的信息。這個時間一般設(shè)定在15天到30天左右。我們需要注意,這樣的設(shè)定一旦開啟,所有刪除掉的郵件都不會在數(shù)據(jù)庫里馬上被清除掉,因此這項設(shè)定會占用一定的磁盤空間。如果設(shè)定Delete Item的保留時間為15天,我們需要估算每個用戶在這兩周的時間內(nèi)刪除郵件的數(shù)量和尺寸,來做進一步的規(guī)劃。如果設(shè)定為15天,保守的情況下,刪除郵件數(shù)量是郵箱的30%至50%。通常這樣的估算是不準(zhǔn)確的,如果我們想掌握服務(wù)器上每一個郵箱的動態(tài),可以使用一個名為“Quest Reports”的產(chǎn)品,這個基于網(wǎng)頁的程序會給管理員提供每一個郵箱容量的詳細(xì)動態(tài)報告。該公司的網(wǎng)址是:http://www.quest.com/messagestats/
第二:數(shù)據(jù)庫維護時所需要的空間。在我們進行Exchange Server數(shù)據(jù)庫的離線碎片(Offline defrag)整理時,對于一個大小為20GB的數(shù)據(jù)庫文件(edb文件加上stm文件),我們需要額外的20GB左右空間來存放整理過碎片的數(shù)據(jù)庫文件。另外,當(dāng)需要進行數(shù)據(jù)庫修復(fù)時,通常我們都會在服務(wù)器上做一個備份,這些空間,也是需要考慮的。
因此,存放數(shù)據(jù)庫文件的RAID 5系統(tǒng)的容量,一般是郵箱數(shù)*用戶數(shù)計算出來的容量的1.5至2倍。
日志文件的磁盤空間大小,由進行全備份的周期決定(在進行全備份時,系統(tǒng)會自動清除日志文件)。如果企業(yè)每周進行一次全備份,那么日志文件磁盤的空間至少要能容納一周之內(nèi)產(chǎn)生日志文件(考慮到備份可能失敗,磁帶機故障等意外因素,這個容量還需要留有余地)。通常情況下,我們可以采用18GB的SCSI磁盤組成鏡像陣列,然后根據(jù)日志文件的增長速度,來動態(tài)的調(diào)整全備份的時間。