文件系统与inode
• UNIX文件系统有很多种类型,如HFS,NFS,JFS,CDFS。虽然文件系统种类很多,但是也有着一些相同的数据结构:超级块、inode、目录等等。
• inode译成中文就是索引节点,它用来存放文件及目录的基本信息,包含时间、档名、使用者及群组等。 inode数据结构
作为一种数据结构,inode主要包括以下信息:
• inode 编号
• 用来识别文件类型,以及用于 stat C 函数的模式信息
• 文件的链接数目
• 属主的 UID
• 属主的组 ID (GID)
• 文件的大小
• 文件所使用的磁盘块的实际数目
• 最近一次修改的时间
• 最近一次访问的时间
• 最近一次更改的时间 inode数据结构文件
• 从根本上讲, inode 中包含有关文件的所有信息(除了文件的实际名称以及实际数据内容之外)。可以在 Header 文件 /usr/include/jf/ino.h 中或者 Web 页面 中可以找到完整的 inode 结构。 inode块
• 在 UNIX 中创建一个文件系统时,将为 inode 表分配大约百分之一的总磁盘空间。这个百分之一的空间就是inode块。
• inode块中包括所有inode节点。当系统创建了一个文件时,系统就会从这个块中给这个文件分配一个Inode结点。在这个结点中存储了这个文件的大部分属性,如创建、修改时间等等。但是,有两个属性不包含在这个inode结点中,分别为文件名与结点号。——后者原因是因为inode节点按顺序排列,所以系统内核就可以采用简单的算法,就可以得出inode节点号。 inode与磁盘
• inode结点中还存储着一个重要的,就是保存了一个包含13-15位指针元素的数组,这些指针是磁盘块区的地址。
• 这些指针非常的重要。操作系统就是依靠这些指针在硬盘上定位相关的文件,并读取它。 inode优点
• inode不光有别的文件系统数据结构的一些特点,而且由于一些文件的属性都保存在Inode结点中,为此一些命令在获取这些属性的时候,是不需要打开文件的。比如在编写一个文件备份程序,就需要用到inode节点中的修改时间这个属性。此时可以利用相关的命令直接从inode结点中去获取,而不需要打开对应的文件去得知这个。为此在Unix操作系统中文件备份程序的执行效率会比较高,实现起来也相对简单一点。 有关inode的问题
之前说过的inode的两个关键属性:inode编号和inode中的指针数组,假如这两个属性出现问题,很可能会造成很大的灾难。
• 正常情况下,inode编号是不会出现问题的。但是假如由于意外断电或者其他原因的话,有可能会发生一些故障。如可能一个inode结点在系统中已经被创建,但是其没有被正常使用,或者可能块号超出了范围。这些故障会给操作系统留下安全隐患。
• 另外因为一些意外的操作也会使得inode中的指针地址出现错误。有时候这会非常的严重。如一些文件无法读取等等。假如这些文件不幸的是系统的一些配置文件,那么就会导致系统的崩溃。假如这些指针地址出现错误,则文件名仍然会显示在操作系统中。但是假如用户试着去打开这些文件时,系统却会告知无法打开这些文件。 如何解决
• 如果碰到之前说过的问题,可以使用fsck命令来尝试解决。对于inode编号错误, fsck可以修复inode结点中的错误。而对于后者,如果指针指向的文件损坏的不是很严重,那么操作系统内内核会为其再建立一个链接。但是假如原文件损坏的比较厉害了,无法再重新读取。则系统会建立用户删除这个文件。 总结
• 从上面的这些分析中可以看到,inode结点是Unix操作系统中文件的核心,也是操作系统与硬盘中存储的数据的一个中介者。假如这个结点出现错误的话,那么硬盘中存储的数据块就似乎是无主的流浪者,无法被用户所采用。
• 另外我们平时删除文件,其实只是删除了与文件的联系。所以通过一些恢复工具仍然可以恢复被删除了的文件。假如需要真正删除文件的话,就需要格式化硬盘或者复制大文件把其覆盖掉。只有如此硬盘中存储的数据块才会被真正的删除掉。
• 最后需要说明的是,按照正常的关机程序来关闭Unix操作系统,是保护inode结点的最好措施。忽然断电或者其他意外事故,是inode结点的最大杀手。

