Changes between Version 9 and Version 10 of lustre_load_balance


Ignore:
Timestamp:
Aug 25, 2008, 6:15:14 PM (16 years ago)
Author:
chris
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • lustre_load_balance

    v9 v10  
    99 * 使用 lfs 指令可以指定 file stripe 的大小、以及欲使用的 OST 數目,這個對 Load Balance 將會有幫助!
    1010
    11  * Lustre 在處理 file stripe 上面有個缺點,就是無法自動判別 target OST 是否還有空間可以存放資料。[[BR]]
    12    譬如說,有四個不同大小的 OSTs ,其中最大的是40GB (假設是 OST01),最小的是 5GB (假設是 OST04),如果採用 file stripe 的方式將大檔案均勻分割再平均撒到四個OSTs中,[[BR]]
    13    這個情況下,OST04 一定會最先用完容量,一旦 OST04 的容量用完,那麼這個 client 就再也無法寫入其他任何檔案至 Lustre 檔案系統中了,[[BR]]
    14    可惜的是此時其他的OST可能還有許多空間可以利用。因此這是 lustre 在處理 file stripe 時的一個缺點,也就是說,針對大小差異越大的 OSTs,[[BR]]
    15    Lustre 並沒有辦法有效率地使用這些 OSTs。
     11 * Lustre 在處理 file stripe 上面有個缺點,就是無法自動判別 target OST 是否還有空間可以存放資料。譬如說,有四個不同大小的 OSTs ,其中最大的是40GB (假設是 OST01),最小的是 5GB (假設是 OST04),如果採用 file stripe 的方式將大檔案均勻分割再平均撒到四個OSTs中,這個情況下,OST04 一定會最先用完容量,一旦 OST04 的容量用完,那麼這個 client 就再也無法寫入任何檔案至所掛載的 Lustre 檔案系統中;可惜的是,此時其他的OST可能還有許多空間可以利用(光是OST01應該就還會有35GB的空間可以使用)。因此這是 lustre 在處理 File Stripe 時的一個重大缺點。用一句話來形容:"針對容量差異越大的 OSTs,Lustre 就越無法有效率地使用它們"。
    1612
    17  * 相反地來說,若是針對OST大小差不多的情況,那麼 lfs setstripe 指令就提供了相當好的 Load Balance機制。問題就在於以 Grid 的概念來看的話,[[BR]]
    18    是不可能每個OST都差不多大小,但若是以 cluster 來看的話,理論上OST的大小是可以控制成差不多的。以目前的測試環境來看,大多是相同容量的硬碟,因此這個問題可以暫時忽略。
     13 * 相反地來說,若是針對OST大小差不多的情況來看的話,"lfs setstripe" 指令在處理大檔案這方面,的確提供了相當好的 Load Balance 機制。以 Grid 的概念來看的話,是不可能每個 OST 都差不多擁有相近的容量的;然而若是以 cluster 來看的話,OST 的大小是可以設定成差不多的。以目前的測試環境來看,比較像是 cluster 的環境,因為大多是相同容量的硬碟。以測試來說的話,這個問題可以暫時忽略。
    1914
    2015 * 以 "lfs setstripe -c -1" 這個指令來看的話,若是可以修改它,讓它做到隨時自動偵測各個 OST 的大小,並且及時回報給 MDT,促使 MDT 不要再將寫入的任務分配到即將耗盡空間的 OST 中,這是一個可以嘗試的方向,這個貢獻看起來似乎是還滿有意義的。
    2116
    2217 * 如果不考慮 File Stripe 的話,就沒有上述的困擾,上面都是針對 File Stripe 來討論,如果讀寫的檔案以小檔居多的話,實際上並不需要做 File Stripe 的動作,如此就沒有 OST 會浪費的問題,因為 Lustre 有內建機制可以自動將寫入的任務分配到剩餘空間(Free Spaces)較多的OST中。
     18
     19=== 整理一下上面所描述的成一張表格: ===
     20||OST大小\欲存取的檔案大小 || 大檔案居多(need stripe files)||小檔案居多(no stripe needed)||
     21||OST的大小差異大 (類 Grid 的環境)||使用 lfs 指令,但有無法有效利用所有 OST 的重大缺點||使用 Lustre 內建的 weighted allocator 來自動尋找空間剩餘較多的OSTs|
     22||OST的大小差異小 (類 Cluster 的環境)||使用 lfs 指令即可完美達到 Load Balance 的目的||使用 Lustre 內建的 round-robin機制來自動輪流將檔案寫入 OSTs 之中||