Chinaunix首页 | 论坛 | 博客
  • 博客访问: 720843
  • 博文数量: 191
  • 博客积分: 10987
  • 博客等级: 上将
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-22 09:52
文章分类

全部博文(191)

文章存档

2014年(10)

2011年(11)

2010年(38)

2009年(132)

分类: LINUX

2009-05-15 09:24:53

 

一:文件系统

1i-节点

i-节点(inode)存储所有和文件有关的元数据。文件的元数据是文件名和文件内容以外的,所有有关文件的信息。比方说: 文件所有者,权限,及其修改时间都存储在它的i-节点上。

2dentry

Dentry 是“directory entry(目录项)的缩写形式。它包含文件名和文件在目录系统中的位置。

并将文件的这个标示和文件的i-节点联系起来。

3data

这是文件的内容,文件的i-节点指向这个内容。

文件系统的定义:

在磁盘或磁盘分区上定义哪一字块含有dentry ,哪一字节块含有dentry 指向的i-节点和哪一字节块含有i-节点指向的data的结构。磁盘分区格式化,在linux系统就是建立文件系统格式。

二:磁盘空间的规划

1:块

 文件系统会在磁盘建立块扇区,块扇区主要用来存放文件的内容。Linux系统通过文件系统来读取文件内容时候,每次可以读取若干个块的数据。

块扇区可以分为两种:

 ---à数据块(data block:主要是用来存放文件的内容。

 ---à超级块(super block:主要是用来存放数据块的信息。

2:索引节点

在文件系统上还会建立以堆索引节点的扇区,每一个索引节点用来存储一个文件的信息。包括以下几个方面:

---à文件类型

-----权限

-----连接数量

-----拥有者信息

-----拥有群组信息

----文件大小

----数据块的位置

说明:由于一个索引节点只能存储一个文件的信息。因此文件系统配置了多少个索引节点就代表最多能存储多少个文件。

三:制作文件系统

使用命令:mkfs

四:linux支持的文件系统

1ext2

它具有linux文件系统要求的具有的所有的特征。

2ext3

支持日志功能。是红帽linux默认的文件系统。

3msdos

4vfat

Vfatmsdos的扩展版本。

5nfs

网络文件系统,可以在linux之间共享目录

6smbfs

网络文件系统,异构网络之间共享目录

7iso9660

是光盘只读文件系统

8proc

存在于内核的虚拟文件系统。不占用内存空间。

9reiserfs

是红帽linux支持的另外一种具有日志功能的文件系统。

10jfs

红帽不支持。

。。。。。。更多请查看man fs手册

五:创建文件系统

在块设备存储文件数据之前必须初始化块设备。

使用命令:

查看下

[root@lvm /]# ls /sbin/mkfs.*

/sbin/mkfs.cramfs  /sbin/mkfs.ext3   /sbin/mkfs.vfat

/sbin/mkfs.ext2    /sbin/mkfs.msdos

建立不同的文件系统请使用不同的命令。

1:创建ext2文件系统

创建ext2文件系统:mke2fs

Mke2fs命令选项:

-b blocksize    以字节为单位指定文件系统块的大小:102420484096 等等。

-c            建立文件系统时候检查损害块。

-i density      指定i-节点的密度

-N number     直接指定i-节点的数量

-j            建立文件系统日志,即加上命令选项-j 直接建立ext3文件系统。

-L label       将文件系统的卷标设置为label

-m n         保留块的大小指定 n%

说明:一般来说:文件系统越大,块大小就越大;文件系统越小,块大小就越小。

2:使用dumpe2fs命令查看文件系统的状态

六:挂载文件系统

挂载/卸载文件系统:mount/umount

1:挂载参数:

使用mount 挂载文件系统时候,你可以指定挂载的参数来修改文件系统的功能。

挂载参数分为共享挂载参数和文件系统特定的挂载参数两张。

1):共享挂载参数:

共享挂载参数可以应用于任何文件系统,而且是两两一组的。两两参数是互斥的关系。比喻:

ro/rw    使用了ro ,就不能rw.

常用共享挂载参数:

参数                          说明

 

async/sync                  async 异步(I/O效率高)  sync  同步

auto/noauto                  定义在执行mount –a 时要不要自动挂载

                            auto :表示需要自动挂载;noauto : 表示不需要自动挂载

exec/noexec                  在该文件系统的执行文件是否允许被执行。

                            Exec 参数表示运行被执行;noexec 参数表示不允许被执行

atime/noatime                文件系统上的文件被修改时候是否更新其时间戳记的资料。

                           Atime 表示更新,notime 表示不更新。

dev/nodev                   定义是否要启用这个文件系统上面的块设备、字符设备的设

                           备节点文件。

                           dev  表示被启用;nodev 表示不启用。

Suid/nosuid                定义在这个文件系统上是否启用特殊权限(special permission)的功能。

                           Suid 表示启用;  nosuid 表示不启用。

user/nouser                 定义是否允许普通用户使用mount命令挂载文件系统。user 代表运行;nouser 代表不允许。

ro/rw                      定义这个文件系统是只读或只读只写的。

                          Ro  表示只能读取,任何人无法写入;rw 表示可读可写。

defaults                   当你挂载文件系统而没有指定任何挂载参数时候,linux系统就会把defaults 当做挂载参数。

说明:defaults 是这几个参数的组合:rwsuidexecautonouserasyncdev七个参数的组合而成的。

2):文件系统特定挂载参数:

