Lustre FS簡介

歷史

  1. Lustre這個詞來自LinuxCluster兩個詞的組合
  2. Lustre最早源于Carnegie Mellon的一個叫做Coda的研究項目
  3. 目前由DDN旗下的Whamcloud團隊推動社區開發

組成

obd

obdfilter

每個OST Server初始化的時候會創建一個obdfilter device(注意MDS上沒有obdfilter)。每個client和OST連接的時候,obdfilter都會創建一個export,client端都有一個import與之對應。obdfilter維護一個export鏈表,key是一個UUID。
創建export相關代碼參見class_new_export()

部署

部署mgs mds

mkfs.lustre --mgs /dev/sdb # MGT
mkfs.lustre --fsname=litio --mgsnode=192.168.57.3@tcp --mdt --index=0  /dev/sdc # MDT
mkdir /mnt/mgt /mnt/mdt
mount -t lustre /dev/sdb /mnt/mgt # MGS
mount -t lustre /dev/sdc /mnt/mdt # MDS

部署OSS

mkfs.lustre --fsname=litio --ost --mgsnode=192.168.57.3@tcp --index=2 /dev/sdb # /dev/sdb on OSS1 is OST2
mkfs.lustre --fsname=litio --ost --mgsnode=192.168.57.3@tcp --index=3 /dev/sdc # /dev/sdc on OSS1 is OST3

mkdir /mnt/ost2 /mnt/ost3
mount -t lustre /dev/sdb /mnt/ost2/
mount -t lustre /dev/sdc /mnt/ost3/

部署client

mkdir /mnt/litio/
mount -t lustre 192.168.57.3@tcp:/litio  /mnt/litio/

OBDfilter初始化代碼

server_fill_super
    server_start_targets
        lustre_start_simple
            do_lcfg //LCFG_ATTACH
            do_lcfg //LCFG_SETUP
do_lcfg
    class_process_config
        class_attach //LCFG_ATTACH handler
            class_newdev //創建OBD對象
        class_setup //LCFG_SETUP handler
            class_new_export //創建新的export
  1. OST mount后,進入server_fill_super => server_start_targets => lustre_start_simple
  2. 這個函數先后調用了class_newdevclass_new_export
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容