3.主機文件系統(tǒng)影響

在主機層次,通過指定最小最大的I/O request size,文件系統(tǒng)也影響了應(yīng)用I/O的特性。

A.文件系統(tǒng)的緩沖和組合(coalesce)

跟在存儲系統(tǒng)上的cache相似的是,緩沖是文件系統(tǒng)提高性能的一種主要方式。

緩沖

在大部分的情況下,文件系統(tǒng)的緩沖應(yīng)該最大化,因為這能減少存儲系統(tǒng)的負載。然而,還是會有一些意外。

一般來說,應(yīng)用自己來調(diào)配緩沖,能避免文件系統(tǒng)的緩沖或者在文件系統(tǒng)的緩沖之外工作。這是基于應(yīng)用能更加有效的分配緩沖的假設(shè)之上。而且,通過避免文件系統(tǒng)的coalesce,應(yīng)用更能控制I/O的響應(yīng)時間。但是,正如在64位的服務(wù)器里RAM的容量將會提升到32GB或者更多,這也就有可能把這個文件系統(tǒng)都放在緩沖里面。這就能使讀操作在緩沖下,性能會有非常顯著的提升。(寫操作應(yīng)該使用寫透(write-through)的方式來達到數(shù)據(jù)的持續(xù)性。)

結(jié)合Coalescing

文件系統(tǒng)的coalesce能幫助我們從存儲系統(tǒng)里獲得更高的帶寬。在大部分順序訪問的操作里面,用最大鄰近和最大物理的文件系統(tǒng)設(shè)置來最大?文件系統(tǒng)的coalescing.例如,這種處理方式可以和備份程序一起把64KB的寫操作結(jié)合(coalesce)成一個完全stripe的寫操作,這樣在write cache被bypass的情況下,對于帶校驗的Raid會更加有效果。

B.最小化I/O的大?。何募到y(tǒng)的request size

文件系統(tǒng)通常都被配置成一個最小的范圍大小,例如4KB,8KB或者64KB,這是提供給陣列的最小的不可分割的請求。應(yīng)用使用的I/O在比這個范圍大小要小的時候,會導(dǎo)致很多不必要的數(shù)據(jù)遷移和/或read-modify-write的情形出現(xiàn)。這也是考慮應(yīng)用和文件系統(tǒng)文件的最佳設(shè)置的最好辦法。(it is best to consult application and file system documentation for the optimal settings)而request size沒有被文件系統(tǒng)限制的Raw partitions,則沒有受到這個約束。

C.最大化的I/O大小

如果想要快速的移動大量的數(shù)據(jù),那么一個大的I/O(64KB或更大)會更加有幫助。在整合(coalescing)順序的寫操作成Raid Group整個的stripe的時候,陣列將會更加有效率,正如預(yù)讀取大的順序讀操作一樣。大的I/O對從基于主機的stipe獲得更好的帶寬而言也是很重要的,因為他們將會被基于srtipe的toplogy打散成更小的大小。

D.文件系統(tǒng)的fragmentation

避免fragmentation和defragementation在一起,這是一個基礎(chǔ)的原則。注意NTFS文件系統(tǒng)可能被分區(qū)成任何形式除了默認的范圍大小,他們不能被大部分的工具所defragement:這個API(程序的接口)并不能允許這樣做。執(zhí)行一個文件級別的拷貝 (到另一個LUN或者執(zhí)行一個文件系統(tǒng)的備份和恢復(fù))是defragement的一個有效的實現(xiàn)。


<未完待續(xù)>

分享到

多易

相關(guān)推薦