另外一些参数仅适合于某些文件系统。我们称这些挂载参数为文件系统的特定的挂载参数。

ext文件系统的增加了一个acl的挂载参数。通过这个参数能够开启ACL访问控制,对

 文件的访问权限进行更加细粒度的控制。

fat文件系统增加codepage 挂载参数。运行管理者设置代页码名称,以指定文件名的字

符种类。

3):指定和修改挂载参数

“指定和修改挂载参数”是指启用defaults默认参数时候而修改成其他的单组或多组参数。

有两种方法:

------à执行mount时,直接指定 –o MOUNT_OPTIONS 参数

说明:仅适用于新挂载文件系统时候。如果已经挂载,必须先卸载之后,再重新使用参数来

挂载。

-----à使用mount –o remount,MOUNT_OPTIONS 修改挂载参数

说明:不需要卸载就直接修改文件系统的挂载参数。

2:卸载umount命令

说明:如果出现无法卸载的情况,请尝试结束调用该文件系统的所有进程来就可以顺利卸载

该文件系统了。

使用fuser这个工具来查看和终止该文件系统的进程。

1):查询哪些进程还在使用该文件系统

      fuser –vm 挂载点

2):结束使用某一文件系统的进程

      fuser –km [-SIGNAL] 挂载点

   说明:[-SIGNAL]默认是SIGKILL。杀死进程信号。

3cahcebuffer

内存之中一小块存储临时数据的地方称为chace/buffer.

系统会把以前读过的数据暂存chace/buffer里面,以加快同样数据的调用速度。当进程要把

数据写入磁盘时候,也先暂时存放在chace/buffer里面。等待内核负荷较低的时候,批次把

Chace/buffer里的数据写入到磁盘

4:文件系统的状态

1):dirty

当文件系统以rw方式挂载时候,系统会将该文件系统的状态标记为dirty.

 (2): clean

当文件系统以ro方式挂载时候,或是正常卸载文件系统时候,系统会将该文件系统标记为

clean.

5:命令fsck

fsck [-A][-a][-y][-f] [DEVICE]

参数说明:

-A     依据/etc/fstab的设置,检查所有文件系统的完整性。

-a     自动修复文件系统

-y     不必询问,直接修复

-f      即使文件系统是干净的,也强制修复。

[DEVICE]    文件系统名称

警告:千万不要对已经挂载的文件系统进行修复,这将破坏文件系统的结构。

