超级块坏了的修复——实际上是坏了重做

今天给虚拟机上的/sirsi文件系统扩容,看下所在的vg是有空余pp(300G以上)的

但是:

unicorn:/ #chfs -a size=+300G /sirsi                               
chfs: 0506-945 The /dev/fslv00 JFS2 filesystem superblock is corrupted.
unicorn:/ #fsck -p /sirsi

The current volume is: /dev/fslv00
File system is currently mounted.
Unable to read primary superblock.
Unable to read either superblock.

根据度娘:http://www.loveunix.net/thread-58908-1-1.html

尝试,但是还是不行

unicorn:/ #dd count=1 bs=4k skip=31 seek=1 if=/dev/fslv00 of=/dev/fslv00
dd: 0511-051 The read failed.
: A system call received a parameter that is not valid.
0+0 records in.
0+0 records out.
unicorn:/ #fsck /dev/fslv00

The current volume is: /dev/fslv00
File system is currently mounted.
Unable to read primary superblock.
Unable to read either superblock.

最后没有办法,反正里边数据没用就想删除lv,但莫名其妙fsopen failed: There is a request to a device or address that does not exist.

经过一番折腾,最后varyoff datavg和exportvg都报错,但是又无法varyonvg,因为vg底下的lv全部是活动的无法umount,而在varyoffvg之前这之前又无法umount lv ,总之是死循环了,只好重启AIX

重启后/sirsi文件系统已经umount,并且所有lv都是关闭状态。

unicorn:/ #df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4          19.50      6.29   68%     5042     1% /
/dev/hd2          10.00      8.56   15%    32847     2% /usr
/dev/hd9var        9.75      9.49    3%     4386     1% /var
/dev/hd3           5.00      4.99    1%       64     1% /tmp
/dev/hd1           0.25      0.25    1%       10     1% /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt       0.25      0.15   42%     2232     7% /opt

unicorn:/ #lsvg -l datavg

datavg:

LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT

loglv00             jfs2log    1       1       1    closed/syncd  N/A

fslv00              jfs2       18608   18608   2    closed/syncd  /sirsi

fslv01              jfs2       306     306     1    closed/syncd  /fslv00

然后我关闭了vg,并且export一下

unicorn:/ #varyoffvg datavg

unicorn:/ #exportvg datavg

unicorn:/ #

在varyonvg之后很显然应该没法再varyon、以及对里边任何fs、lv下手了。
unicorn:/ #varyonvg datavg
0516-008 varyonvg: LVM system call returned an unknown
        error code (3).
unicorn:/ #rmfs /sirsi
rmfs: 0506-915 No record matching /sirsi was found in /etc/filesystems.
unicorn:/ #rmlv /dev/fslv01
Warning, all data contained on logical volume /dev/fslv01 will be destroyed.
rmlv: Do you wish to continue? y(es) n(o)? y
0516-306 getlvodm: Unable to find  /dev/fslv01 in the Device
        Configuration Database.
0516-912 rmlv: Unable to remove logical volume /dev/fslv01.

unicorn:/ #rmlv /dev/fslv00
Warning, all data contained on logical volume /dev/fslv00 will be destroyed.
rmlv: Do you wish to continue? y(es) n(o)? yes
0516-306 getlvodm: Unable to find  /dev/fslv00 in the Device
        Configuration Database.
0516-912 rmlv: Unable to remove logical volume /dev/fslv00.

此时再lsvg可以看到datavg已经不见了
unicorn:/ #lsvg
rootvg

此时观察pv,都是none,可以新做vg了。

unicorn:/ #savebase
unicorn:/ #lspv
hdisk0          00cb2ee577b260d8                    rootvg          active
hdisk1          00cb2ee5d8a4af69                    rootvg          active
hdisk2          00cb2ee53b98536b                    None           
hdisk3          00cb2ee5ca400c87                    None

————————————————————————————————————————————————————————————————

开始重新建vg      

————————————————————————————————————————————————————————————————


1,由于防止之前的pvid再ODM中没有刷新

因此,我

unicorn:/ # chdev -l hdisk2 -a pv=clear

hdisk2 changed

unicorn:/ # chdev -l hdisk3 -a pv=clear

hdisk3 changed

unicorn:/ #

2.为两块盘新建pvid

unicorn:/ #chdev -l hdisk3  -a pv=yes
hdisk3 changed
unicorn:/ #chdev -l hdisk2  -a pv=yes
hdisk2 changed
unicorn:/ #

