條帶(stripe)是把連續的數據分割成相同大小的數據塊,把每段數據分別寫入到陣列中的不同磁碟上的方法。簡單的說,條帶是一種將多個磁碟驅動器合併為一個卷的方法。 許多情況下,這是通過硬體控制器來完成的。
當多個進程同時訪問一個磁碟時,可能會出現磁碟衝突。大多數磁碟系統都對訪問次數(每秒的 I/O 操作,IOPS)和數據傳輸率(每秒傳輸的數據量,TPS)有限制。當達到這些限制時,後面需要訪問磁碟的進程就需要等待,這時就是所謂的磁碟衝突。避免磁碟衝突是最佳化 I/O 性能的一個重要目標,而 I/O 性能的最佳化與其他資源(如CPU和記憶體)的最佳化有著很大的區別 ,I/O 最佳化最有效的手段是將 I/O 最大限度的進行平衡。
條帶化後,條帶卷所能提供的速度比單個盤所能提供的速度要快很多,由於現在存儲技術成熟,大多數系統都採用條帶化來實現系統的I/O負載分擔,如果OS有LVM軟體或者硬體條帶設備,決定因素是條帶深度(stripe depth)和條頻寬度(stripe width)。
條帶深度:指的是條帶的大小,也叫條帶大小。有時也被叫做block size, chunk size, stripe length 或者 granularity。這個參數指的是寫在每塊磁碟上的條帶數據塊的大小。RAID的數據塊大小一般在2KB到512KB之間(或者更大),其數值是2的次方,即2KB,4KB,8KB,16KB這樣。
- 減小條帶大小: 由於條帶大小減小了,則檔案被分成了更多個,更小的數據塊。這些數據塊會被分散到更多的硬碟上存儲,因此提高了傳輸的性能,但是由於要多次尋找不同的數據塊,磁碟定位的性能就下降了。
- 增加條帶大小: 與減小條帶大小相反,會降低傳輸性能,提高定位性能。
條頻寬度:是指同時可以並發讀或寫的條帶數量。這個數量等於RAID中的物理硬碟數量。例如一個經過條帶化的,具有4塊物理硬碟的陣列的條頻寬度就是4。增加條頻寬度,可以增加陣列的讀寫性能。道理很明顯,增加更多的硬碟,也就增加了可以同時並發讀或寫的條帶數量。在其他條件一樣的前提下,一個由8塊18G硬碟組成的陣列相比一個由4塊36G硬碟組成的陣列具有更高的傳輸性能。