Fsck vxfs问题

6637阅读 0评论2012-11-08 风之幻想
分类:系统运维

# fsck -F vxfs -o full,nolog /dev/vx/rdsk/dg02/vol01
fileset 1 primary-ilist inode 65 has invalid block map
fileset 1 primary-ilist inode 65 has invalid block map
no valid ILISTs for fileset 999
UX:vxfs fsck: ERROR: cannot initialize aggregate
file system check failure, aborting ...


操作系统:solaris 7
Vxfs 3.4
A5200,5*73GB
硬盘做成一个raid5

#echo "8192B.p S" | fsdb -F vxfs /dev/vx/rdsk/dg02/vol01

super-block at 00000001.0000
magic a501fcf5  version 4
ctime 1024024705 630275  (Fri Jun 14 11:18:25 2002 CDT)
log_version 9 logstart 0  logend 0
bsize  8192 size  17780992 dsize  17780992  ninode 0  nau 0
defiextsize 0  oilbsize 0  immedlen 96  ndaddr 10
aufirst 0  emap 0  imap 0  iextop 0  istart 0
bstart 0  femap 0  fimap 0  fiextop 0  fistart 0  fbstart 0
nindir 2048  aulen 32768  auimlen 0  auemlen 1
auilen 0  aupad 0  aublocks 32768  maxtier 15
inopb 32  inopau 0  ndiripau 0  iaddrlen 1   bshift 13
inoshift 5  bmask ffffe000  boffmask 1fff  checksum e434c629
free 834125  ifree 0
efree  411469 127916 41706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
flags 1 mod 0 clean 3c
time 1166419090 148035  (Mon Dec 18 13:18:10 2006 CDT)
oltext[0] 12  oltext[1] 1028  oltsize 1
iauimlen 1  iausize 4  dinosize 256
  checksum2 518
checksum3 0

 

手册上有这么一段:
File System Response to Problems
When the file system encounters problems, it responds in one of three ways:
• marks an inode bad
• disables transactions
• disables the file system

Marking an Inode Bad
Inodes can be marked bad if an inode update or a directory-block update fails.
In these types of failures, the file system doesn’t know what information is on
the disk, and considers all the information that it finds to be invalid. After an
inode is marked bad, the kernel still permits access to the file name, but any
attempt to access the data in the file or change the inode fails.

Disabling Transactions
If the file system detects an error while writing the intent log, it disables
transactions. After transactions are disabled, the files in the file system can still
be read or written, but no block or inode frees or allocations, structural
changes, directory entry changes, or other changes to metadata are allowed.

Disabling the File System
If an error occurs that compromises the integrity of the file system, VxFS
disables itself. If the intent log fails or an inode-list error occurs, the superblock
is ordinarily updated (setting the VX_FULLFSCK flag) so that the next
fsck does a full structural check. If this super-block update fails, any further
changes to the file system can cause inconsistencies that are undetectable by
the intent log replay. To avoid this situation, the file system disables itself.

Recovering a Disabled File System
When the file system is disabled, no data can be written to the disk. Although
some minor file system operation still work, most simply return EIO. The only
thing that can be done when the file system is disabled is to do a umount and
run a full fsck.
Although a log replay may produce a clean file system, do a full structural
check to be safe. To do a full structural check, enter:

# fsck -F vxfs -o full -y /dev/rdsk/c1t0d0s1

The file system usually becomes disabled because of disk errors. Disk failures
that disabled a file system should be fixed as quickly as possible (see
fsck_vxfs(1M)).

 

#fsck -F vxfs -n /dev/vx/rdsk/dg02/vol01 | grep "marked bad"

UX:vxfs fsck: ERROR: cannot initialize aggregate

 

输出结果如下:


super-block at 00000001.0000
magic a501fcf5  version 4
ctime 1024024705 630275  (Fri Jun 14 11:18:25 2002 CDT)
log_version 9 logstart 0  logend 0
bsize  8192 size   ...
...
flags 1 mod 0 clean 3c
...

flags "1" 意思是 "full fsck required"

no valid ILISTs for fileset 999 (incident 45311 refers)

On file systems created prior to VERITAS File System (VxFS) 3.3.2, if the primary inode list grows beyond 2 Gbytes, fsck may fail with the errors listed above.  This problem has been reported as incident 45311.  It is caused by VxFS not setting the largefiles flag on the structural fileset.  The fsck included in VxFS 3.4 and later will handle this situation.  A point patch is available for VxFS 3.3.3 patch 01 running on Solaris 2.6, 7 and 8.  Please contact VERITAS Technical Support for more information on this point patch.

(VERITAS Incident Number 45311):  

WARNING:     Incident 45311 is NOT fixed in VxFS 3.3.3 Patch01.  Original publication of this TechFile listed Incident 45311 as fixed in VxFS 3.3.3 Patch01.   Fix for incident 45311 never made it to Patch01.  It is,  however,  fixed in VxFS 3.4 and above.  If it is not possible to upgrade to VxFS 3.4,  then there is also a workaround.  The workaround is to use a modified fsck binary for Solaris 2.6 and 7 only.  Please contact VERITAS Technical Support to request fsck binary.

An "invalid size" error for the ilist inodes is displayed while running a full fsck on a VxFS file system that has grown beyond 2 gigabytes in size. This may prevent the file system from being mounted. Because the largefiles flag on the primary fileset was not set automatically, the error reported that the primary inode had an invalid size. This is a corner case situation that can occur after a VxFS upgrade from a previous version of VxFS that did not use the largefiles flag and the inode structural file had exceeded 2 gigabytes.

上一篇:VCS双机改主机名
下一篇:solaris ftp慢的问题解决