七:ext2文件系统详解

1ext2文件系统的功能

1):支持255个字符的文件名称

说明:除了”/”之外的任何字符

2):支持各种类型的文件

说明:常规文件;目录;连接文件;设备文件;跨进程通信文件;管道文件。

3):单一文件系统最大为8TB(32位是8TB64位是16TB)

4):单一文件最大为8TB

5):提供文件的特殊属性

说明:当你在ext2文件系统建立文件时候。Ext2除了记录文件的权限,拥有者等信息外,

还存储ext2系统上面的特殊属性:

Ext2文件系统的文件特殊的属性一览表

属性

说明

a

只能增加数据,而不能删除数据或覆盖数据

c

允许由内核自动压缩

d

通过dump备份时,跳过该文件

i

该文件不能增加,不能删除,不能覆盖。

j

挂载参数是data=ordereddata=writeback时候,将所有数据写入日志块区。

s

安全地删除

u

可以进行反删除     #???啥意思

A

读取该文件时候,不更新该文件的时间戳记。

D

当目录被修改时候,立即写回磁盘

S

文件一被修改,立即写回磁盘

备注

 

 

6):可以为ext2文件系统设置卷标名称

说明:查看和设置ext2文件系统的卷标名称命令

     e2label DEVICE [LABELNAME]

参数说明:

     DEVICE 就是ext2的文件系统的设备文件;而LABELNAME则是设置的卷标名称。如果没有指定LABELNAME。则表示查看DEVICE目前的设置的标签名称。

说明:使用命令findfs来搜索某个标签名称属于哪个文件系统。

      # findfs LABEL=/var

      /dev/sdb

警告:--à如果重新制作文件系统,原来的标签失去作用,必须重新设置。

      ---à修改了某一个文件系统的标签之后,也要同时更改相关的配置。要不,很可能系统无法顺利开机。

7):可以调校ext2文件系统

Ext2文件系统存储了ext2文件系统参数。要调校ext2文件系统系统参数,必须使用tune2fs

这个工具。

tune2fs 参数一览表

8):通过cache/buffer提高ext2文件系统的效率

(9):  多重读取控制清单(MACL

 

 

 

使用命令:

getfacl    查看文件的多重据权限 格式:getfacl    FILES

setfacl [-m |-x] ACLS FILES

说明

-m   参数来修改文的多重限的数据

-x   来删除件的多权限的数据

ACLS    这是一组权限的据,法如下:

FILED:NAME:PERM

FILED   代表权的字段     ugo 分别代表拥有,拥有群,已经他人。

NAME   代表用或群的名称

PERM     代表权限

范例:

setfacl m u:jerry:r file

说明

用户 jerry file 没有读的权限, setfacl 的设置,授予用户 jerry file 读取的权限。

八:ext3 文件系统

1:与 ext2 完全兼容

(1)  格式:  resize2fs [OPTIONS] DEVICE [NEWSIZE]

(2)  警告:

---resize2fs 命令只适 ext3 文件系统

---要放大件系统现将其如果缩小件系统必须其卸载Resize2fs

命令只支在线放和离线小。

---放大时,不能过分区小;缩后的文必须大于使用的.

---缩小前执行命令 e2fsck -f DEVICE

3:提供日式文件统的能力

日志服务程:kjournald

说明:

 

Ext3 文件系就是个提供志功能文件系统你挂载一个 ext3 件系统时候linux

系统会把个文件统标注干净的后启动一个服务为 kjournald 的进程负责把 cache

buffer 修改的数据同步 ext3 的日志块。

 reboot  重新启动系统时候,fsck  就会直接把  ext3  日志块的据还原内存中  cache  

bufferde  的内容。然后同步写到磁盘中。

九:交换件系统有详细明文档略过)。

涉及的命简要说一下:fdisk     mkswap    dd   swapon

********************

**********************

 

 

 

                    

 

                       

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 



阅读(2998) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~