在进行文件系统维护和管理过程中,会碰到这样一些问题,例如无法安装文件系统或者无法拆卸文件系统,当文件系统的超级块被破坏,而无法正常使用文件系统,如何修复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
  (若为其它文件系统,将cd0换为文件系统的逻辑名)如果设备状态为可用,您就可以使用该设备或卸载文件系统。
  3、如果文件系统仍然处于忙状态,不能被拆卸,可能是在这个文件系统中加载了一个内核扩展,这种情况用fuser命令无法检查到内核扩展,系统提供了一个检查内核扩展的工具——genkex,用这个命令可以显示目前已加载的所有扩展内核。
  4、如果在一个文件系统还安装了另一个文件系统,则要直接拆卸这个文件系统也是不能成功,必须先将该文件系统中所有安装的文件系统拆卸掉,才能拆卸自己。使用 mount命令查看有那些文件系统还在安装在系统上,然后根据安装点将安装在这个文件系统中的所有其它文件系统用umount命令拆卸掉,再试着拆卸自己。
  三、 无法删除文件系统
  当一个文件系统可以用mount命令安装或用unmount拆卸,但是无法删除该文件系统,在删除时,系统会报如下错误
  : 0516-306:get lvodm: unable to find in the device confgiguration data. 发生此错误的原因可能是ODM数据库中的定义与实际不一致。可以用下面命令检查该文件系统的类型:
  #lsvg -l rootvg
  若类型显示为???,则用synclvodm -P rootvg 和 syncvg -v rootvg 命令对卷组进行同步,之后,再用命令 lsvg -l rootvg 显示出正确的文件类型。此时可以成功删除该文件系统。
四、 修复rootvg中的主要文件系统和日志
  如果要检查和修复rootvg中的/、/tmp、/usr、/var文件系统,必须先将它们卸载,然而在正常的多用户环境下是无法卸载这些文件系统,要完成这些工作必须在维护模式下进行。
  首先重启动系统,在系统引导时按F6键(对于图形方式)或数字“6”键(对于字符方式)进入到系统的在线诊断(Online Diagnostics)服务模式,选择“5”进入单用户模式,即维护模式。
  如果当前的AIX是AIX 3.2.4或3.2.5版本,还必须设置ODMDIR环境变量,命令如下:
  #ODMDIR=/etc/objrepos;export ODMDIR
  运行fsck命令清理检查上面提到的文件系统,命令如下:
  #fsck /dev/hd4
  #fsck /dev/hd2
  #fsck /dev/hd3
  #fsck /dev/hd9var
  当然也可使用其fsck选项。如果rootvg中缺省文件系统的日志(JFSLOG)即/dev/hd8有问题,这时也可以重建它,命令如下:
  #logform /dev/hd8
  然后会提示您是否继续初始化,如果回答y,以前在/dev/hd8上的日志信息就被清掉。初始化成功后,输入exit命令就退出单用户模式,根据提示按回车进入多用户模式,这些文件系统会自动被安装上。最后用shutdown命令关闭系统。

如何解决AIX的文件系统故障相关推荐

  1. mysql 运行sql 编码_关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题...

    关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题 本人小白一名, 最近碰到了一个问题, 在 navicat 导入 MySQL 文件时, 报出 MySQL 找不到 u ...

  2. 解决MongoDB 日志文件过大,清理后还占用很大磁盘空间的问题

    解决MongoDB 日志文件过大,清理后还占用很大磁盘空间的问题 参考文章: (1)解决MongoDB 日志文件过大,清理后还占用很大磁盘空间的问题 (2)https://www.cnblogs.co ...

  3. 解决python2.x文件读写编码问题

    解决python2.x文件读写编码问题 参考文章: (1)解决python2.x文件读写编码问题 (2)https://www.cnblogs.com/nyist-xsk/p/9681064.html ...

  4. 解决struts.xml文件提示问题

    [Struts2]☆★之解决struts.xml文件提示问题 首先需要下载struts架包,下载步骤详情请看[web开发]☆★之Struts2系列教程[1]搭建Struts2开发环境. 下载之后我们新 ...

  5. python读取中文txt文本-Python3 解决读取中文文件txt编码的问题

    问题描述 尝试用Python写一个Wordcloud的时候,出现了编码问题. 照着网上某些博客的说法添添改改后,结果是变成了"UnicodeDecodeError: "utf-8' ...

  6. python读取中文文件报错-Python3 解决读取中文文件txt编码的问题

    问题描述 尝试用Python写一个Wordcloud的时候,出现了编码问题. 照着网上某些博客的说法添添改改后,结果是变成了"UnicodeDecodeError: "utf-8' ...

  7. 成功解决pandas读取文件中不读取第一索引列

    成功解决pandas读取文件中不读取第一索引列 目录 解决问题 解决思路 解决方法 解决问题 解决pandas读取文件中不读取第一索引列 解决思路 pandas输出时会默认增加一列索引列 解决方法 添 ...

  8. 谷歌浏览器打开标签会把之前的覆盖掉_Chrome 浏览器新更新解决了本地文件拖入导致的标签页意外关闭问题...

    原标题:Chrome 浏览器新更新解决了本地文件拖入导致的标签页意外关闭问题 这个问题之前相当让人头疼(至少对小编来讲是这样). 你有没有在 Google Chrome 浏览器上使用过拖放功能,但却发 ...

  9. 无法复制winevt中的文件_u盘文件无法复制怎么解决 u盘文件无法复制解决方法【详细步骤】...

    在使用u盘的过程中有时会出现 文件无法复制 的问题,并且会弹出磁盘已满的提示,而经过检查,u盘容量却拥有足够大的空间,那么此时该如何解决呢?接下来就跟着小编学习如何解决 u盘文件无法复制 的问题. u ...

最新文章

  1. 推荐一些视觉SLAM的深度学习方法(上)
  2. bcrypt如何内置盐?
  3. unity黑白滤镜_unity颜色分级图像滤镜着色器Fast Mobile Color Grading 1.0
  4. 微信腾讯会议进行视频面试,如何使用腾讯会议进行视频面试?
  5. Android GestureDetector方法详解
  6. Spring Boot中使用Ribbon软负载
  7. katalon中REST URL占位参数动态化
  8. JUnit 4测试驱动开发结构图
  9. CPU可以跑多快?地球到火星的距离告诉你!
  10. 央视报道:荣耀智慧屏或搭载华为鸿蒙系统
  11. 使用Maven构建Spring项目“HelloWorld”
  12. 用virtualenv建立独立虚拟环境 批量导入模块信息
  13. LNMP自动部署脚本
  14. 中标麒麟怎么安装deb包_银河麒麟制作deb安装包
  15. 在线算法 离线算法
  16. Java期末大作业-工资系统平台(实验报告内附代码)
  17. 什么是浮动、为什么要清除浮动
  18. 同轴电缆阻抗总结(电阻、阻抗、特性阻抗)
  19. .php中js写法,js函数常见的写法以及调用方法
  20. 阿里云邮件推送,邮件模板加EmailCamel退订链接,加速模板通过审核!

热门文章

  1. Kruskal实现最小生成树
  2. redis-sentinel主从复制高可用
  3. 爬虫开发10.scrapy框架之日志等级和请求传参
  4. [Debug]IOS微信浏览器不支持form表单的target=_blank
  5. Filter高级开发
  6. 基础算法之快速排序Quick Sort
  7. 【转】函数调用时堆栈变化
  8. java jdbc dbcp连接SQL Server
  9. ActiveX技术在WEB页上的应用[转载]
  10. gj7 对象引用、可变性和垃圾回收