歷史
-
Lustre
這個詞來自Linux
和Cluster
兩個詞的組合 - Lustre最早源于Carnegie Mellon的一個叫做
Coda
的研究項目 - 目前由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
- OST mount后,進入
server_fill_super
=>server_start_targets
=>lustre_start_simple
- 這個函數先后調用了
class_newdev
和class_new_export