3.新建vg,但是报这两个pv在被vg占用,尼玛之前的datavg我都清了还占用个毛线?查了一下被哪个vg占用,却得到一堆天书??

unicorn:/ #mkvg -y datavg hdisk2 hdisk3
0516-1398 mkvg: The physical volume hdisk2, appears to belong to
another volume group. Use the force option to add this physical volume
to a volume group.
0516-1398 mkvg: The physical volume hdisk3, appears to belong to
another volume group. Use the force option to add this physical volume
to a volume group.
0516-862 mkvg: Unable to create volume group.

unicorn:/ #lqueryvg -p hdisk2
512
24
19482
3
2
3
0
32512
4
1
1
0
0
38397
128
0
0
0
0
0
16128

艹,难道之前删除的datavg还阴魂不散?

unicorn:/ #reducevg -d datavg hdisk2
0516-306 getlvodm: Unable to find volume group datavg in the Device
        Configuration Database.
0516-882 reducevg: Unable to reduce volume group.
unicorn:/ #man lqueryvg
Manual entry for lqueryvg not found or not installed.

我不管了,我force行吗?别问我后果是啥

unicorn:/ #mkvg -f -y datavg hdisk2 hdisk3

datavg

unicorn:/ #lsvg

rootvg

datavg

unicorn:/ #lsvg datavg

VOLUME GROUP:       datavg                   VG IDENTIFIER:  00cb2ee500004c000000014d1cf537ea

VG STATE:           active                   PP SIZE:        512 megabyte(s)

VG PERMISSION:      read/write               TOTAL PPs:      1198 (613376 megabytes)

MAX LVs:            256                      FREE PPs:       1198 (613376 megabytes)

LVs:                0                        USED PPs:       0 (0 megabytes)

OPEN LVs:           0                        QUORUM:         2 (Enabled)

TOTAL PVs:          2                        VG DESCRIPTORS: 3

STALE PVs:          0                        STALE PPs:      0

ACTIVE PVs:         2                        AUTO ON:        yes

MAX PPs per VG:     32512

MAX PPs per PV:     1016                     MAX PVs:        32

LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no

HOT SPARE:          no                       BB POLICY:      relocatable

unicorn:/ #

美呢,进去了

unicorn:/ #lsvg -p datavg
datavg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk2            active            399         399         80..80..79..80..80
hdisk3            active            799         799         160..160..159..160..160

创建文件系统

unicorn:/ #crfs -v jfs2 -g datavg -m /sirsi  -a size=550G -a agblksize=2048 -a logname=INLINE
File system created successfully.
576118228 kilobytes total disk space.
New File System size is 1153433600

mount上,并且修改开机自动挂载

#mount /sirsi

#vi /etc/filesystems

******省略前边*******

/sirsi:
        dev             = /dev/fslv00
        vfs             = jfs2
        log             = INLINE
        mount           = automatic
        account         = false

O了~喝乌鸡汤去了~


unicorn:/etc #df -g

Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on

/dev/hd4          19.50      6.29   68%     5036     1% /

/dev/hd2          10.00      8.56   15%    32847     2% /usr

/dev/hd9var        9.75      9.49    3%     4385     1% /var

/dev/hd3           5.00      4.99    1%       64     1% /tmp

/dev/hd1           0.25      0.25    1%       10     1% /home

/proc                 -         -    -         -     -  /proc

/dev/hd10opt       0.25      0.15   42%     2232     7% /opt

/dev/fslv00      550.00    549.29    1%        4     1% /sirsi

时间: 2024-08-29 21:36:51

超级块坏了的修复——实际上是坏了重做的相关文章

Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块

Linux 文件系统错误的修复方法  ddrescue替代dd的恢复软件  备用超级块 最近处理的一件 linux 服务器断电导致文件系统启动后文件系统不可读写,数据不可用的案例,现总结下 Linux 文件系统错误的修复方法.EXT3-fs error (device hda3) in start_transaction: Journal has abortedIf your system abruptly loses power, or if a RAID card is beginning

linux操作系统故障处理-ext4文件系统超级块损坏修复

背景 前天外面出差大数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第二天回来后我和同事再次去机房检查,发现两台服务器都显示superblock的报错,经过一番处理后两台服务器都正常进系统了,现决定重现superblock故障并将此类问题故障处理思路写下来方便后面新同事参考. 硬盘的结构 硬盘的物理结构侧视图和俯视图,这两张图传递出来的比较重要的信息如下: 磁盘划分为磁头(Head),柱面(Cylinder),扇区(Sector) 磁头:每个磁片正反两面各

