博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lustre 操作
阅读量:2525 次
发布时间:2019-05-11

本文共 3454 字,大约阅读时间需要 11 分钟。

通过卷标挂载

文件系统名字被限制到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/sdamdtfoonode# mkfs.lustre --fsname=foo --mgsnode=mgsnode@tcp0 --mdt --index=0/dev/sdbossfoonode# mkfs.lustre --fsname=foo --mgsnode=mgsnode@tcp0 --ost --index=0/dev/sdaossfoonode# mkfs.lustre --fsname=foo --mgsnode=mgsnode@tcp0 --ost --index=1/dev/sdbmdtbarnode# mkfs.lustre --fsname=bar --mgsnode=mgsnode@tcp0 --mdt --index=0/dev/sdaossbarnode# mkfs.lustre --fsname=bar --mgsnode=mgsnode@tcp0 --ost --index=0/dev/sdcossbarnode# mkfs.lustre --fsname=bar --mgsnode=mgsnode@tcp0 --ost --index=1/dev/sdd

挂载客户端:

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

指定NID和Failover

查寻NID:

# lctl list_nids

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

host IP
mds0 192.168.10.1
mds1 192.168.10.2
oss0 192.168.10.20
oss1 192.168.10.21
mds0# mkfs.lustre --fsname=testfs --mdt --mgs --servicenode=192.168.10.2@tcp0 -–servicenode=192.168.10.1@tcp0 /dev/sda1mds0# mount -t lustre /dev/sda1 /mnt/test/mdtoss0# 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/sdboss0# mount -t lustre /dev/sdb /mnt/test/ost0client# mount -t lustre 192.168.10.1@tcp0:192.168.10.2@tcp0:/testfs /mnt/testfsmds0# umount /mnt/mdtmds1# mount -t lustre /dev/sda1 /mnt/test/mdtmds1# 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。

转载地址:http://yworb.baihongyu.com/

你可能感兴趣的文章
HashMap的实现
查看>>
互斥锁 synchronized分析
查看>>
java等待-通知机制 synchronized和waity()的使用实践
查看>>
win10 Docke安装mysql8.0
查看>>
docker 启动已经停止的容器
查看>>
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>
函数式数据处理(一)--流
查看>>