首页>动态>正文
误删Lustre后端文件系统数据的影响-全球热议
2023-03-05 09:06:21    来源:腾讯云

概述

此次演练Lustre文件系统中ldiskfs-osd后端存储上的对象被删除后,Lustre文件系统的表现。核心演练两个场景,一个是MDS中的ldiskfs中的ROOT中文件被删除;另外一个是OST中的文件对象被删除。Lustre MDS通过mount -t ldiskfs /dev/sdb /mnt/mdt挂载后端存储后,此次我们关注ROOT目录,ROOT目录是所有Lustre文件系统客户端看到的统一的posix的视图,在这个目录里操作对应的Lustre内部对象Lustre OST通过类似的方法挂载后端存储,这里我们关注O/0目录,这个目录存储了Lustre文件系统的数据的分片,我们会找到写入文件的分片位置,来操作O/0下面的分片数据。

Lustre环境

节点

IP地址

磁盘


(资料图)

Lustre 版本

Lustre-MGS-MDS

192.168.28.129

sdb

2.15.2

Lustre-OST1

192.168.28.50

sdb

2.15.2

Lustre-OST2

192.168.28.34

sdb

2.15.2

Lustre-Client

192.168.28.189

sdb

2.15.2

场景模拟

数据准备

// 查看挂载点[root@Lustre-Client ~]$ df -h |grep bigfs192.168.28.129@tcp:/bigfs   251G  2.5M  238G   1% /mnt/bigfs// 创建data1、data2文件[root@Lustre-Client ~]$ cp anaconda-ks.cfg  /mnt/bigfs/data1[root@Lustre-Client ~]$ cp anaconda-ks.cfg  /mnt/bigfs/data2[root@Lustre-Client /mnt/bigfs]$ ls -ltotal 8-rw-------. 1 root root 1094 Feb  6 17:53 data1-rw-------. 1 root root 1094 Feb  6 17:53 data2// 获取布局信息,lustre默认的选择OST的策略是RR模式,会轮训选择OST进行数据写入// 文件的位于 ost index={obdidx},O/{group}/d{{objid}%32}/{obdidx}文件[root@Lustre-Client ~]$  lfs getstripe  -v /mnt/bigfs/*/mnt/bigfs/data1lmm_magic:         0x0BD10BD0lmm_seq:           0x200000401lmm_object_id:     0x1lmm_fid:           [0x200000401:0x1:0x0]lmm_stripe_count:  1lmm_stripe_size:   1048576lmm_pattern:       raid0lmm_layout_gen:    0lmm_stripe_offset: 2        obdidx           objid           objid           group             2               2            0x2                0/mnt/bigfs/data2lmm_magic:         0x0BD10BD0lmm_seq:           0x200000401lmm_object_id:     0x2lmm_fid:           [0x200000401:0x2:0x0]lmm_stripe_count:  1lmm_stripe_size:   1048576lmm_pattern:       raid0lmm_layout_gen:    0lmm_stripe_offset: 1        obdidx           objid           objid           group             1               2            0x2                0

删除MDS下ROOT目录文件

