= Lustre's Load Balance Mechanism = * 利用虛擬機初步測試的結果發現 Lustre 檔案系統在'''寫入'''操作方面,本身就具有 load balance 的機制,[[BR]] 在 OST 具有不同大小的情況下,MDS 會先指派 free space 較大的 OST 給予 client 寫入檔案。[[BR]] 然而若 OST 全部具有同樣大小的情況,MDS 則會採用 round-robin 的機制,輪流分配 OST 給 client 端寫入檔案! [[BR]][[BR]] * 得到上面這個結論後的第一個反應就是,那麼 read 的 Load Balance 豈不是也已經作好了?[[BR]] 一旦當初被寫入的檔案很平均地分布在各個 OST 中,那麼當 client 要讀取的時候,load 照理說也會自動被分散掉不是嗎?[[BR]][[BR]] * 關於這點必須要還再思考,並且構思接下來要實驗的方式! * 使用 lfs 指令可以指定 file stripe 的大小、以及欲使用的 OST 數目,這個對 Load Balance 將會有幫助! * Lustre 在處理 file stripe 上面有個缺點,就是無法自動判別 target OST 是否還有空間可以存放資料。[[BR]] 譬如說,有四個不同大小的 OSTs ,其中最大的是40GB (假設是 OST01),最小的是 5GB (假設是 OST04),如果採用 file stripe 的方式將大檔案均勻分割再平均撒到四個OSTs中,[[BR]] 這個情況下,OST04 一定會最先用完容量,一旦 OST04 的容量用完,那麼這個 client 就再也無法寫入其他任何檔案至 Lustre 檔案系統中了,[[BR]] 可惜的是此時其他的OST可能還有許多空間可以利用。因此這是 lustre 在處理 file stripe 時的一個缺點,也就是說,針對大小差異越大的 OSTs,[[BR]] Lustre 並沒有辦法有效率地使用這些 OSTs。