环球简讯:误删Lustre后端文件系统数据的影响
2023-02-28 23:18:29 来源:腾讯云
概述
此次演练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
- 加快虚拟仿真实训基地建设 启动职业学校信息化建设试点很必要
- “双减”后如何在满足学生多样需求方面做“加法”?
- 处于生理活跃期且心理发展不成熟 高校开设公共卫生必修课很必要
- 价格低于相应蔬菜零售价 西安投放约1万吨政府储备蔬菜
- 深受年轻消费群体所青睐 国潮风商品成为年货新选择
知识
- 他把银行卡卖给骗子,“黑吃黑”“截胡”十万元
- “老司机”4S店试驾豪车 结果油门当刹车撞了
- 新开工改造城镇老旧小区5.34万个
- 发动巡河志愿者2万余名 “用心护好每一条河”
- 假客服的套路:伪装成大平台客服,层层布局引人上钩
人物
- 当前热门:小鲨易贷网贷逾期7个月征信有什么影响
- 通讯!业界:搭平台促交流 助力中国白酒走向世界
- 视讯!LPR连续四月不变 专家预计短期内仍将持稳
- 环球热资讯!57.5% 网友赞成,马斯克或将卸任 Twitter CEO
- 提钱花网贷逾期半年会不会上征信_速看料
- 育碧正在为其《星球大战》游戏寻找测试人员
- 世界杯的阿尔法之战
- 别受伤!浓眉篮下被小卡晃飞 空中失去重心后背着地 当前速讯
- 世界新资讯:中油测井多相位定向光纤避射技术填补空白
- 天天快资讯:中材科技: 董事会决议公告
- 每日热门:锦程消费金融的一股东想彻底退出
- 深南电A董秘回复:关于您提出的问题,现回复如下:公司目前的主营业务为天然气发电,未涉及到核聚变反应相关业务
- 热议:伯特利: 芜湖伯特利汽车安全系统股份有限公司章程(2022年12月修订)(更正后)
- 宝钢包装(601968)12月15日主力资金净买入24.60万元 今日播报
- 鸥玛软件董秘回复:截至11月30日,公司股票持有数量15,896户
- 铂力特: 西安铂力特增材技术股份有限公司监事会关于2020年限制性股票激励计划首次授予部分第二个归属及预留授予第一个归属期归属名单的核查意见 今日报
- 济源市人民法院:加强失信曝光、法律文书电子送达 全球新要闻
- 【机构调研记录】中海基金调研楚江新材、伟星新材等4只个股(附名单)
- 世界通讯!一边要路权,一边要停车,占路20余年车棚这样拆违腾路
- 环球热消息:独家资金:早盘主力买入前10股
- 免费可商用!荣耀HONOR Sans字体来了 附下载
- 在南洋与中文相遇(阅读时光)_短讯
- 源杰科技(688498)新股概览,12月12日开始网上申购-视焦点讯
- 中欣氟材董秘回复:谢谢您对本公司的关注,目前公司钠电池电解液添加液产品正在设计及设备订购等前期项目准备中
- 头条:英集芯(688209)12月7日主力资金净卖出490.52万元
- 股票行情快报:石化机械(000852)12月6日主力资金净卖出3954.17万元
- 浙江两轮核酸检测结果均为阴性 无新增本土阳性感染者
- 新疆阿克苏地区库车市发生4.1级地震 震源深度18千米
- 抵返哈尔滨人员须持48小时内核酸检测阴性证明
- 浙大紫金港校区已解封 有7337人有序离开该校区
- 2021年广东省第七届风筝锦标赛落幕
- 黑龙江讷河市启动全员核酸检测 目前讷河市全员核酸检测结果均为阴性
- 【同心粤港澳 携手大湾区】南头古城,搭建深港澳三地文化创意活动交流平台
- 重庆入河排污口整治工作推进至全市26个区县
- 四川省第二批政法队伍教育整顿:立案审查调查省级政法机关干警58人
- 长三角区域生态环境部门“云签约”长江大保护倡议书
- 古老长城重焕新生机
- 藏不住了!你同事里有许多“武林高手”……
- 浙江杭州2例无症状感染者系感染德尔塔变异株
- 喜马拉雅的深情和誓言
- 浪漫之城打造山海城一体新地标
- 让老年人更适应数字生活
- 内蒙古通辽市新增1例本土确诊病例、1例无症状感染者
- 徐州无新增确诊病例 核酸检测55515人结果均为阴性
- 甘肃培树“农家巧娘”增技能:返乡创业掌勺又“掌柜”
- 内蒙古通辽市科尔沁区一地调整为中风险地区
- 上海本轮疫情涉及闭环管理的医疗机构全面恢复门急诊
- 青年学生成艾滋病感染高发人群 “社会疫苗”如何打?
- 内蒙古满洲里新增本土确诊病例1例 当地开展第二轮大规模核酸检测
- 江西无新增本土确诊病例 上饶全面恢复正常生产生活秩序
精彩阅读
- 中老铁路上会四国语言的列车长:用心维护中老友谊的桥梁
- 海南首次发现有环志的世界极危鸟种勺嘴鹬
- 一场“网络劝生者”和“网络劝死者”的战役
- 内蒙古通辽新增本土确诊和无症状感染者各1例 轨迹公布
- 江西中烟工业有限责任公司原总经理姚庆艳接受审查调查
- 宁夏45例新冠肺炎确诊病例均已治愈出院
- 内蒙古通辽市科尔沁区发现2名初筛阳性人员
- 生活在闹钟里的丈夫:自己迟一秒,渐冻症妻子就会多一分疼
- 辽宁新冠肺炎确诊病例零新增
- 11月28日16-24时,内蒙古新增本土确诊病例1例
- 奥密克戎毒株为何“需要关注”?现有防疫工具还有效吗?
- 黑龙江新增本土无症状感染者1例
- 这辈子一定要去趟这个公园 在这里“有种爱叫放手”
- 那年今日 | 一张漫画涨知识之11月29日
- 寒潮预警!我国中东部迎大范围降温 黑龙江等地降幅可达12℃
- 冷空气继续影响我国中东部 华北黄淮等地有雾和霾天气

(资料图片)