资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
5.1 Linux文件系统 5.2 Linux磁盘管理 本章小结 习题,第5章 Linux磁盘管理,5.1 Linux文件系统,5.1.1 EXT2文件系统 当磁盘初始化时(使用fdisk),磁盘中将添加一个描述物理磁盘逻辑构成的分区结构。每个分区可以拥有一个独立的文件系统,如EXT2。文件系统将文件组织成包含目录、软连接等存在于物理块设备中的逻辑层次结构。包含文件系统的设备叫块设备。Linux文件系统认为这些块设备是简单的线性块集合,它并不关心或理解底层的物理磁盘结构。,对底层物理磁盘结构的工作由块设备驱动来完成,由它将对某个特定块的请求映射到正确的设备,此块所在硬盘的对应磁道、扇区及柱面数都被保存起来。不管哪个设备持有这个块,文件系统都使用相同的方式来寻找并操纵此块。,Linux文件系统不管(至少对系统用户来说)系统中有哪些不同的控制器控制着哪些不同的物理介质,且这些物理介质上有几个不同的文件系统。文件系统甚至还可以不在本地磁盘上,而在通过网络连接的远程机器的硬盘上。 设有一个根目录内容如下的SCSI硬盘:,此时,不管是用户还是程序都无需知道这些文件中的 /C实际上是位于系统第一个IDE硬盘上并已安装VFAT文件系统。在此例中/E表示系统中第二个IDE控制器上的主IDE硬盘。至于第一个IDE控制器是PCI控制器,第二个则是控制IDE CDROM的ISA控制器,这些都无关紧要。当使用Modem通过PPP网络协议来拨入网络时,可以将Alpha AXP Linux文件系统安装到 /mnt/remote目录下。,文件系统中的文件是数据的集合。包含Linux磁盘管理内容的文件是一个名叫filesystems.tex的ASCII文件。文件系统不仅包含着文件中的数据而且还有文件系统的结构。所有Linux用户和程序员看到的文件、目录、软连接及文件保护信息等都存储在其中。此外,文件系统中必须包含安全信息以便保持操作系统的基本完整性。没人愿意使用一个动不动就丢失数据和文件的操作系统。,在Linux中普通文件和目录文件保存在称为块物理设备的磁盘(即物理盘)或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统,其类似于微机磁盘分区。每个文件系统由逻辑块的序列组成,一个逻辑块空间一般划分为几个用途各不相同的部分,即引导块、超级块、Inode区以及数据区等。,引导块在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块用于记录文件系统的管理信息,特定的文件系统定义了特定的超级块;Inode区又称索引节点,一个文件或目录占据一个索引节点,第一个索引节点是该文件系统的根节点,利用根节点可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区用于存放文件数据或者管理数据。 Linux最早引入的文件系统类型是Minix。但Minix文件系统有一定的局限性,如文件名最长14个字符,文件最长64 MB。第一个专门为Linux设计的文件系统是EXT(Extended File System),但目前流行最广的是EXT2。,对文件系统而言,文件仅是一系列可读写的数据块。文件系统并不需要了解数据块应该放置到物理介质的什么位置,这些都是设备驱动的任务。无论何时只要文件系统需要从包含它的块设备中读取信息或数据,它将请求底层的设备驱动读取一个基本块大小整数倍的数据块。EXT2文件系统将它所使用的逻辑分区划分成数据块组。每个数据块组将那些对文件系统完整性最重要的信息复制出来,同时将实际文件和目录看做信息与数据块。为了在发生灾难性事件时能保证文件系统的修复,这些复制非常有必要。,尽管文件系统的实现并不复杂,但它是可伸缩和可扩展的体系结构的好例子。文件系统体系结构已经发展了许多年,并成功地支持了许多不同类型的文件系统和许多目标存储设备类型。由于使用了基于插件的体系结构和多层的函数间接性,Linux文件系统在近期的发展很值得关注。,5.1.2 EXT3文件系统 EXT3文件系统是EXT2文件系统的增进版本。EXT3与EXT2相比提供了以下优越性: 1. 可用性 在异常断电或系统崩溃(又称不洁系统关机,Unclean System Shutdown)发生时,每个在系统上挂载的EXT2文件系统必须要使用e2fsck程序来检查其一致性。这是一个很费时的过程,特别是在检查包含大量文件的庞大文件卷时,它会大大耽搁引导时间。在这期间,文件卷上的所有数据都不能被访问。,由EXT3文件系统提供的登记日志方式意味着不洁系统关机后没必要再进行此类文件系统检查。使用EXT3系统时,一致性检查只在某些罕见的硬件失效(如硬盘驱动器失效)情况下才发生。不洁系统关机后,EXT文件系统的恢复时间不根据文件系统的大小或文件的数量而定,而是根据用于维护一致性的登记日志(Journal)的大小而定。根据各个硬件的速度,默认的登记日志只需花大约1 s来恢复。,2. 数据完好性 EXT3文件系统在发生不洁系统关机时提供更强健的数据完好性。EXT3文件系统允许用户选择数据接受的保护类型和级别。 Red Hat Linux 9默认配置EXT3文件卷来保持数据与文件系统状态的高度一致性。 3. 速度 尽管EXT3把数据写入不止一次,但它的总处理能力在多数情况下仍比EXT2系统要高。这是因为EXT3的登记日志方式优化了硬盘驱动器的运行。用户可以从三种登记模式中选择一种来优化速度,但这么做会在保持数据完好性方面做出一些牺牲。,4. 简易转换 用户可以不经重新格式化而把EXT2转换为EXT3系统,从而获得强健的登记式文件系统的优越性。 下面进行EXT3分区的创建和微调。如果有EXT2分区,并在运行Asianux 3.0,则可以跳过以下的分区和格式化部分。安装Asianux 3.0后,可能会感到有必要创建一个新的EXT3文件环境,以便继续工作。譬如,给Asianux 3.0系统添加了一个新的磁盘驱动器,可给这个磁盘驱动器分区,并使用EXT3文件系统。,创建EXT3文件系统的步骤如下: (1) 使用parted或fdisk来创建分区。 (2) 使用mkfs来把分区格式化为EXT3文件系统。 (3) 使用e2label给分区设标签。 (4) 创建挂载点。 (5) 把分区添加到 /etc/fstab文件中。,5.2 Linux磁盘管理,5.2.1 存储器的命名 Linux磁盘管理中对存储器的命名如下: 磁盘: /dev/hdx IDE /dev/sdx SCSI/USB 软盘: /dev/fdx x=0/1 CD-ROM:/dev/cdrom IDE /dev/scdrom SCSI,5.2.2 磁盘的分区 Linux自带的分区工具:fdisk和parets。下面重点对fdisk分区工具进行介绍。fdisk分区的命令格式如下: #fdisk设备文件 对fdisk命令详解如下: m:获取帮助; n:新建分区; p:显示分区; d:删除分区;,b:设置卷标; w:写入分区; t:改变分区大小; v:检验分区; i:显示fdisk所支持的文件系统代码; q:退出。 将硬盘按如下要求进行分区划分:,建立主分区与扩展分区: #fdisk /dev/had 1:n 新建 2.:p 新建主分区 First cylinder (1-3002 default): Lost cylinder (+size, cylinder):+3000M,建立FAT32等非Linux分区: #fdisk /dev/had Command(m for help):n :1 First clylincle: Last clyincle: :w .:l 显示文件系统编号 .:t 改变分区文件系统类型,分区未被格式化 输入分区号:8.,输入文件系统编号:(83 EXT3) :w 存盘退出 删除分区: :d 输入分区号:,5.2.3 文件系统的管理 1. 文件系统的建立 1) mkfs分区 mkfs分区的命令格式如下: mkfs 参数 分区 它的功能是建立各种类型的文件系统并格式化。 其中各参数的说明如下: -t:文件系统类型。 -c:建立文件系统之前检查有无坏道。 -l:从文件中读取坏道的情况。 -v:显示详细情况。,例如,输入命令: #mkfs /dev/hda3 其意义是创建分区时所指定的默认文件系统。 例如,输入命令: #mkfs -t ext3 /dev/hda3 其意义是创建分区时指定EXT3文件系统。 注:mke2fs文件系统工具与mkfs相似但只能创建EXT2文件系统。,2) mkswap分区 mkswap分区的命令格式如下: mkswap 参数 分区/文件(块文件) 它的功能是用于建立交换分区。 其中各参数的说明如下: -c:检查坏块。 例如,输入命令: #mkswap /dev/hda8 其意义是在hda8分区上建立交换分区。,3) dd dd的语法格式如下: dd bs=cbs=conv=count=ibs= if=obs=of=seek=skip=-help-version 它的功能是用于读取、转换并输出数据。 补充说明:dd可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件、设备或标准输出。,其中各参数的说明如下: bs=:将ibs(输入)与obs(输出)设成指定的字节数。 cbs=:转换时,每次只转换指定的字节数。 conv=:指定文件转换的方式。 count=:仅读取指定的区块数。 ibs=:每次读取的字节数。 if=:从文件读取。,obs=:每次输出的字节数。 of=:输出到文件。 seek=:一开始输出时,跳过指定的区块数。 skip=:一开始读取时,跳过指定的区块数。 -help:帮助。 -version:显示版本信息。 例如,输入命令: #dd if=/dev/zero of=/swapfile bs=1024(字节) count=1024(个数) 其意义是块复制并定义大小为1024 1024。,4) swapon swapon的语法格式如下: swapon-ahsV-p设备 它的功能是启动系统交换区(Swap Area)。 补充说明:Linux系统的内存管理必须使用交换区来建立虚拟内存。,其中各参数的说明如下: -a:将 /etc/fstab文件中所有设置为swap的设备启动为交换区。 -h:显示帮助。 -p:指定交换区的优先顺序。 -s:显示交换区的使用状况。 - V:显示版本信息。,例如,输入命令: #swapon /swapfile 其意义是激活swap分区。 若要关闭分区,则执行 #swapoff /文件名命令,即执行命令 #swapoff /swapfile即可关闭swap分区。,2. 装载文件系统 1) 手工装载 手工装载文件系统的命令格式如下: mount参数 设备名 装载点 其中各参数的说明如下: -t:文件系统类型。 -f:测试装载,显示装载信息,不是真正的装载。 -n:装载除 /etc/mtab文件中所列出的文件以外的文件系统。,-r:只读。 -w:装载的文件具有写入权限。 -v:显示执行过程。 -o:iocharset=cp936 显示文件系统中的中文。 例如,输入命令: #mount /dev/cdrom 缺省装载点 /mnt/cdrom #mount /dev/fd0 缺省装载点 /mnt/fd0 #mount -t ext3 /dev/sda1 /usb #mount -o iocharset=cp936 /dev/cdrom,2) 自动装载 下面是对自动装载文件系统的实例介绍。例如可输入如下命令: #vi /etc/rc.d/rc.local 注:加入mount命令要用绝对路径/s
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号