当前位置: 首页 > 工具软件 > Lustre > 使用案例 >

Lustre 操作

狄飞尘
2023-12-01

通过卷标挂载

文件系统名字被限制到8个字符,我们已经讲文件系统和目标信息编码到磁盘卷标,所以我们可以通过卷标挂载。现在Linux磁盘卷标被限制到16个字符。

通过卷标挂载:

# mount -t lustre -L file_system_label /mount_point

eg:

mds# mount -t lustre -L testfs-MDT0000 /mnt/mdt

Caution

通过卷标挂载不能够在多路环境中使用,或者当创建该设备的快照。

尽管文件系统名字被限制到8个字符,你也可以在任何点上挂载客户端,所以文件系统用户将不会受到短名字的影响。eg:

client# mount -t lustre mds0@tcp0:/short /dev/long_mountpoint_name

OST的Failout/Failover模式

在一个Lustre文件系统中,某个OST由于网络等故障不可访问,那么客户端连接会有一下两种情况:

  • Failout模式:客户端会一直等待OST恢复
  • Failover模式:客户端在超时后,立即收到链接错误信息,而不是一直等待。

通常,OST默认failover模式,想要改变参数使用 –param=“failover.mode=failout”

oss# mkfs.lustre --fsname=fsname --mgsnode=mgs_NID --param=failover.mode=failout --ost --index=ost_index /dev/ost_block_device

Caution

在执行这个命令之前,卸载所有的将会受到这个Failover/Failout模式改变影响的OST。

Note:

在最初系统创建之后,使用 tunefs.lustre 去改变这个模式。eg:

$ tunefs.lustre --param failover.mode=failout
/dev/ost_device

处理降级的RAID

Lustre能够通知是否一个RAID降级、或者其中一个磁盘坏掉还没有更换、或者被更换仍在重建中。

对于每个OST,参数 *degraded 可以表明OST是否运行在降级的模式下。

标记OST降级:

lctl set_param obdfilter.{OST_name}.degraded=1

标记恢复正常:

lctl set_param obdfilter.{OST_name}.degraded=0

查看是否正在降级模式下:

lctl get_param obdfilter.*.degraded

如果一个由于重启或者其他状况,OST重新挂载,这个标识被重置为0.

运行多路文件系统

默认情况下, mkfs.lustre 命令创建一个命名为lustre的文件系统。指定一个不同的文件系统名字,使用 –fsname 选项:

mkfs.lustre --fsname=file_system_name

Note:

如果一个客户端被挂在了多个不同的文件系统,为了避免在文件系统之间转移文件时容易产生问题,需要在 /etc/xattr.conf 文件中添加以下行: lustre.*skip

确保新的MDT添加到已经存在的MGS中,指定 –mdt –mgsnode=mgs_NID

eg:

Lustre中安装有两套文件系统(foo和bar):

mgsnode# mkfs.lustre --mgs /dev/sda
mdtfoonode# mkfs.lustre --fsname=foo --mgsnode=mgsnode@tcp0 --mdt --index=0
/dev/sdb
ossfoonode# mkfs.lustre --fsname=foo --mgsnode=mgsnode@tcp0 --ost --index=0
/dev/sda
ossfoonode# mkfs.lustre --fsname=foo --mgsnode=mgsnode@tcp0 --ost --index=1
/dev/sdb
mdtbarnode# mkfs.lustre --fsname=bar --mgsnode=mgsnode@tcp0 --mdt --index=0
/dev/sda
ossbarnode# mkfs.lustre --fsname=bar --mgsnode=mgsnode@tcp0 --ost --index=0
/dev/sdc
ossbarnode# mkfs.lustre --fsname=bar --mgsnode=mgsnode@tcp0 --ost --index=1
/dev/sdd

挂载客户端:

client# mount -t lustre mgsnode@tcp0:/foo /mnt/foo

client# mount -t lustre mgsnode@tcp0:/bar /mnt/bar

指定NID和Failover

查寻NID:

# lctl list_nids

下例中,mds0和mds1、oss0和oss1都被配置为Failover组合。IP地址分别为:

hostIP
mds0192.168.10.1
mds1192.168.10.2
oss0192.168.10.20
oss1192.168.10.21
mds0# mkfs.lustre --fsname=testfs --mdt --mgs --servicenode=192.168.10.2@tcp0 -–servicenode=192.168.10.1@tcp0 /dev/sda1

mds0# mount -t lustre /dev/sda1 /mnt/test/mdt

oss0# mkfs.lustre --fsname=testfs --servicenode=192.168.10.20@tcp0 --servicenode=192.168.10.21 --ost --index=0 
--mgsnode=192.168.10.1@tcp0 --mgsnode=192.168.10.2@tcp0 /dev/sdb

oss0# mount -t lustre /dev/sdb /mnt/test/ost0

client# mount -t lustre 192.168.10.1@tcp0:192.168.10.2@tcp0:/testfs /mnt/testfs

mds0# umount /mnt/mdt

mds1# mount -t lustre /dev/sda1 /mnt/test/mdt

mds1# lctl get_param mdt.testfs-MDT0000.recovery_status

擦除文件系统

擦除文件系统,永久删除所有信息:

$ "mkfs.lustre --reformat"

如果正在使用一个分离的MGS,想要去保存在MGS上定义的其他的文件系统,那么对于这个文件系统在MDT上设定 writeconf 标识。这个标识会造成配置日志被删除,将在下次系统重启是再生。

在MDT上设定 writeconf 标识:

1、卸载系统中所有客户端/服务器:

$ umount /mnt/lustre

2、永久删除文件系统,用另一个文件系统替换:

$ mkfs.lustre --reformat --fsname spfs --mgs --mdt --index=0 /dev/
{mdsdev}

3、如果现有一个分离的MGS(你不想去格式化的),在MDT上添加 –writconf 标识到 mkfs.lustre 命令中:

$ mkfs.lustre --reformat --writeconf --fsname spfs --mgsnode= mgs_nid --mdt --index=0 /dev/mds_device

回收预留的磁盘空间

在服务器节点上运行ldiskfs文件系统,默认,ldiskfs预留5%的磁盘空间以避免文件系统碎裂。在OSS上对于每个OST运行以下命令去回收空间:

tune2fs [-m reserved_blocks_percent] /dev/
{ostdev}

在运行这个命令之前或者重启之后,没有必要关闭Lustre。

 类似资料: