linux学习(2)-硬盘挂载
序言
0、介绍几个词
机械手臂:控制读取头伸缩,读取磁盘中的数据
主轴马达:转动磁盘使读取头能读取磁盘中不同位置的数据
磁盘:存储数据的大圆盘,(周长相同,圆的面积最大)
分区:将磁盘分成若干个区域
扇区:磁盘最小存储单元
磁柱:划分扇区的标识
LBA:512Bytes,一个逻辑块数据的大小,兼容早期扇区大小为512bytes的设计
MSDOS(MBR):一套对硬盘分区扇区定义的标准
GPT:一套对硬盘分区扇区定义的标准
inode:一个文件对应一个inode
block:文件的具体存储区域
superBlock:整个磁盘就一个,管理inode和block
EXT:一套管理硬盘数据读写的标准
XFS:一套管理硬盘数据读写的标准
LVM:一套多个分区组成一个大分区标准
RAID:一套多个硬盘组成一个大硬盘的标准
1、硬盘物理结构
机械手臂:机械手臂控制读取头的伸缩,使读取头能和磁盘进行接触,从而读取数据。运行时,机械手臂在磁盘上方
磁盘:存储数据的大圆盘,(周长相同,圆的面积最大)
主轴马达:通过转动磁盘,使读取头读取到磁盘不同区域的数据
由于机械硬盘获取数据的方式是通过读取头和磁盘接触获取,所以当硬盘使用一定次数的时,有可能会发生位衰减的现象,一般重要数据需要做容灾和备份。
磁盘存储的存储方式有电子、光子存储等。因读取头读取磁盘数据,是通过转动马达和伸缩机械手臂与磁盘接触读取数据。如果数据按照一周周顺序存储时,读取头需要和磁盘每块区域接触才能拿到数据,
空间复杂度(Om)。并且磁盘位衰减的可能性会增加。而通过将磁盘分区,数据查询的空间复杂度(O(1/n)),提升效率,也能些微降低位衰减的可能性。扇区是数据存储的最小单元。
Linux的文件有superblock、inode、block构成。superblock管理整个系统的inode。系统中每个文件只有一个inode标识。文件的具体数据存在block中。
2、硬盘文件格式
硬盘文件格式是一套对硬盘分区扇区定义的标准。成型的硬盘格式是厂商生产时直接定义的,也可以通过一些可靠工具进行变更,硬件文件格式很多种类,MBR、GPT、LOOP等。
MSDOS(MBR)
MSDOS是一套对硬盘分区扇区定义的标准,是早期为兼容windows做的标准。
MSDOS将整个磁盘内容分成两部分,一部分是(Master boot record)MBR主要开机管理区域,另一块是数据区。
MBR信息存储在磁盘的最开头部分,大小为1个LBA,这块区域存储了两份信息,开机信息446bytes和分区表64bytes。
MSDOS格式仅支持4个分区,至少一个主分区(Primary)和最多一个扩展区(Expand)。扩展区支持的逻辑分区数量和具体操作系统有关。
GPT
GPT是一套对硬盘分区扇区定义的标准,GPT是在MBR后续定义的标准。
GPT将开机管理信息存磁盘最开始部分LBA0-33和最尾部LBA33。LBA0是和MBR格式兼容部分的信息,LBA1是分区表头内容,LBA2-33是具体的分区信息。其余区域是数据区。
GPT对硬盘的分区不做限制,理论上支持8ZB分区信息存储。
3、文件系统格式
文件系统格式是一套管理硬盘数据读写的标准。EXT系列和XFS文件格式可以对一个分区进行格式化,LVM和RAID可以对多个分区和多个硬盘进行格式化,所以为方便管理,
一个文件系统仅支持一种文件系统格式。文件系统的格式种类也很多。
EXT系列
EXT系列是一套管理硬盘数据读写的标准
在了解了iNode、black、superblack的概念后,EXT系列格式其实是在superblack和inode、black直接管理中增加了一层blockSector。管理模式由直接管理变更为间接管理,对数据进行了分组。
EXT可以很方便的管理数据,而因为增加了一层分组区域,对数据进行管理,所以这些信息需要预定义,不能做到动态配置。而且由于增加了分组数据,所以并且格式化也比较慢。
XFS
XFS是一套管理硬盘数据读写的标准。XFS是EXT系列后续定义的标准。
XFS主要分成3个区域
数据区
数据区存储整个磁盘的superblock,inode,block,并且可以动态管理,能自定义block的大小。在需要block时,可以动态分配剩余空间。根据日志读写记录。
实时运行区
数据写入时,这块区域先组成若干个block进行数据写入,通过日志区功能同步写入到数据区。
日志区
记录数据的读写记录,并且通过读写记录能够进行数据恢复。而且XFS可以支持将这部分区域指定为外部空间存储。
LVM(logical volume manager)
LVM是一套多个分区组成一个大分区标准。
PV:将其他文件系统格式(xfs,ext)统一成PV格式,能够让LVM识别
PE:LVM的最小数据存储空间,将PV分成若干个PE。
VG:数据存储的区域,需要进行数据扩容时,可以将若干个PE加入这个VG当中
LV:能够进行数据存储的最大单元,由PE决定。
RAID(Redundant array index of disks)
磁盘阵列(RAID)是将多个硬盘组成一个大硬盘的标准。
至少有2个硬盘,假设有100M的文件,
RAID0 :数据会在每个硬盘存50M数据。一个硬盘的文件损坏,整个文件都无法使用。
RAID1:数据在每个硬盘存100M的数据,一个硬盘的文件损坏,还有一份备份。
至少有3个硬盘,100M的文件,
RAID5:raid0+1个磁盘的同位检查器,在raid0的基础上增加1块同位检查硬盘,防止存储硬盘损坏导致整个文件无法使用。
至少有4个硬盘,100M的文件
RAID6:raid0+2个磁盘的同位检查器,在raid0的基础上增加2块同位检查硬盘,防止硬盘损坏导致整个文件无法使用
RAID10:raid1 + raid 0, 多个raid0组成一个raid1。
RAID01: raid0 + raid1,多个raid1,组成一个raid0。
RAID10和RAID01一样,但一般使用RAID10。
4、文件目录标准
文件目录标准主要解决各开发者、厂商、使用者的文件随意放置,任意删减,导致系统使用不方便的问题。FHS、LSB这两种都是属于这种类型的标准。