sa239学习笔记之二管理文件系统( 二 )



fstyp -v /dev/rdsk/c0t0d0s0 | head -10

如果想修改此参数,可用以下命令:
tunefs -m 1 /dev/rdsk/c1t3d0s0


四、用fsck来检查UFS文件系统:
由于断电,内核软件错误,硬件错误,不正当关机所致的系统文件损坏或不一致,可用fsck来修复;

警告: 千成不要用fsck来检查已经mount上的目录,这会导致系统不可用或数据丢失;如果想fsck / /var /usr等目录的话,要转换到单用户模式;

提示 – The status of a file system"s state flag determines whether the file
system needs to be scanned by the fsck command. When the state flag is
“clean,” “stable,” or “logging,” file system scans are not run.

fsck检查系统的不一致性:

超级块的一致性: involving such parameters as file system size, free block count, and free inode count.
柱面组块的一致性: 未分配的数据块的数量,未分配的inode的数;

inode 的一致性: the state of inode ,the link count, duplicate blocks, bad blocks, the inode size, and the block count for each inode.
任何未分配而有非0的引用计数的的inode会被链接到文件系统的lost found目录中 。

数据块的一致性:fsck不会检测普通的数据块 , 但它会查检目录数据块 。在目录数据块中 , fsck命令检测inode是否指向未分配的块 , 未分配而已标记为使用的块 , 已分配而标记为空闲的块与未链接到文件系统中的目录 。这些目录被链接回文件系统的lost found目录中 。

lost found路径: fsck命令就把那些已经分配,但还未被引用的目录和文件放到lost found路径下;
如果没lost found路径.,那么fsck创建,如果lost found路径空间不够,那么fsck进行扩充.

非交互模式(Noninteractive Mode):在系统正常启动时,fsck处于Noninteractive Mode,我们通常称其为:preen, or silent mode.非交互模式下只进行较少的错误判断,修复,如果fsck发现较多的不一致时,会请请求root进行单用户模式进行交互式fsck.
交互模式: fsck会显示每个它遇到的问题,会建议修复,让root回答yes or no,

例如: fsck /dev/rdsk/c0t0d0s7 检测没有在/etc/vfstab的文件系统,

fsck /export/home 根据mount目录来检测.

fsck -o f,p /dev/rdsk/c0t0d0s5 -o参数与其它参数合用;f(force强迫)p(preen整理)

五、恢复文件系统:

可用fsck对文件系统进行恢复:

Allocated unreferenced file(分配的但引用的)
Inconsistent link count(不一致的链接数)
Free block count corruption(自由块坏掉)
Superblock corruption(超级块坏掉)


修复分配但未引用的错误:

如果fsck发现已经分配但未引用的文件时 , 会发出以下提示 , 如Y , 则把文件指向lost found目录;
** Phase 3 - Check Connectivity
UNREF FILE I=788 OWNER=root MODE=100644
SIZE=19994 MTIME=Jan 18 10:49 1999
RECONNECT? y

可以通过以下步骤来分析解决问题:

1 。显示lost found目录的内容
2 。判断文件的类型 (file命令)
3 。查看文件内容(ASCII文件用cat或more , 二制文件用string)
4 。如果文件是完整的 , 并且知其原始位置的 , 可以拷贝到原始位置;

调整链接数:

如果fsck发现在文件系统的inode的链接数与实际不一致时 , 会发出以下信息 , 让您判断是否调整:

** Phase 4 - Check Reference Counts
LINK COUNT DIR I=2 OWNER=root MODE=40755
SIZE=512 MTIME=Jan 18 15:59 1999 COUNT 4 SHOULD BE 3
ADJUST? y

在这个fsck过程中 , you might also be asked to clear or remove a link.
BAD/DUP type I=200 OWNER=root MODE=40755
SIZE=512 MTIME=Mar 14 08:03 2002
CLEAR? y

修复空闲表:

如果fsck发现未分配的块数与超级块未分配块列表中不一致时 , 会发出是否以未分配的块数来修复列表内容:

推荐阅读