Lustre是一個並行文件系統,性能良好,supercomputers top 500中半數以上采用lustre作為文件系統。lustre的具體內容可以參考http://en.wikipedia.org/wiki/Lustre_(file_system)。
本文介紹Lustre 1.8.7在CentOS 5.5上的安裝。
Lustre分為三部分:
1. MDS (metadata server)
Lustre的元數據服務器,在Lustre集群上僅有一個MDS。MDS上有一個MDT(metadata target),用於存儲Lustre的一些元數據信息,例如存儲在Lustre上的文件的路徑,訪問權限等。用戶訪問Lustre上的數據時,需要向MDT請求來進行查找文件的路徑,檢查訪問權限等工作,然后才能訪問Lustre的實際數據。
2. OSS (object storage servers)
OSS通過OST(object storage target)用於存儲Lustre上的實際文件數據。一個Lustre集群上可以用多個OSS,一個OSS上也可以有多個OST
3. Client
用戶通過Lustre的Client來訪問Lustre集群。
Lustre1.8.7安裝
- MDT :192.168.111.150
- OST :192.168.111.172
- Client:192.168.111.155
1.軟件
- OS:CentOS 5.5
- Lustre:1.8.7
Lustre1.8.7可以在http://downloads.lustre.org/public/lustre/v1.8/lustre_1.8.7/上下載。下載需要注意選在與OS匹配和CPU匹配的lustre包。CentOS系統選擇rhel的包。另外還要和32/64位匹配。32位系統選擇rhel5-i686,64位系統選擇rhel5-x86-64。
以rhel5-x86-64為例,需要下載一下rpm包
- kernel-2.6.18-194.17.1.el5_lustre.1.8.7.i686.rpm
- e2fsprogs-1.41.12.2.ora1-0redhat.rhel5.x86_64.rpm
- lustre-ldiskfs-3.1.6-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm
- lustre-modules-1.8.7-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm
- lustre-1.8.7-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm
- lustre-client-modules-1.8.7-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm
- lustre-client-1.8.7-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm
2.安裝Lustre基礎環境
Lustre的各個部分都有一些基礎的軟件需要安裝
1) 安裝Linux內核補丁
Lustre修改了Linux的內核,安裝Lustre必須打Linux內核補丁。在Lustre的網站上也列出了當前版本的Lustre支持的操作系統版本,因此選擇操作系統時,也需要選擇與此相對應的操作系統。
1 #rpm -ivh kernel-2.6.18-194.17.1.el5_lustre.1.8.7.i686.rpm --force
安裝完補丁后,重啟系統,並選擇安裝的內核版本啟動。然后執行uname -a命令。
1 #uname -a
可以看到內核版本改為Lustre內核補丁的版本。Lustre只能在這個內核上正常運行。
2) 安裝e2fsprogs
3) 安裝安裝lustre-ldisks
4) 安裝lustre-module
5) 安裝lustre
6) 將lustre加載到系統內核模塊中
1 #modprobe lustre 2 #modprobe ldiskfs 3 #modprobe lnet 'network="tcp0(eth1)"'
eth0是網卡的名稱,需要根據機器的網卡的名稱替換。至此,完成lustre軟件的安裝。
3.安裝Lustre MDT
1)格式化MDT分區
Lustre的MDT需要一個單獨的系統分區,Lustre會將該分區格式化為Lustre的文件系統格式。
假定現在系統掛載了一個新的硬盤/dev/sdb。如果這個分區已經掛載到系統中,需要先將該分區從系統中umount下來。然后執行以下命令。
1 mkfs.lustre --fsname=geobeans --reformat --mdt --mgs /dev/sdb
該命令將/dev/sdb分區格式化為lustre文件系統格式。
注意:--fsname=geobeans參數,geobeans就是這個Lustre集群的名稱,掛載OST和Client都需要這個名稱。
2) 掛載MDT
創建掛載點路徑
1 #mkdir /lustre_mdt
掛載Lustre MDT
1 #mount.lustre /dev/sdb /mnt/lustre_mdt
至此,完成了MDT的安裝。
4. 安裝OST
1) 格式化OST分區
將OST安裝到/storage分區上,需要先從系統中卸載/storage分區。記住/storage分區為/dev/hda3設備。
格式化/dev/hda3分區
1 #mkfs.lustre --fsname=geobeans --ost --mgsnode=192.168.111.150@tcp0 /dev/hda3
- --fsname即為Lustre集群的名稱,這里是geobeans
- --mgsnode即為"modprobe lnet"命令創建的lnet,192.168.111.150為MDT的IP
2) 掛載OST分區
1 #mount.lustre /dev/hda3 /storage
至此就完成了lustre服務端的安裝。再安裝lustre的客戶端,連接到lustre的mdt上,就可以操作lustre集群了。
5.安裝Client
1) 安裝client
1 #rpm -ivh lustre-client-modules-1.8.7-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm --force 2 #rpm -ivh lustre-client-1.8.7-2.6.18_194.17.1.el5_lustre.1.8.7.x86_64.rpm --force
2) 掛載client到mdt上
創建掛載點
1 #mkdir /lustre
掛載lustre client
1 #mount.lustre 192.168.111.150@tcp0:/geobeans /lustre
192.168.111.150@tcp0:/geobeans即為lustre mdt的路徑,在安裝mdt時,通過modprobe lnet命令創建。
至此就完成了整個lustre的安裝。現在可以在Lustre Client上通過以下的命令查看lustre集群的狀況
1 lfs df -Th
可以看到現在Lustre集群上的MDT和OST的信息。
Lustre遵循POSIX規范,因此在Lustre Client上,可以像使用ext3等文件系統一樣使用/lustre分區。例如用mkdir命令創建文件夾,用cp命令復制文件。