免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1138 | 回复: 0
打印 上一主题 下一主题

Solaris下维护文件系统 [复制链接]

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-24 13:21 |只看该作者 |倒序浏览
文件系统检测程序
文件系统可以因为电源的损坏的原因,内核中的软件错误,硬件故障,或者不正确的关闭了系统。
文件系统检测程序,fsck,检测一个文件系统的数据一致性,并且纠正或者修复任何被找到的不同或者故障每次系统启动,fsck自动的预先运行一个文件系统一致性检测。Fsck在文件系统被装配之前检测和修复任何遇到的文件系统的问题。当文件系统被装配,并且附加了ufs logging选项,就不需要运行fsck。因为logging禁止文件系统发生变化。每次他扫描到检测下列类型的文件系统冲突,fsck命令让几个通行证通过一个文件系统。
lost+found目录
fsck命令放置分派文件和目录,但是不参考位于那个文件系统中的lost+found目录。每个文件的inode编号当作名字分配。如果lost+found目录不存在,fsck就建立他,并且如果在lost+found目录中的空间不足,fsck就增加他的空间。Superblock一致性文件系统超级块是为了检测调用的文件系统长度的不同,空余块计数器,和空余的inode计数器。Inode一致性Fsck命令为每个inode检测分派状态,类型,连接计数器,复制块,错误块,inode长度和块计数器。任何未使用的inode和非0的连接计数器都链接到文件系统的lost+found目录。数据块一致性fsck命令不能检测普通的数据块,但是可以检测目录数据块。在这个数据块中,为inode指针检测未分配的块,标记为以用的未分配的块,标记为空闲的未分配的块,“.”和“..”和目录没有链节到文件系统的错误的inode。这些目录是连接返回到文件系统的lost+found目录。柱头组块一致性fsck命令检测已经要求inode的未分配的数据块,未分配的数据块计数器和未分配的inode计数器。Fsck的状态Fsck命令为每个在/etc/vfstab文件中包括设备到fsck和fsck通行条目的文件系统运行通过5个状态。这5个状态是:Phase 1:检测块和长度,检测矛盾的inode
Phase 2:检测路径名,检测目录inode一致性
Phase 3:检测连通性,检测所有目录是否已经连接到文件系统
Phase 4:检测参考计数器,从Phase 2和3比较连接计数器信息,校正误差。
Phase 5:检测柱头组,检测空余块和已经使用inode映象的一致性非交互式模式
在一个普通系统启动期间,fsck操作在非交互式模式,经常整理查阅或者无记载的模式。在这个过程期间,fsck仅修复可以修复的问题。可是,如果一个较大的问题被发现,并且产生了结果,fsck程序就中断并且使系统进入但用户模式。用户必须运行交互式的fsck来继续。交互式模式
在这个过程中间,fsck列出每个遇到的问题,下列在下列的纠正建议的动作中,问题需要回答yes或者no通过回应yes,fsck允许纠正动作并且继续。
回应no,fsck将报告最初的问题,并且提出解决的方法,并且不在继续向前直到用户回应yes。使用fsck命令
下面的实例中示范root用户如何使用fsck命令来完整的检测文件系统。。检测单独的没有装配的文件系统,执行下列命令
# fsck /dev/rdsk/c0t0d0s7
这是检测没有加入/etc/vfstab文件的文件系统的唯一方法。
。使用列在/etc/vfstab文件中的文件系统的装配点目录名检测文件系统,执行下列命令
# fsck /optfsck发现并修理故障如果文件系统中显示了问题,用户可以接到来自fsck的警告。下面描述了一些比较多需要采用交互式干涉的文件系统错误。从新连接一个已经分配的不可引用的文件。在这个例子中,fsck程序发现一个已经分配的inode,但是不能引用或者不能连接到其他目录。在RECONNECT?后面回答yes,会导致fsck保存文件到lost+found目录,并且以inode编号命名。** Phase 3 – Check Connectivity
UNREF FILE I=788 OWNER=root Mode=100644
SIZE=19994 MTIME=Jan 18 10:49 1999
RECONNECT? Y决定什么类型的文件被移动到lost+found目录中
1.列出文件系统的lost+found目录的内容,比如
# ls /export/home/lost+found
#788
2.决定文件的类型,使用file命令
#  file /export/home/lost+found/#788
/export/home/lost+found/#788:ascii text
3.使用more或者cat命令显示ACSII文本文件的内容。使用strings命令显示二进制文件的内容。如果文件是与一个应用相关的,就必须使用该应用程序来打开这个文件
#  cat /export/home/lost+found/#788
4.如果文件是完整的并且用户知道他属于哪里,文件可以直接拷贝回他应该在的文件系统校正连接计数器
在这个实例中,fsck程序发现一个目录的inode的连接计数器的数值和实际目录的连接计数器的数值不符。在ADJUST?后面回答yes,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程序发现未分配的块计数器和空余块编号列表中的超级块不符合。在SALVAGE?后面回答yes,fsck将升级文件系统的超级块的信息。** Phase 5 – Check Cyl groups
CG 0: BAD MAGIC NUMBER
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? y使用备份的超级块
文件系统不能被装配,超级块碎片是可能的原因。在系统启动的时候或者手动装配文件系统的时候,显示信息“Can’t mount file system name”表示一个文件系统不可用。例如:
Can’t mount /dev/dsk/c0t0d0s7如果fsck因为超级块错误而返回一个错误信息,用户必须选择一个超级块来恢复系统。纠正的动作是运行fsck的-o选项,并且加b标志。标志后面跟超级块号码。每个文件系统通常有一个预备超级块在32号块上,可以利用他来修复主超级块。
# fsck –o b=32 /dev/rdsk/c1t3d0s0fsck程序在备份的超级块上提取信息,与实际的文件系统比较并且重建主超级块。可是如果这个被破坏的块是文件系统的部分。用户必须选择其他的备份超级块使fsck继续。要列出文件系统所有的备份超级块的位置,就运行newfs –N命令,例如
# newfs –N /dev/rdsk/c#t#d#s#用户可以使用-N选项来显示出文件系统参数到that would be used来建立即将使用的新文件系统而没有真正的建立文件系统输出的一部分是列出所有可以被-o参数使用的备份超级块的位置用户也可以使用任何备份块编号来列出每个备份超级块的内容。监视文件系统的使用系统管理员的一个重要工作就是监视普通用户的文件系统的使用。有4个可以使用命令用于这个任务,包括df,du,ff和quotdf:显示空闲磁盘块和文件的编号
du:总结磁盘的使用
ff:为文件系统列出文件名和统计报表
quot:总结文件系统所有权df命令用户使用df命令来显示已经装配的文件系统使用的磁盘空间的数量。他列出的是已经使用的和可用空间的数量,并且用了多少文件系统的总容量。命令格式df [-k] [directory]选项-k显示已经使用的K字节和从可用空间的部分通过操作系统减去保留的空间。显示文件系统的容量,使用下面的命令
# df –k在文件系统中,已用的空间加上空闲的空间是小于整个空间的。其中的一小部分空间,大约是1%到10%是保留给每个文件系统的。当文件系统报告所有的空间都被使用的时候,容量显示100%。普通用户就会接到信息“File System Full”,并且不能继续工作。而保留的空间,root仍然可以使用,root用户可以删除或者备份文件到有空闲空间的文件系统。Df –k显示下列的部分File system:已经装配的文件系统
Kbytes:文件的长度(K为单位)
Used:已经使用的空间(K为单位)
Avail:空闲的空间(K为单位)
Capacity:文件系统已经使用的部分的百分比
Mounted on:装配点Du命令
用户使用du命令来显示每个目录或者文件已经使用的磁盘块的数量命令格式
du [-a] [-s] [-k] [directory]选项
-k以K字节为单位显示
-s显示只有512字节的块。S和k一起使用,显示总共使用的K字节
-a显示所有文件和目录已经使用的块的数目,可以指定目录体系ff命令ff文件提供文件系统中的路径名的列表和文件的inode编号。Quot命令Quot命令显示了每个用户使用了多少空间。(K为单位)命令格式
quot [-af] [file system …]选项a报告所有已经装配的文件系统
f包含的文件的数目故障解决如果boot损坏了,修复重要的文件。/etc/vfstab文件是一个重要的系统文件。如果出现问题或者包含了编辑上的错误,就会导致系统启动错误。使用下面的方法从Solaris操作环境光盘中启动并且修复编辑/etc/vfstab文件
1.插入Solaris 8光盘(Software 1 of 2)
2.利用光盘启动到单用户模式
ok boot cdrom -s
3.使用fsck命令修复/(root)分区的潜在问题
# fsck /dev/rdsk/c0t0d0s0
4.如果fsck成功完成,装配/(root)文件系统到/a目录,以允许对磁盘上的文件系统的访问。
# mount /dev/dsk/c0t0d0s0 /a
5.设置并且输出TERM变量允许vi编辑器进行工作
# TERM=sun
# export TERM
6.编辑/etc/vfstab文件并且纠正问题。然后退出保存文件
# vi /a/etc/vfstab
:wq!
7.卸载文件系统
# cd /
# umount /a
8.重新启动系统
# reboot1、fsck
fsck是可以说是使用次数第一的工具(系统自己使用占90%以上)。它是FS完整性
检查,包括supblk,cylgrpblk,inode.tab,data区等。检查的原理是:冗余发。修
复时按照实际情况调整记录信息。
lost+found目录:在fsck的时候,将找不到父目录的那些文件拷贝到该目录中,并
以i节点号作为文件名。
当系统启动的时候会使用fsck对文件系统进行扫描,并相应的报出扫描结果。例
如:/dev/rdsk/c0t0d0s7 stable等。
后面是Fs的状态。其中,clean表示文件系统umount后无人用,stable表示文件系
统用过,但却是完整的,好的。而出一大堆的话,还有什么fragment %什么的的那
都表示文件系统上有乱的地方,那么就应该进入系统后使用fsck来整理。提起这个
来,我想说说在非法关机后(各种原因),再次启动的时候会有很多的情况,上面
说的是一种情况,再厉害一些是系统只能进入但用户状态,最厉害的是连单用户的
状态都无法进入(肯定是/和/usr区有问题。这是因为fsck对/区的扫描无法通过的
话,系统当然无法启动,而fsck调用的一些函数库又在/usr上。。。。)
当系统的状态是clean,stable和logging的状态的时候(logging??不知道的看上
一课吧)fsck不运行。
2、fsck的使用
本课讲的三个参数:
-o f 对系统进行强制检查,不论系统是否在clean等状态
-o p 非交互式检查并修复文件系统,对有的问题则立即退出
-o b=xx 用来修复超级块的错误,就是将备份的超级块内容拷入超级块中。solaris对
超级块很重视,它的备份有很多,一般的b=32就可以了,如果不行可以使用命令
newfs -N /dev/rdsk/cxtxdxsx来查看超级块的位置,其中任何一个备份块都可使用
3、一些错误的情况
一、RECONNECT
表示目录丢失,可将其存入lost+found中再作转移。回答yes
二、SUPERBLK坏(注意是坏,不是wrong)
修复见上面(如果是wrong就随便了,修不修都可以)
三、CLEAR
删i节点,可能会错
四、REMOVE
删文件,一般给出文件名。file=....
五、ADJUST
调整连接数。实际数与原记录不符。回答yes
六、SALVAGE
自由列表计数不正确。回答yes
(题外话:其实我使用一般都是yes过去的,而且书上说不能在正在mount的文件系统上
操作,否则有可能导致文件系统损坏。但我也没有碰到过用fsck导致发生错误的情况。
不过还是建议大家操作的时候规范一些,否则出错了不要来找我呀。尤其是考试的时候)
4、df和du命令
最长用的是
df -k看现在系统的挂接和使用情况
du -ks看一个目录的总容量。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/524/showart_44305.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP