Chinaunix
标题:
Lustre概述和安装
[打印本页]
作者:
wooloov
时间:
2008-07-24 00:18
标题:
Lustre概述和安装
Lustre是一个面向对象的文件系统,在MDS里的metadata里,文件被分割成若干的Chunk,每个chunk是一般为1MB-4MB。Metadata是指向这些chunk的指针,它说明
了这些chunk存储在哪个OSS里。如果有多个OSS,那每个文件就被条带化到多个OSS里。
这个概念让我想起了Centera,Centera就是基于这样的面向对象的存储体系。当然Centera能够做类似RAID0,RAID1或RAID5这样的条带,但Lustre目前只能是
RAID0的条带。虽然这样,但我估计Centera也是基于Lustre这样的文件系统开发的。
Lustre有三个主要组成部分,Metadata Server、Object Storage Server和Client。Metedata Server目前只能是最多2台机器,Active-Standby的工作方式。
MetadataServer存储了文件系统的结构信息,管理并组织文件的分配存储。Client读写文件时,从Metadata Server里得到文件的信息,然后直接从OSS里取得数据
。
OSS是文件的实际存储单元。OSS仍然采用EXt2的文件系统来存储Chunk。为了保证存储的高可靠性,仍然需要对后台的存储系统采用RAID保护。
Client通过Lnet协议和Metadata Server/OSS通信,Lnet可以运行在各种网络上,包括TCP/IP,Infiniband等。Client mount的每个文件系统都有统一的name
space,多个client可以并行访问同一个文件。
Lustre的扩展性极强,Client能扩展到百万级,OSS能扩展到1000。一个典型的Lustre文件系统可以很轻松地扩充到PB级。
安装Lustre的过程
1.安装所有的rpm包
2.修改/etc/hosts,保持所有主机有一个统一的主机名
3.修改hostname
4.修改/etc/modprobe.conf,加上 options lnet networks=tcp
5.改变grub.conf,重启系统
6.
[root@svr ~]# mkfs.lustre --fsname=testfs --mdt --mgs /dev/sdb
Permanent disk data:
Target: testfs-MDTffff
Index: unassigned
Lustre FS: testfs
Mount type: ldiskfs
Flags: 0x75
(MDT MGS needs_index first_time update )
Persistent mount opts: errors=remount-ro,iopen_nopriv,user_xattr
Parameters: mdt.group_upcall=/usr/sbin/l_getgroups
checking for existing Lustre data: not found
device size = 3072MB
2 6 18
formatting backing filesystem ldiskfs on /dev/sdb
target name testfs-MDTffff
4k blocks 0
options -J size=120 -i 4096 -I 512 -q -O dir_index,uninit_groups -F
mkfs_cmd = mkfs.ext2 -j -b 4096 -L testfs-MDTffff -J size=120 -i 4096 -I 512 -q -O dir_index,uninit_groups -F /dev/sdb
Writing CONFIGS/mountdata
[root@svr ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
8601800 4594444 3563352 57% /
/dev/sda1 101086 19157 76710 20% /boot
tmpfs 365276 0 365276 0% /dev/shm
/dev/hdc 3004732 3004732 0 100% /media/RHEL_5.2 i386 DVD
[root@svr ~]# du /dev/sdb
0 /dev/sdb
[root@svr ~]# mkdir -p /mnt/test/mdt
[root@svr ~]# mount -t lustre /dev/sdb /mnt/test/mdt
[root@svr ~]# cat /proc/fs/lustre/devices
0 UP mgs MGS MGS 5
1 UP mgc
[email=MGC192.168.1.24@tcp]MGC192.168.1.24@tcp[/email]
94961fd4-aace-8742-7162-f0635d234dfc 5
2 UP mdt MDS MDS_uuid 3
3 UP lov testfs-mdtlov testfs-mdtlov_UUID 4
4 UP mds testfs-MDT0000 testfs-MDT0000_UUID 3
[root@svr ~]# vi /etc/hosts
[root@svr ~]# mkfs.lustre --fsname testfs --ost
[email=--mgsnode=svr@tcp0]--mgsnode=svr@tcp0[/email]
/dev/sdc
Permanent disk data:
Target: testfs-OSTffff
Index: unassigned
Lustre FS: testfs
Mount type: ldiskfs
Flags: 0x72
(OST needs_index first_time update )
Persistent mount opts: errors=remount-ro,extents,mballoc
Parameters:
[email=mgsnode=192.168.1.24@tcp]mgsnode=192.168.1.24@tcp[/email]
checking for existing Lustre data: not found
device size = 3072MB
2 6 18
formatting backing filesystem ldiskfs on /dev/sdc
target name testfs-OSTffff
4k blocks 0
options -J size=120 -i 16384 -I 256 -q -O dir_index,uninit_groups -F
mkfs_cmd = mkfs.ext2 -j -b 4096 -L testfs-OSTffff -J size=120 -i 16384 -I 256 -q -O dir_index,uninit_groups -F /dev/sdc
Writing CONFIGS/mountdata
[root@svr ~]# mkdir -p /mnt/test/ost0
[root@svr ~]# mount -t lustre /dev/sdc /mnt/test/ost0
[root@svr ~]# cat /proc/fs/lustre/devices
0 UP mgs MGS MGS 5
1 UP mgc
[email=MGC192.168.1.24@tcp]MGC192.168.1.24@tcp[/email]
94961fd4-aace-8742-7162-f0635d234dfc 5
2 UP mdt MDS MDS_uuid 3
3 UP lov testfs-mdtlov testfs-mdtlov_UUID 4
4 UP mds testfs-MDT0000 testfs-MDT0000_UUID 3
5 UP ost OSS OSS_uuid 3
6 UP obdfilter testfs-OST0000 testfs-OST0000_UUID 5
7 UP osc testfs-OST0000-osc testfs-mdtlov_UUID 5
[root@svr ~]#
在client端的操作
mkdir -p /mnt/testfs
mount -t lustre
[email=srv@tcp0:testfs]srv@tcp0:testfs[/email]
/mnt/testfs
本文来自ChinaUnix博客,如果查看原文请点:
http://blog.chinaunix.net/u2/73762/showart_1090241.html
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2