1. inode本来是ext2文件系统中一个非常key的concept,
    简单说,关于一个逻辑文件在磁盘上的描述信息,就存储在inode里。
    那么,这些文件描述信息具体指的是什么呢?看下列命令
    [root@cstlzos ~]# stat mbox
      File: `mbox’
      Size: 47412           Blocks: 96         IO Block: 4096   regular file
    Device: 802h/2050d      Inode: 21889040    Links: 1
    Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2008-03-17 14:10:34.000000000 +0800
    Modify: 2007-09-10 21:08:52.000000000 +0800
    Change: 2007-09-10 21:08:52.000000000 +0800
    从这里可以看出,文件size,所占Blocks(这个Block不是指的IO Block),IO Block的大小,文件的access info,访问时间,修改时间(change and modification)等,都算是存在inode里的。
  2. [root@cstlzos ~]# stat -c %B mbox                    //512*96=49152
    512

    [root@cstlzos ~]# stat -c %b mbox                   //这里96分配的block的个数,不是IO Block
    96

    [root@cstlzos ~]# stat -c %o mbox
    4096
    IO Block的计算方法:%B*%b/%o=512*96/4096=12,也就是说mbox占用了12个Block
    IO Block也就是mkfs.ext2命令-b后跟的那个数,在(1024,2048,4096)三中取一。

  3. inode表
    对于每个分区,有一张inode表来装inode,这张表的大小是如何决定的呢?
    首先,一旦分区被格式化后,他的inode表大小就定下来了,不能在动态修改
    mkfs.ext3使用两个参数来决定inode表大小:-i bytes-per-inode和-N number-of-inodes
    -N number-of-inodes优先级高,直接指定inode个数
    -i bytes-per-inode的意思是每个inode描述多少字节,一般bytes-per-inode是IO Block的倍数,分区大小/bytes-per-inode就是inode个数
  4. ext2磁盘的layout
    很显然,inode首先在磁盘上存在,用来刻画磁盘上的文件,那么磁盘的layout是怎样的呢?
  5. [root@cstlzos ~]# dumpe2fs /dev/sda1
    dumpe2fs 1.39 (29-May-2006)
    Filesystem volume name:   /boot1
    Last mounted on:          <not available>
    Filesystem UUID:          9382e2ae-37c5-4ad6-9ec3-864999a48597
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
    Default mount options:    user_xattr acl
    。。。 。。。

    Group 0: (Blocks 0-32767)
      Primary superblock at 0, Group descriptors at 1-1
      Reserved GDT blocks at 2-188
      Block bitmap at 189 (+189), Inode bitmap at 190 (+190)
      Inode table at 191-1189 (+191)
      13734 free blocks, 31953 free inodes, 2 directories
      Free blocks: 17826-17952, 19161-32767
      Free inodes: 16-31968
    Group 1: (Blocks 32768-65535)
      Backup superblock at 32768, Group descriptors at 32769-32769
      Reserved GDT blocks at 32770-32956
    。。。 。。。

     

Advertisements