热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux中ext2、ext3及reiserfs文件系统概述

文章标题:Linux中ext2、ext3及reiserfs文件系统概述。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

一、什么是文件系统 Filesystem);

 

1、常见定义方法;

 

什么是文件系统(filesystem),用一两句话解答出来,实在有点困难,这个问题只能留给文件系统的设计者或对文件系统精通的专业人士来答复;下面是关于filesystem的定义是我从 Google.com 上搜索到的;下面我们分析一下,对我们来说,了解一下也有好处。如果您是专业人士,如果您有自己的定义方法,请在本文后面留言;谢谢;

 

定义一;

 

A directory structure contained within a disk drive or disk area. The total available disk space can be composed of one or more filesystems. A filesystem must be mounted before it can be accessed. To mount a filesystem, you must specify a directory to act as the mount point. Once mounted, any access to the mount point directory or its subdirectories will access the separate filesystem.

 

文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点;一旦文件系统被挂载,

 

freebooks.by.ru/view/ShellProgIn24h/31480175.htm

 

定义二;

 

A method of organising files on a disk, eg NTFS, FAT.

linux-ntfs.sourceforge.net/ldm/home/terms.html

 

文件系统是在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区组织文件的方法,如NTFSFAT

 

定义三;

 

A data structure or a collection of files. In Unix, filesystem can refer to two very distinct things, the directory tree or the arrangement of files on disk partitions.

 

文件系统是文件的数据结构或组织方法。在Unix中,文件系统涉及两个非常独特的事情,目录树或在磁盘或分区上文件的排列;

 

www.emulex.com/ts/docfc/glossary.htm

 

定义四;

 

the structure of files on a disk medium which is visible via the operating system, ie the structure of files which a Unix user can see using "ls" and other tools

 

文件系统是基于操作系统的,建立在磁盘媒质上的可见体系结构,例如这种结构对于一个Unix用户来说可以用ls 或其它工具可以看到;

 

www.ucolick.org/~de/deimos/glossary.html

 

定义五;

 

A software mechanism that defines the way that files are named, stored, organized, and accessed on logical volumes of partitioned memory.

 

文件系统是基于被划分的存储设备上的逻辑上单位上的一种定义文件的命名、存储、组织及取出的方法;

 

www.evestigations.com/html/glossary.html

 

定义六;

 

In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. File systems may use a storage device such as a hard disk or CD-ROM and involve maintaining the physical location of the files, or they may be virtual and exist only as an access method for virtual data or for data over a network (e.g. NFS).

 

在计算机业,一个文件系统是有组织存储文件或数据的方法,目的是易于查询和存取。文件系统是基于一个存储设备,比如硬盘或光盘,并且包含文件文件物理位置的维护;也可以说文件系统也是虚拟数据或网络数据存储的方法,比如NFS

 

en.wikipedia.org/wiki/Filesystem

 

2、理解文件系统的关健词;

 

0)存储介质:

 

硬盘、光盘、软盘、Flash盘、磁带、网络存储设备等;

 

1)磁盘的分割:

 

这是针对大容量的存储设备来说的,主要是指硬盘;对于大硬盘,我们要合理规划分区,所以要谈到硬盘的分割。硬盘的分割,Linuxfdiskcfdiskparted等,常用的还是fdisk 工具,Windowsdos常用的也有fdisk ,但和Linux中的使用方法不一样。硬盘的分割工具还有第三方程序,比如PQ

 

2)文件系统的创建:

 

这个过程是存储设备建立文件系统的过程,一般也被称为格式化或初始化,通过一些初始化工具来进行。一般的情况下每个类型的操作系统都有这方面的工具,也有多功能的第三方工具,比如PQ。我的建议是如果您不太懂操作系统自带的工具,可以用第三方工具来切割硬盘,把硬盘分割成若干分区,然后再用操作系统自带的工作来初始化分区,也就是格式化分区。在Linux中有 mkfs系列工具;

 

3)挂载(mount):

 

文件系统只有挂载才能使用,Unix类的操作系统如此,Windows也是一样;在Windows更直观一些,具体内部机制我们不太了解。但Unix类的操作系统是通过mount进行的,挂载文件系统时要有挂载点,比如我们在安装Linux的过程中,有时会提示我们分区,然后建立文件系统,接着是问你的挂载点是什么 ,我们大多选择的是/ 。我们在Linux系统的使用过程中,也会挂载其它的硬盘分区,也要选中挂载点,挂载点通常是一个空置的目录,最好是我们自建的空置目录;

 

4)文件系统可视的几何结构:

 

文件系统的是用来组织和排列文件存取的,所以她是可见的,在Linux中,我们可以通过ls等工具来查看其结构,在Linux系统中,我们见到的都是树形结构;比如操作系统安装在一个文件系统中,他表现为由/ 起始的树形结构;

 

[root@localhost ~]# cd /

[root@localhost /]# tree

 

二、文件系统的类型;

 

文件系统类型有很多,您可以在 Linux 文件系统(filesystem)资源索引》 中查看;但我们在Linux中常用的文件系统主要有ext3ext2reiserfs

 

WindowsDos常用的文件系统是fat系列(包括fat16fat32等)和ntfs 文件系统;

 

光盘文件系统是ISO-9660文件系统;

 

网络存储NFS服务器在客户端访问时,文件系统是nfs,这个比较特殊一点;

 

至于您想了解的更多,请访问您所用的文件系统的官方网站,请在《Linux 文件系统(filesystem)资源索引》 查找相应的资源,谢谢;

 

三、Linux 文件系统的选择和安全性;

 