ext2文件系统中的超级块及对应代码

在进行分区时,每个分区就是一个文件系统,而每个文件系统开始位置的那个块就称为超级块.超级块的作用是存储文件系统的大小.空的和填满的块,以及它们各自的总数和其他诸如此类的信息.这也就是说,要使用这一个分区来进行数据访问时,第一个要经过的就是超级块,所以超级块坏了,这个磁盘也就回天乏术了. super block的中文名称是超级块,它是硬盘分区开头--开头的第一个byte是byte 0,从 byte 1024开始往后的1024 bytes. 超级块中的数据其实就是文件卷的控制信息部分,也可以说它是卷

文件系统VFS数据结构(超级块 inode dentry file)(收集整理)

Linux虚拟文件系统四大对象: 1)超级块(super block) 2)索引节点(inode) 3)目录项(dentry) 4)文件对象(file) 一个进程在对一个文件进行操作时各种对象的引用过程如下: 通过task_struct得到files_struct,然后通过文件描述符(int fd)获得相应的文件对象(file **fd),接下来获得目录项对象(dentry),最后得到索引节点对象(inode),该对象就包括具体操作该文件的相关操作,这些操作是从超级对象块中继承而来的.它与具体的

ext系统的超级块

什么是超级块 如果说inode块是Linux操作系统中文件的核心,那么超级块就是文件系统的心脏.启动Lnux操作系统后,发现某个文件系统无法使用,很有 可能就是超级块出现了问题.为什么这个超级块有这么大的作用呢?主要是因为在超级块中保存了全局文件信息,如硬盘已用空间.数据块可用空间.inode结 点信息等等.做一个形象的比喻,这个超级块就好像是企业的资产负债表,一个文件系统中有哪些资源都记录在这个表中.超级块保存在第一个块组内,并在其他块组留有备份. ext系统查看超级块信息 例: dumpe2

案例:Oracle exp dmp文件存在坏块并损坏 使用CPFL跳过坏块并成功导入恢复

Oracle数据库exp导出dmp文件损坏存在坏块/corruption通过CPFL工具跳过dmp坏块进发导入 在有些情况下,大家都知道通过dul可以恢复损坏的dmp文件的表的数据,但是该方法有很多问题,特别是对很多数据类型的支持不够完美,比如lob,long raw类型等,而且还有可能恢复出来数据大量丢失,本人通过对dmp结构的分析,使用使用一些特殊的技巧方法,可以实现对于损坏的dmp文件,通过跳过异常坏块所在表,继续恢复后续表,从而最大程度减少损坏 1.创建Oracle测试表 SQL> co

目录、目录项、超级块、索引节点、文件

unix中,文件系统被安装在一个特定的安装节点上,该安装点在全局层次结构中被称为命名空间,所有已安装的文件系统都作为根文件系统树的枝叶出现在系统中.本质讲,文件系统是特殊的数据分层存储结构,包含文件.目录和相关的控制信息. 目录: 1.作用:文件是通过目录组织起来的,目录相当于文件夹,用来容纳对应的文件 2.一个例子: /home/csj/1.c 什么是目录,分析一下上面的例子. 根目录 / 这个名词应该都不陌生,后面的 home表示家目录,csj也表示目录,最后的1.c表示一个程序文件 3.上

以下模块打印出超级块中某些字段的内容

以下模块打印出超级块中某些字段的内容. #include <linux/module.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/list.h> #include <linux/spinlock.h> #include <linux/kdev_t.h> #define SUPER_BLOCKS_ADDRESS 0xc048db0c // from /

u盘坏了怎么修复,丢失文件如何找回

u盘坏了怎么修复,丢失文件如何找回?U盘使用频率过多的情况下会出现损坏的情况,那么各位知道怎么去修复一个损坏的U盘吗?损坏后的U盘是使用不了的,那么损坏的U盘怎么修复呢? U盘出现了损坏的情况,很容易的也导致相关的数据出现丢失的情况,所以需要及时的将U盘修复完成,另外出现了文件丢失的情况也要将丢失的文件找回,下面就让小编来教各位如何修复U盘以及找回文件吧. 一:修复U盘 1.U盘损坏的最直接的原因是文件系统损坏.对此常用的方法是对磁盘进行修复.右击"可移动磁盘",从弹出的右键菜单中选择