Linux磁盘及文件系统管理

磁盘(Hard Disk Drive,简称HDD)是一种存储介质,传统的机械硬盘由一个或多个铝制或玻璃制的碟片组成,碟片外覆盖有铁磁性材料。

磁盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成;当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位扇区,从而得到该扇区的数据内容;

磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面画出一个圆形轨迹,这些圆形轨迹就叫做磁道或磁轨(Track)。

柱面:在有多个盘片构成的盘组中,有不同盘片的面,但处于同一半径圆的多个磁道组成一个圆柱面(Cylinder)。

扇区:磁盘上的每个磁道被分为若干个弧段,这些弧段便是磁盘的扇区(Sector),通常每个扇区大小为512Bytes。

HDD.jpg1.png2.png

磁道(Track)柱面(Cylinder)扇区(Sector)磁头(Heads)盘片(Platters)每个碟片都有两面,因此也会相对应每碟片有2个磁头。

A:磁道 B:扇面 C:扇区 D:簇(扇区组)在硬盘上定位某一数据记录位置—C扇区,使用了三维定位。

磁盘分区格式:类型有"bsd", "dvh", "gpt","loop", "mac", "msdos(mbr)", "pc98", or "sun",这里简要说明其中两种常用格式。

MBR主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。大小为512Bytes,其中446Bytes用于装载引导程序(bootloader),如grub和ntloader;64Bytes保存分区表,16Bytes标记一个主分区,所以最多只能支持4个主分区;2Bytes用于标记MBR有效性标记,固定格式 5A。在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内

GPT:全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。为了保护分区表,GPT的分区信息在每个分区的头部和尾部各保存了一份。GPT磁盘分区样式支持最大卷为18 EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制。

文件系统:主要类型有,"ext(2,3,4)", "xfs", "ffs", "ufs", "reiserfs", "jfs", "vfat(fat32)", "ntfs"

计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其存取和查找变得容易,文件系统使用文件和树形目录的 抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上, 只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系 统自动完成,用户只需要记住数据被写入到了哪个文件中。

文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种存取資料的界面而已,实际的数据是通过网络协议(如NFS、SMB、9P等)提供的或者内存上,甚至可能根本沒有对应的文件(如 proc文件系统)。

严格地说, 文件系统是一套实现了数据的存储、分级组织、存取和获取等操作的抽象数据类型(Abstract data type)。

磁盘分区:

以Centos发行版为例,可以通过fdisk或parted命令来管理磁盘分区,值得注意的是,fdisk不支持管理gpt格式,而parted则没有这个限制。

示例:在磁盘上创建并删除一个分区

注意:对于已经有分区处于使用状态的磁盘来讲,新建分区后需要让内核重读其分区表

用parted命令管理磁盘,交互操作或非交互都可以

示例:创建一个GPT格式的分区,大小为2G,起始点为1G,终止点为3G;然后更改此分区的位置区间;最后删除此分区并试图恢复。

创建文件系统:可通过命令mkfs和mke2fs来创建,其中mke2fs是创建ext系列文件系统的专有命令。

ext系列文件系统如图所示:

1、启动扇区(Boot Sector):每个文件系统都会创建一个启动扇区,可用与多系统引导。

2、块组(Block Group):每个块组大小一样

3、超级块(Super Block):记录整个文件系统相关信息。包括block和inode的总量、数量、大小(block为1,2,4K,inode为128 Bytes);mount、fsck的时间;文件系统状态;块组信息;日志信息;别名信息。安全起见,超级块会备份在若干个块组内,大小一般为1K

4、文件系统描述(Filesystem Description):描述每个块组的开始和结束的block号码,以及说明每个区段(Super Block,Block Bitmap,Inode Bitmap,Data Block)分别介于哪个block号码之间。

5、块位图(Block Bitmap):记录block的状态,0为空闲可用,1为非空闲不可用。

6、Inode位图(Inode Bitmap):与块位图一样,记录Inode的状态,0为空闲,1为非空闲。

7、数据块(Data Block):实际储存文件内容数据的地方,ext文件系统支持的block大小有1K,2K,4K,创建文件系统时block大小和数量就固定了,每个block最多只能存一个文件,一个文件可占用多个block

管理文件系统的命令:

原创文章,作者:秦,如若转载,请注明出处:/3298

评论列表(1条)

  • stanley
    stanley 2015-04-20 22:02

    从底层到实战均有介绍提及,不过有图无法正常显示,请查检

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:测试  万达娱乐  万达主管  万达娱乐直属QQ  万达主管QQ  万达招商QQ  万达娱乐注册  万达娱乐开户  万达娱乐直属  万达娱乐平台