Linux服务器配置与管理完全学习手册
上QQ阅读APP看书,第一时间看更新

3.3 文件系统结构介绍

文件系统类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。文件系统主要有以下几种类型。

1.磁盘文件系统

包括硬盘、CD-ROM、DVD、USB存储器与磁盘阵列等。常见文件系统的格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext2、Ext3、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS(New Technology File System)等。

2.网络文件系统

网络文件系统是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络来远程访问数据。常见文件系统格式有:NFS(Network File System,网络文件系统)、Samba(SMB/CIFS)、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等。

3.专有/虚拟文件系统

不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。

在Windows系统中,硬盘分区通常都是采用FAT32或NTFS文件系统,而在Linux系统中,硬盘分区大都采用EXT3、EXT4文件系统。最新的RHEL6.4采用的就是EXT4文件系统。EXT4为第4代的扩展文件系统,是RHEL6中默认使用的文件系统类型,属于典型的日志型文件系统。其特点是可以保存磁盘存取记录的日志数据,便于需要的时候恢复,此外性能和稳定性更加出色。除了EXT4文件系统之外,Linux中还有一个比较特殊的swap类型的文件系统,swap文件系统是专门给交换分区使用的。交换分区类似于Windows系统中的虚拟内存,能够在一定程度上缓解物理内存不足的问题。不同的是,在Windows系统中采用的是一个名为pagefile.sys的系统文件作为虚拟内存来使用,而在Linux系统中则是划分了一个单独的分区作为虚拟内存来使用,这个分区被称为交换分区。交换分区的大小通常设置为主机物理内存容量的2倍,如主机的物理内存容量为1GB,则交换分区的容量设置为2GB即可。

大多数由Windows平台转来的用户在使用Linux文件系统的时候都会感到困惑。Linux文件系统与Windows文件系统有很大的差别。作为开端,只有一个单独的顶级目录结构,所有一切都从‘根’开始,用‘/’代表,并且延伸到子目录。DOS/Windows有不同的分区,同时目录都存于分区上。Linux则通过‘加载’的方式把所有分区都放置在“根”下指定的目录里。Windows下最接近于‘根’的是“c:”。可以总结为在Windows环境下,目录结构属于分区;在Linux环境下,分区‘加载’于目录结构。

在Windows环境下,启动时检测不同的分区并赋予每个分区一个字母。在Linux环境下,除非用户加载一个分区或设备,否则系统不会知道哪个分区的存在。这看上去也许不是访问分区或设备的最方便的方式,但是这种方式提供了较大的机动性。这种构建的方式被称为统一的文件系统,超越了Windows系统所使用的方式。举个使用/usr的例子,这个目录包含了大多数的系统可执行文件。在Linux文件系统下,用户可以选择把它加载为其他分区甚至网络上的其他计算机,而系统都不会感知其中的不同,因为它表现出的只是本地目录结构下众多目录中的一个而已。

Linux文件系统目录说明及Windows文件系统的比较可总结如下:对于Windows系统,每个分区有一个盘符,每个分区使用独立的文件系统,在每一个分区都会有一个根目录,定位文件或目录位置时使用“\”进行分隔。而对于Linux系统,目录结构如图3-1所示,整个系统中只存在一个根目录,所有的分区、目录、文件都在同一个根目录下面。定位文件或目录位置时使用“/”进行分隔。根目录是Linux文件系统的起点,一个硬盘分区只有挂载到某个目录中才能被访问,这个指定的目录就被称为挂载点。如将分区“/dev/hda2”挂载到根目录“/”,那么通过访问根目录“/”就可以访问到“/dev/hda2”分区,这个分区也就称为根分区。需要注意的是Linux同样选择了大小写敏感,这意味着字母的大小写变得非常重要。

图3-1 Linux系统目录结构