首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >linux磁盘头数据损坏修复

linux磁盘头数据损坏修复

原创
作者头像
用户1685462
修改于 2021-09-06 10:31:05
修改于 2021-09-06 10:31:05
2.9K0
举报
文章被收录于专栏:网站教程网站教程

本次模拟 通过fdisk分区的磁盘头损坏,造成文件目录无法使用。 如果是asm磁盘,可通过asm相关命令进行修复

现有环境
代码语言:javascript
复制
[root@pgtest testdata]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/vg_firsouler-lv_root                      9.5G  7.1G  2.0G  79% /tmpfs                 996M   72K  996M   1% /dev/shm/dev/sda1             477M   42M  410M  10% /boot/dev/mapper/pgvg-lvpg                       19G  4.4G   14G  25% /pgdata/dev/sdc1             5.8G   12M  5.5G   1% /testdata[root@pgtest testdata]# lsanalyze_new_cluster.sh  gp2020.cfg  lost+found  ojdbc6.jar[root@pgtest testdata]#
破坏/dev/sdc1磁盘
代码语言:javascript
复制
[root@pgtest testdata]# cd /[root@pgtest /]# dd if=/dev/zero of=/dev/sdc1 bs=1024 count=88+0 records in8+0 records out8192 bytes (8.2 kB) copied, 0.00100304 s, 8.2 MB/s#再次查看,testdata目录下找不到文件 ,df -h也无法查看[root@pgtest /]# cd /testdata/[root@pgtest testdata]# ls[root@pgtest testdata]# cd /[root@pgtest /]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/vg_firsouler-lv_root                      9.5G  7.1G  2.0G  79% /tmpfs                 996M   72K  996M   1% /dev/shm/dev/sda1             477M   42M  410M  10% /boot/dev/mapper/pgvg-lvpg                       19G  4.4G   14G  25% /pgdata
尝试卸载后再次挂载
代码语言:javascript
复制
[root@pgtest /]# umount /testdata/[root@pgtest /]# mount /testdata/mount: wrong fs type, bad option, bad superblock on /dev/sdc1,       missing codepage or helper program, or other error       In some cases useful info is found in syslog - try       dmesg | tail  or so

如上所示,提示有问题。

通过fsck命令修复磁盘(注意,fstab需要有相关配置信息)
代码语言:javascript
复制
[root@pgtest /]# fsck /dev/sdc1fsck from util-linux-ng 2.17.2e2fsck 1.41.12 (17-May-2010)fsck.ext4: Superblock invalid, trying backup blocks.../dev/sdc1 was not cleanly unmounted, check forced.Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary informationFree inodes count wrong for group #0 (8181, counted=8178).Fix<y>? yesFree inodes count wrong (393205, counted=393202).Fix<y>? yes/dev/sdc1: ***** FILE SYSTEM WAS MODIFIED *****/dev/sdc1: 14/393216 files (0.0% non-contiguous), 60526/1572354 blocks[root@pgtest /]# mount /testdata/[root@pgtest /]# cd /testdata/[root@pgtest testdata]# lsanalyze_new_cluster.sh  gp2020.cfg  lost+found  ojdbc6.jar[root@pgtest testdata]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/vg_firsouler-lv_root                      9.5G  7.1G  2.0G  79% /tmpfs                 996M   72K  996M   1% /dev/shm/dev/sda1             477M   42M  410M  10% /boot/dev/mapper/pgvg-lvpg                       19G  4.4G   14G  25% /pgdata/dev/sdc1             5.8G   12M  5.5G   1% /testdata[root@pgtest testdata]#

修复完成后,文件系统正常。

附

fsck 工具介绍
  • -a:自动修复文件系统,不询问任何问题;
  • -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
  • -N:不执行指令,仅列出实际执行会进行的动作;
  • -P:当搭配"-A"参数使用时,则会同时检查所有的文件系统;
  • -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
  • -R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
  • -s:依序执行检查作业,而非同时执行;
  • -t<文件系统类型>:指定要检查的文件系统类型;
  • -T:执行fsck指令时,不显示标题信息;
lvm方式元数据修复
代码语言:javascript
复制
#备份文件位置ls -lrt /etc/lvm/backup/#查看vg创建信息vgcfgrestore --list vg_backup#查看损坏的pv信息pvscan#通过备份修复 pv元数据pvcreate  --uuid "9a2Lzl-B1Z0-zaR7-jgLj-9g72-u7PD-aYcjgh" --restorefile /etc/lvm/backup/vg_backup /dev/sdd#修复vg信息vgcfgrestore -f /etc/lvm/backup/vg_backup vg_backup#激活vg    vgscanvgchange -a y vg_test

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 现有环境
  • 破坏/dev/sdc1磁盘
  • 尝试卸载后再次挂载
  • 通过fsck命令修复磁盘(注意,fstab需要有相关配置信息)
  • 附
    • fsck 工具介绍
    • lvm方式元数据修复
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档