如果做为专业人士来说,应该说哪个文件系统都是安全的;用Linuxfish的话来说“哪个文件系统的设计者都不是傻子,他们应该明白自己的作品是怎么回事。”。做为文件系统的设计者来说,我们一般在使用的过程中所遇到的问题,他们都应该有解决办法。但我们毕竟不是专业从事文件系统研究的,所以我们有必要从使用角度来说明文件系统的安全性;

 

对于初学Linux的弟兄,一定会遇到文件系统的选择左右为难的情况,因为大多新手并不知道哪个文件系统更好;现在我们来谈谈文件系统的选择;

 

1Linux操作系统安装过程中的文件系统的选择;

 

1ext2 文件系统;

 

ext2文件系统应该说是Linux正宗的文件系统,早期的Linux都是用ext2,但随着技术的发展,大多Linux的发行版本目前并不用这个文件系统了;比如RedhatFedora 大多都建议用ext3 ext3文件系统是由ext2发展而来的。对于Linux新手,我们还是建议您不要用ext2文件系统;ext2支持undelete(反删除),如果您误删除文件,有时是可以恢复的,但操作上比较麻烦; ext2支持大文件;

 

ext2文件系统的官方主页是: http://e2fsprogs.sourceforge.net/ext2.html

 

2ext3 文件系统:是由ext2文件系统发展而来;

 

ext3 is a Journalizing file system for Linuxext3是一个用于Linux的日志文件系统),ext3支持大文件;但不支持反删除(undelete)操作; RedhatFedora都力挺ext3;至于ext3文件系统的更多特性,请访问 Linux 文件系统(filesystem)资源索引》

 

3reiserfs 文件系统;

 

reiserfs 文件系统是一款优秀的文件系统,支持大文件,支持反删除(undelete);在我的测试ext2reiserfs 反删除文件功能的过程中,我发现reiserfs文件系统表现的最为优秀,几乎能恢复 90%以上的数据,有时能恢复到100%;操作反删除比较容易;reiserfs 支持大文件;

 

4Linux文件系统对大文件支持的对比;

 

Filesystem File Size Limit Filesystem Size Limit

ext2/ext3 with 1 KiB blocksize 16448 MiB (~ 16 GiB) 2048 GiB (= 2 TiB)

ext2/3 with 2 KiB blocksize 256 GiB 8192 GiB (= 8 TiB)

ext2/3 with 4 KiB blocksize 2048 GiB (= 2 TiB) 8192 GiB (= 8 TiB)

ext2/3 with 8 KiB blocksize (Systems with 8 KiB pages like Alpha only) 65568 GiB (~ 64 TiB) 32768 GiB (= 32 TiB)

ReiserFS 3.5 2 GiB 16384 GiB (= 16 TiB)

ReiserFS 3.6 (as in Linux 2.4) 1 EiB 16384 GiB (= 16 TiB)

XFS 8 EiB 8 EiB

JFS with 512 Bytes blocksize 8 EiB 512 TiB

JFS with 4KiB blocksize 8 EiB 4 PiB

NFSv2 (client side) 2 GiB 8 EiB

NFSv3 (client side) 8 EiB 8 EiB

 

Note Kernel Limitations: The table above describes

limitations of the on-disk format. The following kernel limits

exist:

 

On 32-bit systems with Kernel 2.4.x: The size of a file and a

block device is limited to 2 TiB. By using LVM several block

devices can be combined enabling the handling of larger file

systems.

64-bit systems: The sizes of a filesytem and of a file are

limited by 263 (8 EiB). But there might be hardware

driver limits that do not allow to access such large devices.

Kernel 2.6: For both 32-bit systems with option CONFIG_LBD set

and for 64-bit systems: The size of a file system is limited to

273 (far too much for today). On 32-bit systems

(without CONFIG_LBD set) the size of a file is limited to 2 TiB.

Note that not all filesystems and hardware drivers might handle

such large filesystems.

 

Note in the above:

1024 Bytes = 1 KiB;

1024 KiB = 1 MiB;

1024 MiB = 1 GiB; 1024 GiB = 1 TiB; 1024 TiB = 1 PiB; 1024 PiB = 1

EiB (check http://physics.nist.gov/cuu/Units/binary.html)

 

Maximum Number of Partitions

An IDE disk has 64 minors, one is used for the full disk and therefore 63 partitions are possible. A SCSI disk has 16 minors and therefore only 15 partitions maximal.

 

2、文件系统的安全性;

 

任何一个文件系统在专家眼中都是安全的,就象MSWindows是安全性是可靠的类似,如果MS专家来用Windows绝对没有任何问题,毕竟人家是专家,我们是使用者;专家和使用者还是有很大区别的;

 

因为我们不是专家,所以我们才要选择更为安全易用的文件系统,下面我们对比一下ext2ext3reiserfs

 

1ext2ext3reiserfs 文件系统自动修复能力对比;

 

ext2ext3reiserfs 都能自动修复损坏的文件系统,也都是在开机时进行。从表现来看reiserfs更胜一筹;ext2ext3文件系统在默认的情况下是“This filesystem will be automatically checked every 21 mounts or 180 days, whichever comes first”,也就是每间隔21次挂载文件系统或每180天,就要自动检测一次。

 

通过实践来看ext2ext3auto check上是存在风险,有时文件系统开机后就进入单用户模式,并且把整个系统 “扔”进lost+found"目录,如果要恢复系统,就得用fsck 来进行修复;当然fsck 也同样存在风险;所以我们对ext2ext3文件系统的使用,对新手来说的确需要心里准备;毕竟修复已经损坏的ext2ext3文件系统是有困难的;

 

另外ext2ext3文件系统对于意外关机和断电,也可能导致文件系统损坏,所以我们在使用过程中,必须是合法关机;比如执行poweroff指令来关掉机器;

var cpro_id = "u6885494";

推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
author-avatar
男人--沉默底线
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有