`

AIX中的fsck详解

    博客分类:
  • AIX
阅读更多

在AIX系统中fsck命令的用途
当执行fsck 命令时,fsck 命令如果发现存在孤立的文件或目录,这些孤立的文件或目录对于系统管理员或用户来说将无法访问。因为它与它的上级目录失去了关联,如果用户允许fsck 重新把它们找回来的话,fsck 命令就会把这些孤立的文件或目录放在文件系统的/lost+found 目录下,并用各自的i-node 号来命名,以便用户查找自己需要的文件。Lost+found 目录通过它的英文含义我们都可以知道,它是一个失物认领处。
因此当某个用户发现自己丢失了某个文件,可以在执行fsck 之后到/lost+found 目录下去查找,这时通过文件名已无法辨认出文件的作用,只能用file 之类的命令来确定文件的类型。如果是数据文件,可以用morevi 命令来查看,如果是二进制文件,可以用dbx 命令来调试或者试着执行它(注意它可能是一个具有破坏性的程序),知道文件或目录的作用之后,可以对其进行改名。

如果用户不允许fsck 把这些孤立的文件或目录找回来,那么fsck 命令就会破坏这些文件或目录,彻底丢失这些文件或目录,用户或系统管理员永远也无法找回它们。
语法
fsck [ -n ] [ -p ] [ -y ] [ -dBlockNumber ] [ -f ] [ -ii-NodeNumber ] [ -o Options ] [ -tFile ] [ -V VfsName ] [ FileSystem1 - FileSystem2 ... ]
描述
注意: 在出现系统故障之后,总是运行 fsck 命令。矫正的动作也许会导致某些数据的丢失。对于每一个一致性的矫正,缺省的操作就是等待操作员输入 yes 或者 no。如果对于已经受到影响的文件系统您没有写的许可,那么无论您的实际响应是什么,fsck 命令缺省的动作都是 no。
注:
    对于一个已经安装好了的文件系统,fsck 命令不会做出矫正。
    fsck 命令出于某些原因可以在一个已经安装好了的文件系统中运行,但不是进行修复。但是当文件系统安装完毕之后,也许会返回不准确的错误消息。
fsck 命令检查并以交互方式修复不连贯的文件系统。在安装文件系统之前,应该运行这个命令。您必须能够读设备文件,在这个设备上驻留着文件系统(例如/dev/hd0 设备)。通常,文件系统是连贯的,fsck 命令仅仅是报告文件系统中文件的数量、被使用的块和空闲的块。如果文件系统是不连贯的,fsck 命令显示关于那些找到的不连贯性的信息并且提示您修复它们的许可。
fsck 命令在修复中是有保留的并且会尽力避免那些可能导致有效数据丢失的动作。在特定的情况下,fsck 命令会建议破坏已经损坏的文件。如果您不允许 fsck 命令进行必要的修复,那么或许会产生一个不连贯的文件系统。安装一个不连贯的文件系统也许会导致系统的崩溃。
如果 JFS2 文件系统有快照,fsck 命令将试图保留这些快照。如果此操作失败,则无法保证快照包含来自捕捉到的文件系统的全部先前就存在的映像。fsck 命令将删除这些快照和快照逻辑卷。
如果您不用 FileSystem 参数指定文件系统,fsck 命令将会检查在/etc/filesystems中列出的文件check属性将全部设为 True的所有文件系统。您可以通过在每一节中加入一行启用这种检查,如下所示:
check=true
fsck 命令可以在多文件系统中进行同步的检查动作。这个过程可以减少检查大量文件系统所需的时间。当文件系统被指定为参数的一部分的时候,采用负号“-”来分隔这些文件系统。
您也可以通过在 /etc/filesystems 文件中将文件系统分组来进行多文件系统的同步检查工作。为了做这项工作,在/etc/filesystems 文件中修改 check属性,如下所示:
check=Number
Number参数告诉 fsck 命令哪一组包含特定的文件系统。使用公共记录设备的文件系统应该被放置在同一个组中。每一个组在分隔的平行进程中被检查。文件系统被检查的时候,一次检查一个,以便它们能够在/etc/filesystems文件中被列出。所有的 check=true 的文件系统被分到 1 组。fsck 命令在检查其它文件系统之前会试着检查根文件系统而不管在命令行中或者 /etc/filesystems 文件中指定的顺序。
fsck 命令检查下列的不连贯性:
    分配给多个文件的块或者段。
    包含交叠块或者段数目的索引节点。
    包含超出范围的块或者段数目的索引节点。
    在对文件的目录引用数量和文件链接计数之间的差异。
    非法分配的块或者段。
    包含在磁盘映射中标记为空闲的块或者段数量的索引节点。
    包含被破坏的块或者段数目的索引节点。
    在索引节点中不是最后磁盘地址的段。检查不会被用于压缩文件系统。
    包含一个段的超过 32KB 段的文件。检查不会被用于压缩文件系统。

尺寸检查:
    块的不正确数量。
    目录的大小不是 512 字节的整数倍。
    这些检查不被用于压缩的文件系统。
    目录检查:
    目录条目包含一个在索引节点映射中被标记为空闲的索引节点号。
    超出范围的索引节点号。
    点(.)链接丢失或未指向其本身。
    点点(..)链接丢失或未指向父目录。
    没有引用的文件或者不可到达的目录。
    不连贯的磁盘映射。
    不连贯的索引节点映射。
如果您允许,那些孤立的文件和目录(那些无法到达的)可以通过将它们加到在文件系统根目录下的 lost+found 子目录下面使它们重新连接起来。指定的名称是索引节点号。如果您不允许 fsck 命令重新配属一个孤立的文件,它会请求破坏这个文件的许可。
除了它的消息之外,fsck 命令会通过它的出口值来记录检查和修复的结果。这个出口值可能是下列情况的任意和:
0     所有被检查的文件系统现在都好了。
2     fsck 命令在结束检查或修复之前被中断了。
4     fsck 命令改变了文件系统;用户必须立即重新启动系统。
8     文件系统包含没有修复的损坏部分。
当系统从磁盘进行引导,引导过程会很明确的运行 fsck 命令,以 /、/usr、/var、/tmp 文件系统中的 -f 和 -p 标志指定。如果没有成功的在这些文件系统之一执行 fsck 命令,系统不会引导。在这样的系统引导之前,从可删除的介质引导并进行维护工作将会被需要。
如果 fsck 命令成功的在/、/usr、/var 和 /tmp中运行, 正常的系统初始化将会继续进行。在正常的系统初始化过程中,fsck 命令同 -f 和 -p 标志一同指定,从/ etc/rc 文件中运行。这个命令序列检查所有的文件系统,在其中check属性设成了 True( check=true)。如果 fsck 命令从 /etc/rc 文件中执行,命令不能保证文件系统的连贯性,系统初始化继续进行。任何不连贯文件系统的安装也许会失败。安装失败也许会导致系统不完全的初始化,即部分文件系统不能正确初始化(笔者浅见)。
注:
在缺省情况下/、/usr、/var 和 /tmp 文件系统在/etc/filesystem 节的 check属性被设成了 False( check=false)。属性被设成了 False 是由于下列原因:
    引导过程在/、/usr 、/var、和 /tmp 文件系统中明确的运行了fsck 命令。
    当 /etc/rc 文件被执行的时候,/ /usr 、 /var 和 /tmp文件系统就被安装了。fsck 命令不会修改一个已经安装了的文件系统。此外,在一个已经安装好了的文件系统上运行的 fsck 命令产生不可靠的结果。
您可以使用在基于 Web 的系统管理器 (wsm) 中的文件系统应用程序来改变文件系统的特征。您也可以系统管理界面程序(SMIT)smit fsck 快速路径来运行这个命令。
标志
-d BlockNumber     搜索指定磁盘块的参考。无论 fsck 命令遇到包含特定块的文件,它将会显示索引节点号和所有指向它的路径名称。对于 JFS2 文件系统,引用指定模块的索引节点号将会被显示,但是不是它们的路径名称。
-f     进行快速检查。在正常情况下,通过非正确方式关闭系统来停机仅有的文件系统很可能被影响,这个文件系统就是当系统停止时在安装的那些。 -f 标志会提示 fsck 命令不要检查没有成功安装的文件系统。fsck 命令通过检查文件系统超级块中的 s_fmod 标志来决定这件事。
当文件系统没有成功安装的时候,无论何时文件系统被安装和被清除,这个标志都将被设定。如果文件系统被成功的卸载,这不大可能会存在什么问题。因为多数文件系统没有成功安装,不检查这些文件系统能减少检查时间。
-i i-NodeNumber     搜索指定索引节点的参考。无论何时 fsck 命令遇到一个指向指定索引节点的目录,它都会显示这个参考的完整路径名称。
-n     对 fsck 命令所提出的所有问题给出一个no的回应;不打开指定的文件系统来写。
-o 选项     向 fsck 命令传递逗号分隔的选项。这些选项被认为是文件系统的实现细节,除了下面目前为了所有文件系统而当前被支持的选项:
mountable
    如果有问题的文件系统可安装(清除),促使 fsck 命令成功的退出,返回一个“0”值。如果文件系统不可安装,fsck 命令退出并返回一个值“8”。
mytype
    如果存在问题的文件系统与在 /etc/filesystems 文件中或者在命令行中通过 -V 标志指定的具有相同的类型,那么促使 fsck 命令退出并给出一个成功的“0”值。否则,返回一个值“8”。例如,如果/(引导文件系统)是一个分类文件系统,那么 fsck 命令 -o mytype -V jfs / 会退出给出一个“0”值。
-p     不显示次要问题的消息但是自动修复问题。这个标志并不是象-y 标志那样授予大规模许可,当系统正常启动的时候对自动进行检查工作有用。无论系统在何时自动运行,您应该将这个标志作为系统启动过程的一部分来使用。也允许并行分组检查。如果主要的超级块损坏了,次要的超级块就被验证,并且复制到主要的高级块中。
-t文件     如果 fsck 命令得不到足够的内存来保存它的表的话,在文件系统中作为一个临时文件而不是被检查的文件来指定File参数。如果没有指定 -t 标志,那么 fsck 命令需要一个临时文件,它会提示您给这个临时文件起名字。但是,如果指定了 -p 标志,fsck 命令是不成功的。如果临时文件不是一个特定的文件,当 fsck 命令结束的时候,它就会被删除。
-V VfsName     使用为文件系统由VFSName变量指定的虚拟文件系统的描述,而不是用 /etc/filesystems 文件决定描述。如果-V VfsName 标志没有在命令行中指定,就会检查 /etc/filesystems 文件并且 vfs= 匹配节的特性被认为是正确的文件系统类型。
-y     对所有 fsck命令提出的所有问题假定一个“yes”的响应。这个标志使 fsck 命令采取它认为必要的行动。仅在损坏严重的文件系统中使用这个标志。
示例
    为了检查所有的缺省文件系统,请输入:
    fsck
    这个命令检查在 /etc/filesystems 文件中所有标记 check=true 的文件系统。fsck 命令这种形式在对文件系统做出任何更改之前会向您请求许可。
    为了利用缺省的文件系统自动修复较次要的问题,请输入:
    fsck -p
    为了检查一个特定的文件系统,请输入:
    fsck /dev/hd1
    这个命令检查位于 /dev/hd1 设备上的未安装的文件系统。
文件
/usr/sbin/fsck     包含 fsck 命令。
/etc/filesystems     列出已知的文件系统并且定义它们的特征。
/var/spool/mail/*     包含虚拟文件系统类型的描述。
/usr/bin/from     包含当系统启动的时候运行的命令(包括 fsck 命令)。

fsck的数据灾难解决方案

[症状]
1、无法MOUNT分区;
2、大量文件、目录丢失,根目录下生成/LOST+FOUND文件夹,里面有大量#XXXXXX类的文件和目录;
3、FSCK很快报错完成;
4、FSCK执行时,有大量提示,如修改节点、清0节点等操作
[应急方案]
1、如遇提示FSCK时,请小心。如果可能,请尽快断开系统,UMOUNT所有分区。
2、必需执行FSCK时,先做准备工作,方法一:可事先用dd命令将所涉及到的分区输出到另外的存储体上(最好不要在出错的存储体本身上做dd) 命令大致结构可如: dd if=/dev/sda0 of=/dev/sdb0 .....
3、必需执行FSCK时,先做准备工作,方法二:将整个AIX存储体挂载到虚拟机环境,将LINUX存储体设为Nonpersisten模式,再执行,执行过后,如果数据完好,应尽快通过FTP等方式拷贝出来。
4、必需执行FSCK时,先做准备工作,方法三:将整个AIX存储体挂载到其他系统上(如WINDOWS),做好镜像后再做FSCK。
5、如上面几种方式均因条件等原因无法实施,必须执行时,可小心观察FSCK的执行提示(关掉-a)如果发现有提示节点错误需更正或清0、节点描述文件大小不正确等信息,应停止执行FSCK。
6、因恢复需要参考很多信息,因尽可能保持系统不工作状态,至少不得再次MOUNT分区(即便不做任何读写操作,也会因系统的工作原理不断降低数据恢复的可能性,增加数据恢复的难度)
7、寻求专业数据恢复公司帮助

参考至:http://www.linuxdiyf.com/viewarticle.php?id=79315
           http://www.kuqin.com/aixcmds/aixcmds2/fsck.htm
           http://www.cnw.com.cn/weekly/htm2006/20061219_49157.shtml
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com

0
3
分享到:
评论

相关推荐

    aix v6.1命令参考大全,卷 5:s - u

    标签“AIX命令详解”进一步强调了这本大全是专注于对AIX操作系统中命令的深入解释和说明,这对于系统管理员和对AIX有兴趣的用户来说非常有价值。 由于提供的【部分内容】仅包含了AIX®V6.1版权声明和一些零散的字符...

    AIX---文件系统

    **AIX 文件系统详解** AIX(Advanced Interactive eXecutive)是IBM开发的一款基于UNIX的多用户、多任务操作系统,广泛应用于企业级服务器。在AIX系统中,文件系统扮演着至关重要的角色,它是组织和管理数据的核心...

    AIX系统操作员手册

    #### AIX系统备份与恢复详解 深入探讨AIX的备份策略和恢复流程,确保数据安全。 #### 卷组修复 使用`recreatevg`命令可以修复损坏的卷组,恢复数据的可用性。 #### LVM与硬盘更换 讨论逻辑卷管理器(LVM)下的...

    AIX下常见的问题整理

    AIX是IBM开发的一款基于UNIX的操作系统,广泛应用于大型机、工作站等高性能计算环境中。由于其复杂性和专业性,用户在使用过程中会遇到各种各样的问题。本文将针对AIX下常见的问题进行整理和解析,帮助用户更好地...

    AIX 考证(转载)

    【AIX启动过程详解】 AIX(Advanced Interactive eXecutive)是IBM开发的一种Unix操作系统,主要用于IBM的Power Systems服务器。了解AIX的启动过程对于系统管理员和IT专业人士至关重要,因为它可以帮助诊断和解决...

    aix_HDISK中丢失VGDA的恢复办法

    ### AIX HDISK中丢失VGDA的恢复方法详解 在AIX系统中,当遇到硬盘分区(HDISK)上的卷组描述区(VGDA)丢失的情况时,这往往会导致硬盘上的逻辑卷(LV)无法正常挂载,进而影响业务系统的正常运行。本文将详细介绍一种...

    AIX_5.3Operating system and device management

    本篇内容主要围绕AIX 5.3系统中的设备管理和系统管理进行详细介绍。 #### 设备管理概述 设备管理是操作系统的一项基本功能,主要用于控制计算机硬件资源,如磁盘驱动器、打印机等。在AIX 5.3中,设备管理通过一系列...

    aix常用系统命令

    ### AIX常用系统命令知识点详解 #### 一、系统性能监控 在AIX系统中,了解系统的硬件资源和性能情况是非常重要的。以下是一些常用的命令: 1. **查看CPU个数**: - 使用`# lsdev -C | grep proc`来查看系统中的CPU...

    AIX command

    ### AIX Command详解 #### 一、概述 AIX(Advanced Interactive Executive)是IBM公司开发的一种基于UNIX标准的操作系统,广泛应用于IBM Power Systems等高性能计算环境中。本文将围绕AIX命令进行详细介绍,涵盖...

    AIX 5L V5.3 命令参考大全.rar

    6. **文件系统与存储管理**:AIX支持多种文件系统类型,如JFS、JFS2等,对应的命令如`mkfs`用于创建新文件系统,`fsck`进行文件系统检查修复。此外,`df`和`du`用于监控存储空间,`lsattr`和`chattr`操作文件属性,`...

    aix常用指令和文本

    ### AIX常用指令详解 #### 文件系统与目录操作 **ls**:列出当前或指定目录下的文件和子目录。此命令对于快速查看目录结构非常有用。 **pwd**:显示当前工作目录,帮助用户了解自己所在的位置。 **cd**:改变...

    linux启动过程详解.pdf

    - 使用fsck-f命令检查并修复根文件系统hd4,确保其在上一次关机前已经正确卸载。 - 将根文件系统装入RAMFS中的临时挂载点。 - 对/,/usr等文件系统进行检查和挂载。 启动过程中的LED代码显示了不同阶段的执行...

    IBM 系列管理员认证

    ### IBM AIX V5.3 系统管理认证知识点详解 #### 一、启动过程概述 IBM AIX V5.3 系统管理认证中提到的启动过程是系统从开机到完全启动的一系列复杂步骤。这些步骤确保了硬件正确运行,并使操作系统能够接管并提供...

    hacmp 和NSF

    【标题】:HACMP与NSF:高可用性集群和网络文件系统配置详解 【描述】:在高可用性集群管理程序HACMP(High Availability Cluster Multiprocessing)的环境中,配置NSF(Network File System)是实现数据共享和高...

    IBM小型机日常维护

    ### IBM小型机日常维护知识点详解 #### 一、AIX系统管理日常工作(检查篇) **1.1 常用的命令** IBM小型机在企业级应用中扮演着至关重要的角色,尤其是对于运行AIX操作系统的机器来说,掌握一些常用的系统检查...

    unix linux 密码忘记破解

    若遇到挂载失败的情况,可以先运行`fsck /dev/rdsk/c0t0d0s0`修复文件系统错误,然后再尝试挂载。 6. **访问`/etc`目录下的`shadow`文件** 使用`cd /temp/etc`进入`/etc`目录,然后复制`shadow`文件以备份原始...

    Linux学习笔记基础知识版 (2)

    ### Linux学习基础知识版 (2) 知识点详解 #### 服务器简单介绍 - **服务器定义**:服务器是指在网络环境中能够提供数据存储、处理、通信等服务的高性能计算机。它们通常具有比普通个人电脑更高的计算能力和更稳定的...

    SAP_BASIS基础

    ### SAP_BASIS基础知识详解 #### 一、Unix操作系统基础操作 SAP_BASIS的基础之一就是掌握如何在Unix环境下进行基本的操作。这部分内容主要涵盖了Unix的一些常用命令及其应用场景。 ##### 1. 更改口令 - **命令**:...

Global site tag (gtag.js) - Google Analytics