Lustre客户端数据数据初始化后,可以在MDS后端文件系统挂载后查看ROOT目录,这个目录中文件名称对应的是客户端每个写入文件的文件名称,大小都是0;对于目录大小为4k.在MDS端删除ROOT下面对象后,Lustre客户端是找不到这个文件,也就是这个文件对应的元数据信息在MDS端丢失,但是这些文件对应的OST上的数据分片也会被清理掉删除MDS端ROOT中的目录
// 数据初始化后,ROOT目录里的数据和客户端看到的保持一致[root@Lustre-MGS-MDS ~]$ df -h |grep mnt/dev/sdb                     73G  5.6M   67G   1% /mnt/mdt[root@Lustre-MGS-MDS ~]$ cd /mnt/mdt/ROOT/[root@Lustre-MGS-MDS /mnt/mdt/ROOT]$ ls -l -1htotal 0-rw-------. 1 root root 0 Feb  6 17:53 data1-rw-------. 1 root root 0 Feb  6 17:53 data2// 删除ROOT下所有的文件,MDS端未做sync [root@Lustre-MGS-MDS ~]$ rm -rf /mnt/mdt/ROOT/*[root@Lustre-MGS-MDS ~]$ ls -l /mnt/mdt/ROOT/total 0// 客户端缓存依旧可以看到[root@Lustre-Client ~]$ ls -l /mnt/bigfs/total 8-rw-------. 1 root root 1094 Feb  6 17:53 data1-rw-------. 1 root root 1094 Feb  6 17:53 data2// mds端执行sync操作[root@Lustre-MGS-MDS ~]$ cd /mnt/mdt/ROOT/[root@Lustre-MGS-MDS /mnt/mdt/ROOT]$ sync// mds端sync后,客户端显示data1和data2不存在;但是仅仅是这2个文件受影响。[root@Lustre-Client /mnt/bigfs]$ ls -lls: cannot access "data2": No such file or directoryls: cannot access "data1": No such file or directorytotal 0-????????? ? ? ? ?            ? data1-????????? ? ? ? ?            ? data2[root@Lustre-Client /mnt/bigfs]$ cat data1cat: data1: No such file or directory[root@Lustre-Client /mnt/bigfs]$ cat data2cat: data2: No such file or directory// 客户端重新挂载后,MDS的ROOT目录中删除的对象已经在客户端消失[root@Lustre-Client ~]$ umount /mnt/bigfs [root@Lustre-Client ~]$ mount -t lustre Lustre-MGS-MDS@tcp0:/bigfs /mnt/bigfs[root@Lustre-Client ~]$ cd /mnt/bigfs/[root@Lustre-Client /mnt/bigfs]$ ls -ltotal 0// MDS端删除ROOT下目录后,对应的OST上的数据也会被清除,OST1上已经找不到data1这个文件的数据了[root@Lustre-OST1 ~]$ cd /mnt/ost1/O/0[root@Lustre-OST1 /mnt/ost1/O/0]$ lsd0  d1  d10  d11  d12  d13  d14  d15  d16  d17  d18  d19  d2  d20  d21  d22  d23  d24  d25  d26  d27  d28  d29  d3  d30  d31  d4  d5  d6  d7  d8  d9  LAST_ID[root@Lustre-OST1 /mnt/ost1/O/0]$ cd d2[root@Lustre-OST1 /mnt/ost1/O/0/d2]$ ls[root@Lustre-OST1 /mnt/ost1/O/0/d2]$ ls -l total 0// OST2上已经也找不到data2这个文件数据了[root@Lustre-OST2 ~]$ cd /mnt/ost2/O/0[root@Lustre-OST2 /mnt/ost2/O/0]$ cd d2[root@Lustre-OST2 /mnt/ost2/O/0/d2]$ ls[root@Lustre-OST2 /mnt/ost2/O/0/d2]$ ls -l -1htotal 0[root@Lustre-OST2 /mnt/ost2/O/0/d2]$

删除OST下O/0数据分片

