- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fsck 如何解决AIX的文件系统故障.
fsck 如何解决AIX的文件系统故障
fsck 如何解决AIX的文件系统故障
2009-04-20 13:55
在进行文件系统维护和管理过程中,会碰到这样一些问题,例如无法安装文件系统或者无法拆卸文件系统,当文件系统的超级块被破坏,而无法正常使用文件系统,如何修复rootvg中的主要文件系统,下面就讨论如何解决一些常见的文件系统问题。
一、恢复超级块错误
有些用户在使用fsck或mount命令时,当见到下面的提示信息时,可能是文件系统的超级块出了问题:
fsck: Not an AIX3 file system
fsck: Not an AIXV3 file system
fsck: Not an AIX4 file system
fsck: Not an AIXV4 file system
fsck: Not a recognized file system type
mount: invalid argument
例如,当用户安装一个/allenfs文件系统时,出现下面的错误提示:
#mount /allenfs
mount: 0506-324 Cannot mount /dev/lv1 on /allenfs: A system call received a parameter that is not valid.
修复该文件系统时,出现下面错误提示,并异常终止:
#fsck /dev/lv1
Not a recognized filesystem type. (TERMINATED)
要解决这个问题,只能用备份的超级块来恢复主超级块,我们都知道,在文件系统中,1号逻辑块是主超级块,31号逻辑块是备份超级块,因此就把31号逻辑块上的内容写到1号逻辑块上去。
例如文件系统对应的逻辑卷为/dev/lv1,则恢复该文件系统的超级块命令如下:
#dd count=1 bs=4k skip=31 seek=1 if=/dev/lv1 of=/dev/lv1
当恢复完成,就要用fsck命令来检查文件系统的完整性:
#fsck /dev/lv1
** Checking /dev/rlv1 (/allen)
** Phase 0 - Check Log
log redo processing for /dev/rlv00
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Inode Map
** Phase 6 - Check Block Map
9 files 608 blocks 15776 free
在许多情况下,通过恢复备份超级块到主超级块可以解决这个问题,使文件系统处于正常工作状况下。如果这样做还不能解决问题,那只能删除文件系统,然后重新建立文件系统,再恢复备份的数据。
二、无法拆卸文件系统
如果有用户或程序在一个文件系统中活动,就无法拆卸这个文件系统,当使用拆卸命令时,会提示下面的错误:
Device busy 或者 A device is already mounted or cannot be unmounted 例如由于安装程序的异常终止或其它原因经常会遇到不能正常释放光驱(光驱是CDROM文件系统)的问题,当用户再次访问光盘驱动器时就产生错误0514- 062: 指定的设备忙。
按照下面的步骤去解决:
1、检查用户自己的当前工作目录是否在这个文件系统中,如果是,则用cd /命令使当前工作目录回到根目录,然后再试着拆卸文件系统;
2、如果还是不能拆卸文件系统,可能在文件系统有文件正在被打开使用,因此在拆卸文件系统之前应该关闭这些文件。有时候可能还有一些进程在使用这个文件系统的资源,可以使用fuser命令来检查有那些进程仍然在这个文件系统中活动。Fuser命令将显示在这个文件系统中正在活动的所有进程ID号。下面就 fuser命令使用的例子:
#fuser /dev/cd
/dev/cd: 2910 3466
如果使用fuser –u /dev/cd将在进程号后指出用户名。如果root用户用fuser –k /dev/cd命令,则给这些进程发出SIGKILL信号,来杀死这些进程。然后用kill命令将这些正在活动的进程杀死,然后再试着拆卸文件系统。例如:
#kill –9 2910 3466
这时您可以用下面命令检查设备的状态是否为可用:
#lsdev -Cc cdrom
或者
#lsdev –C –l cd0
(若为其它
文档评论(0)