Linux系统磁盘管理
概述
磁盘是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘,如今常用的磁盘是硬磁盘,即硬盘。硬盘由三部分组成,物理结构,数据结构,存储容量。
硬盘结构
(1)数据结构
扇区:磁盘上每个磁道被分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。
磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹 叫做磁道
(2)物理结构
盘片:硬盘有多个盘片,每个盘片有2面。
磁头:每面一个磁头
(3) 存储容量
硬盘的存储容量=磁头数✖磁道数✖每道扇区数✖每扇区字节数
下图即使磁盘的结构图
硬盘的接口
硬盘按数据接口不同,大致分为ATA和SATA以及SCSI和SAS,接口速度不是硬盘数据传输的速度。
磁盘读取响应时间
1.寻道时间:磁头从开始移动到数据所在磁道所需要的时间,寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms,一般都在10ms左右。
2.旋转延迟:盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间,旋转延迟取决于磁盘转速。普通硬盘一般都是7200rpm,慢的5400rpm。
3.数据传输时间:完成传输所请求的数据所需要的时间。
块/簇
磁盘块/簇(虚拟出来的)。 块是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。通俗的来讲,在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。
为什么存在磁盘块?
读取方便:由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。
分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位。
page
操作系统经常与内存和硬盘这两种存储设备进行通信,类似于"块"的概念,都需要一种虚拟的基本单位。所以,与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。
扇区、块/簇、page的关系
1.扇区: 硬盘的最小读写单元
2.块/簇: 是操作系统针对硬盘读写的最小单元
3.page: 是内存与操作系统之间操作的最小单元。
扇区 <= 块/簇 <= page
Linux系统中使用的文件系统类型
EXT4:第四代扩展文件系统,用于存放文件和目录数据的分区,是Linux系统中默认使用的文件系统。它是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志文件,便于恢复,在存取性能和稳定性能方面更加出色。
SWAP:文件交换系统,用于为Linux系统建立交换分区,交换分区的作用相当于虚拟内存,能够在一定程度上缓解内存不足的问题。
XFS:一种高性能的日志文件系统,特别擅长处理大文件,可支持上百万T字节的存储空间。
操作过程
创建主分区,扩展分区,逻辑分区
在pc机上添加一块60G的磁盘(重启后生效),重启命令init6
重启后用fdisk -l命令查看是否添加成功
进入sdb磁盘界面进行操作,操作流程为分区,格式化,加载
成功创建主分区/dev/sdb1,在创建另一个主分区/dev/sdb3,方法一样
同样方法创建一个扩展分区
在扩展分区基础上,创建一个逻辑分区(主分区,扩展分区区号1-4,逻辑分区从5开始),逻辑分区只能创建在扩张分区基础上,而且拓展分区写入不了数据,逻辑可以
创建完成后,要记得要w保存退出
修改分区类型和删除分区
进入/dev/sdv磁盘操作
格式化磁盘
swap类型磁盘不需要加载,直接用swapon命令启用,用cat /proc/meminfo 查看虚拟内存
输入指令swapon /dev/sdb2,将空间加到虚拟内存中
swapoff /dev/sdb2 删除空间
设置自动挂载
进入vim编辑器对配置文件设置自动挂载
进行配置
配置完成后保存退出,重启或输入mount -a指令生效