OST上的文件对应的数据分片删除后,Lustre客户端访问这些文件的元数据都不存在任何的问题,但是访问OST上的实际数据就会进程卡主的问题但是不会影响到整个文件系统的使用,针对这种情况就需要定期备份磁盘或者基于Lustre Changelog写个客户端的服务消费数据变化来备份数据。
// 客户端写入两个文件demo1和demo2[root@Lustre-Client ~]$ cp anaconda-ks.cfg  /mnt/bigfs/demo1.txt[root@Lustre-Client ~]$ cp anaconda-ks.cfg  /mnt/bigfs/demo2.txt[root@Lustre-Client ~]$ cd /mnt/bigfs/// 发起sync命令同步元数据和数据到mds和ost[root@Lustre-Client /mnt/bigfs]$ sync// 查看demo1和demo2的布局[root@Lustre-Client /mnt/bigfs]$ lfs getstripe  -v ./(Default) ./lmm_fid:           [0x200000007:0x1:0x0]stripe_count:  1 stripe_size:   1048576 pattern:       0 stripe_offset: -1.//demo2.txtlmm_magic:         0x0BD10BD0lmm_seq:           0x200000403lmm_object_id:     0x2lmm_fid:           [0x200000403:0x2:0x0]lmm_stripe_count:  1lmm_stripe_size:   1048576lmm_pattern:       raid0lmm_layout_gen:    0lmm_stripe_offset: 2        obdidx           objid           objid           group             2               4            0x4                0.//demo1.txtlmm_magic:         0x0BD10BD0lmm_seq:           0x200000403lmm_object_id:     0x1lmm_fid:           [0x200000403:0x1:0x0]lmm_stripe_count:  1lmm_stripe_size:   1048576lmm_pattern:       raid0lmm_layout_gen:    0lmm_stripe_offset: 1        obdidx           objid           objid           group             1               3            0x3                0// 查看ost2上的demo2.txt数据[root@Lustre-OST2 ~]$ cd /mnt/ost2/O/0/d4[root@Lustre-OST2 /mnt/ost2/O/0/d4]$ ls4[root@Lustre-OST2 /mnt/ost2/O/0/d4]$ cat 4#version=RHEL8# Use graphical installgraphical/*********忽略剩余内容显示*****/// 删除这个文件对象,但是MDS端的依旧存在[root@Lustre-OST2 /mnt/ost2/O/0/d4]$ rm -rf 4[root@Lustre-OST2 /mnt/ost2/O/0/d4]$ sync// 客户端清除pagecache[root@Lustre-Client /mnt/bigfs]$ echo 1 > /proc/sys/vm/drop_caches[root@Lustre-Client /mnt/bigfs]$ sync// 查看demo2.txt的元数据依旧就可以正常访问[root@Lustre-Client /mnt/bigfs]$ stat demo2.txt   File: demo2.txt  Size: 1094            Blocks: 8          IO Block: 4194304 regular fileDevice: a51ef1a0h/2770268576d   Inode: 144115205306056706  Links: 1Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)Context: unconfined_u:object_r:unlabeled_t:s0Access: 2023-02-06 18:31:41.000000000 -0500Modify: 2023-02-06 18:24:07.000000000 -0500Change: 2023-02-06 18:24:07.000000000 -0500 Birth: 2023-02-06 18:24:07.000000000 -0500[root@Lustre-Client /mnt/bigfs]$ ls -l demo2.txt -rw-------. 1 root root 1094 Feb  6 18:24 demo2.txt// 访问demo2.txt直接卡主[root@Lustre-Client /mnt/bigfs]$ cat demo2.txt ^C// 查看进程后通过kill是无法停止,这个卡主仅仅是影响单个文件的数据读取,并不影响整个客户端的情况[root@Lustre-Client /mnt/bigfs]$ ps -ef|grep catroot        2041    1746  0 18:31 pts/1    00:00:00 cat demo2.txtroot        2065    1476  0 18:35 pts/0    00:00:00 grep --color=auto cat[root@Lustre-Client /mnt/bigfs]$ kill -9 2041[root@Lustre-Client /mnt/bigfs]$ ps -ef|grep catroot        2041    1746  0 18:31 pts/1    00:00:00 cat demo2.txtroot        2067    1476  0 18:35 pts/0    00:00:00 grep --color=auto cat

思考

如果MDS对应的后端存储已经把inode占满导致MDS不可用,如何进行恢复?如果OST上的文件的数据分片所消耗的inode资源超过系统最大限制,导致OST不可用如何进行恢复?

关键词: Unix

误删Lustre后端文件系统数据的影响-全球热议

概述此次演练Lustre文件系统中ldiskfs-osd后端存储上的对象被删除后2023-03-05

天天快看:感动中国丨把山里娃送上冬奥舞台 她用坚守回报生养过她的土地

二十一年,我们初心未改! 2022年,又有哪些人感动着我们? 中国人的年度精神史诗! 《感动中国》 一个个感人至深的故事, 照亮我们前行的道路2023-03-05

十二单词怎么写_十二单_焦点快看

你们好,最近小活发现有诸多的小伙伴们对于十二单词怎么写,十二单这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看2023-03-04

2021年大年初一短信祝福语

1、愿你新年365天,日行千里路,夜伴美人眼,天天开心活,时时快乐过,分分都精彩,秒秒都快乐!身体安康,事业有成,马到功成!2、闭上眼睛,2023-03-04

个人养老金账户有什么用?个人养老金账户能取出来吗?

个人养老金账户有什么用?个人养老金账户能取出来吗?下面跟社保网小编一起来看看个人养老金账户如何查询?一、个人养老金账户有什么用个人养2023-03-04

新车丨长城金刚炮AT版正式上市 售价9.78-12.08万元-当前热讯

3月2日,全新长城金刚炮(图片|配置|询价)AT版车型正式上市,新车售价区间为9 78-12 08万元。动力系统上,与原有车型不同,新车在2 0T汽油、柴油发动2023-03-04

深圳地铁8号线站点一览表_深圳地铁8号线|全球热消息

1、因为深圳地铁2号线和8号线贯通之后,届时市民搭乘2号线可直达盐田,全程无需换乘。2、2号线和8号线的采用的是双线贯通2023-03-03

天天速递!常熟有房能申请苏州市区积分入学吗

常熟有房能申请苏州市区积分入学吗?答:可以。在苏州县市(含张家港市、常熟市、太仓市、昆山市)购房,只要符合市区积分入学申请条件的,可以2023-03-03

山东将在23个县域医共体试点“统一药品采购” 当前信息

齐鲁网·闪电新闻3月2日讯省政府新闻办2日下午召开新闻发布会,介绍助推药品产业高质量发展措施,解读《关于创新监管促进药2023-03-02

精选!南凌科技(300921)3月1日主力资金净买入352.56万元

截至2023年3月1日收盘,南凌科技(300921)报收于21 88元,上涨5 19%,换手率11 66%,成交量7 17万手,成交额1 56亿元。2023-03-02

全球热消息:长度单位有哪些从小到大排列_长度单位有哪些

1、常用长度单位有毫米(mm)、厘米(cm)、分米(dm)、千米(km)、米(m)、微米(μm)、纳米(nm)等等。长度2023-03-02

跟人争吵、打架时身体会“发抖”,说话不利索,脸红,是病吗?_快看

导语:在人们现如今的生活当中,与他人进行争吵或者是吵架,这或许是非常常见的一件事,有的时候甚至会发展到打架的地步。其实有的时候也不是2023-03-02

windows7怎么提高运行速度_win7怎么提高电脑运行速度-当前焦点

1、一、每天关机前要做的清洗:双击“我的电脑”→右键点C盘→点“属性”→点“磁盘清理”→点“确定”→再点“是”→再点“确2023-03-01

观点:marks是什么意思_marks

1、marks英[mɑ:rks]美[mɑ:rks]n 痕迹(mark的名词复数);记号;(品质或情感的)标2023-03-01

机械革命预热新品轻薄本,搭载 R7 7735HS 天天信息

IT之家3月1日消息,机械革命今日预告了最新款轻薄本,搭载R77735HS处理器,将在不久后上市。据官方介2023-03-01

大陆沿海最发达的江浙沪要赶上台湾,估计还要十几年?:环球观焦点

本只想躺在沙发上看看文章和评论,不想说话,但你这种反智言论气到我了,让我不得不说!你说:“大陆沿海最发达的江苏浙江上海2023-03-01

全球消息!【迁西好网民】为家乡特产穿“新衣”

独具特点3D吉祥物、百变表情包、多样文创衍生品……对于广西师范大学2022届动画专业大学毕业生张琪晗来说,这个毕业设计既2023-03-01

AMX生科美肌

1、AMX生科美肌中文翻译为活性微型草本氨基酸复合物。2、是一种经过10年时间研发成功的生物制剂。3、亦取得专利注册2023-03-01

中兴n909三网破解刷机包_中兴n909刷安卓4.4

1、中兴N909是中兴在2013年发布的一款性价比很高的安卓手机。它不仅拥有高通双核cpu,还拥有1G内存和500W像素2023-03-01

环球百事通!岛国:玩的太变态了,人妻直播遭公公突狂摸非礼,内容不输AV画面

岛国:玩的太变态了,人妻直播遭公公突狂摸非礼,内容不输AV画面,av,摸胸,巴掌,岛国,人妻直播2023-03-01

无尽武装沈奕血统,天赋,异能,功法是什么 全球速看料

1、沈奕圣龙,温柔血天使,金刚高级神魔。2、洪浪杀戮之王,吴昊火熖巨魔,周宣羽恶灵骑士沈奕∶他拥有高级圣2023-03-01

生菜的营养价值及功效_生菜有什么价值 每日热议

欢迎观看本篇文章,小升来为大家解答以上问题。生菜的营养价值及功效,生菜有什么价值很多人还不知道,现在让我们一起来看看吧!2023-03-01

首次搬上芭蕾舞台!上芭原创《剧院魅影》5月首演 吴虎生挑战戴面具跳舞

原创芭蕾舞剧《剧院魅影》排练现场东方网记者包永婷3月1日报道:上海芭蕾舞团原创芭蕾舞剧《剧院魅影》将于5月11日至14日在上海国际舞蹈中心大2023-03-01

塔吊证怎么考、在哪里可以考_考塔吊证去哪里考

1、塔吊证应到当地人民政府建设主管部门办理,不收费。塔吊证属于特种作业操作证。特种作业证件至少有安监总局、质检总局、建设2023-03-01

痰培养怎么取痰_痰培养

1、如果简单的说来就是做痰菌培养,是分辨验证的性质,在临床中可用抗菌素最佳。2、现在疾控中心在免费检查肺结核时也做痰菌培2023-03-01