aix i节点的更多相关文章

  1. 11.2.0.4 aix下运行第二个节点root.sh报错处理

    第二个节点运行root.sh报错如下 Entries will be added to the /etc/oratab file as needed by Database Configuration ...

  2. AIX 5L 系统管理技术 —— 存储管理——卷组

    卷组 在安装系统时,就会创建一个rootvg卷组.包含自带硬盘(内置硬盘)和系统逻辑卷,一个系统只能有一个rootvg卷组.一般情况下rootvg卷组最好只包含自带硬盘. 一.创建卷组 在创建卷组之前 ...

  3. AIX之ASM存储扩容

    ASM存储扩容操作其实很简单,无非就是向DiskGroup(简称DG)里添加物理磁盘,增加DG的存储空间.说来简单,其实操作过程中有很多小细节要注意,否则,带来的后果是灾难性的. ASM扩容操作步骤( ...

  4. 最大化 AIX 上的 Java 性能,第 2 部分: 速度需求

    http://www.ibm.com/developerworks/cn/aix/library/es-Javaperf/es-Javaperf2.html 最大化 AIX 上的 Java 性能,第 ...

  5. Aix命令大全

    AIX服务器系统命令简介 在AIX操作系统上有很多的命令.这里介绍一些系统级的命令,它将有助于回答一些常见问题.大家以此做参考,并补充修改. 以下命令在AIX 5.1上测试通过. 正文 以下命令在AI ...

  6. aix 文件大小相关查询

    一.aix中查看文件夹占用空间大小 du命令默认是显示当前目录下每个文件以及每个子目录以及下属文件的大小的 用du -sg 可看出当前文件夹的大小,包括文件夹下文件和文件夹(以G为单位):用du -s ...

  7. AIX topas命令详解

    本文转载于:AIX topas命令详解 topas命令默认2秒更新一次 一.topas命令以区域形式表现系统各项指标性能,如下图: 1. CPU:反应CPU性能区域,如果有多个 CPU,按 c 键两次 ...

  8. puppet aix之自动化用户管理

    一.    用户组的管理 (一)   Puppet组管理特性 1.   manages_aix_lam 用来管理AIX的LAM(Loadable Authentication Module)系统. 2 ...

  9. AIX下RAC搭建 Oracle10G(一)检測系统环境

    AIX下RAC搭建系列 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX203 AIX204 交换机 SAN光纤交换机 存储 S ...

随机推荐

  1. SQL技术内幕一

    范式:关系模型的规范化规则. Codd提出的三个数据库范式: 1. 第一范式 第一范式要求表中的每一行都是必须是唯一的.因为关系型数据库是基于集合论的,而集合的定义中,要求每一个元素都是唯一的(在关系 ...

  2. Python基于比较的排序

    排序是算法学习中最基本的问题. 1.平均时间复杂度均为O(N2)的排序 1.1 插入排序 插入排序对少量元素的排序非常有效.工作机制就像打牌一样,为了将牌插入到已排好序的牌中,需要将牌与手中的牌从右向 ...

  3. 转:jQuery.fn.extend与jQuery.extend到底区别在哪?

    还是先吐个槽,网上都都是转载抄袭,基本上就那么一两篇文章,说的还不清楚.... 正文: 其实说白了,从两个方法本身就能看出来端倪. 我们先把jQuery看成了一个类,这样好理解一些. jQuery.e ...

  4. MFC应用程序向导生成的文件

    比方说我们用Visio Studio创建了一个MFC应用程序,名称为Mysdi.在创建这个项目的时候,默认的会生成许多类和文件,就关于这些文件的内容和要点展开以下论述. 框架窗口类头文件 向导为项目M ...

  5. 软件测试 -- alpha测试和beta测试的区别

    alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误. Beta测试是用户公司组织各方面 ...

  6. VS Extension: Create a txt file and set the content

    使用 Visual Studio Extension 创建一个文本文件,并填入内容. 需要引用 EnvDTE C:\Program Files (x86)\Microsoft Visual Studi ...

  7. 标准初始化css样式表

    body { font-size:12px; line-height:1.3; font-family:'微软雅黑', Tahoma,Helvetica,Arial,'宋体', sans-serif; ...

  8. POJ 1404 I-Keyboard (DP)

    http://poj.org/problem?id=1404 题意 :手机上的要发短信的话,“我”字需要先按一下9键,再按3下6键,所以,现在想要重新布局每个键上的字母数,让最后的那个值最小,也就是说 ...

  9. FFT初步学习小结

    FFT其实没什么需要特别了解的,了解下原理,(特别推荐算法导论上面的讲解),模板理解就行了.重在运用吧. 处理过程中要特别注意精度. 先上个练习的地址吧: http://vjudge.net/vjud ...

  10. ANDROID_MARS学习笔记_S02_006_APPWIDGET3_AppWidget发送广播及更新AppWidget

    一.简介 二.代码1.xml(1)example_appwidget.xml <?xml version="1.0" encoding="utf-8"?& ...