使用U盘救援模式修复xfs文件系统减容问题

之前尝试将root空间扩容,没有先去做准备知识,从home空间减容,然后将多的空间给root,结果home的文件系统是xfs,只能扩容不能减容,改完之后/home下的所有文件都是I/O错误,重启之后就进不去系统了,直接进入紧急模式,心想着重装是小事,home下的数据才是大事,记录下自己补救数据的方法

首先用U盘重新做一个启动盘,我的系统是centos7.9,这一步就不说了,最简单的一步。

做完启动盘后,机器插上U盘,进入U盘系统,先选Troubleshooting,再选Rescue installed system

进入之后按3进入shell

这一步就进入了U盘的救援系统,lvdisplay一下,你会发现电脑里存在之前的逻辑卷

lvm vgscan 查看系统中的逻辑卷组
lvm vgchange -ay

之后使用mount命令将逻辑卷挂载到本地文件夹就行了

可是我就是挂不上,显示超级块丢失

查了半天资料发现xfs文件系统不能减容只能扩容,你将xfs文件系统减容了,它要的blocks数还是之前的大小,但是多余的空间已经给了root,所以home这一块的文件系统就损坏了。这时可能有的人会想,那就把那一块空间还回来不就行了,还回来不就正好能满足home要的blocks数。确实,恢复到之前home的空间确实能恢复home,但是又有一个新问题。你把这块空间给了root,root可是增容了,你让它把这块空间吐出来可不容易,就跟home一样,xfs文件系统只能增容不能减容,减容只能减容后格式化才不会出现文件系统错误。这时就出现了很奇怪的解决方法,你把这块多了的空间给谁,谁就正常,给root root就正常,给home home就正常,谁缺谁文件系统就出错,但就是不能同时拥有

没法,只能备份后再格式化修复文件系统了

我的home文件比较多,所以我备份root的,然后格式化root,你也可以备份home然后格式化home

将这一块空间给root,root文件系统恢复正常,挂载到一个本地文件夹上

给空间这一步,就是通过不断使用lvresize来更改分区大小,挂载失败用dmesg | tail -20来看看报错信息,一般都是root需要多少blocks,但是只有多少blocks这样的错误,看差多少blocks,1blocks等于512bytes,自己算算,然后使用lvresize继续调整大小

使用xfsdump备份文件系统

这一步我是有一个2T的移动硬盘存放备份的文件,如果你没有,那么U盘空间大原系统文件少,U盘可以放的下,那也是木的问题的,要是U盘放不下,看看自己手边有啥存储介质可以放的了备份文件,或者删点不需要的东西,比如日志,不然没地方放备份文件的

xfsdump -f [备份存放路径文件名] [要备份的设备文件或挂载点]

xfsdump -f root.xfsdump /dev/centos/root

改变root所要的空间,将这部分空间还给home

lvresize -L [缩小的空间] /dev/centos/root

备份完格式化root

umount /dev/centos/root
mkfs.xfs -f /dev/centos/root

格式化后挂载root,使用xfsrestore恢复数据

xfsrestore –f [指定需要恢复的备份文件路径] [指定恢复后文件的存放路径]

xfsrestore -f root.xfsdump /dev/centos/root

将多的空间还给home,修复home空间

lvresize -L [空间] /dev/centos/home

这步完成后看root和home能不能同时挂载到本地文件夹中,如果可以,那么重启开机一般就可以进入系统了

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
Theme Argon
本网站自 2020-12-24 12:00:00 起已运行