磁盘与文件系统管理,持续跟新,感兴趣的小伙伴可以看过来 冲☞

磁盘与文件系统管理

前言:磁盘(disk)

是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(soft disk,简称软盘),如今常用的磁盘是硬磁盘(hard disk,简称硬盘)。文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。

1.磁盘基础:

我们买的笔记本的硬盘是2.5英寸的,台式电脑的硬盘是3.5英寸的,光驱有单碟7mm和多碟9.5mm

1.1 硬盘的物理结构

硬盘的物理结构分为盘片和磁头
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
硬盘的数据结构分为扇区 磁道 柱面
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,固态盘是4K字节
磁道:通一盘片不同半径同心圆
柱面:不同盘片相同半径构成的圆柱面
在这里插入图片描述

1.2 磁盘结构

硬盘的存储容量=磁头数×磁道数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型:IDE SATA SCSI SAS 光纤通道
常用的是 SATA SAS 光纤通道FC
SCSI:服务器专用接口 SAS:是SATA接口的升级版 SATA是SSD接口常用的是 SATA SAS 光纤通道FC

2.MBR与磁盘分区管理:

MBR是主引导记录,位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节
先变为扩展分区,扩展分区再变为逻辑分区GPT磁盘分区:能分128个分区,适用于2TB以上的磁盘大小格式

2.1 硬盘的分区表示

常见的硬盘可以划分为主分区,扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。
在这里插入图片描述
Linux中将硬盘,分区等设备均表示为文件
硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名。而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中"X"可以为a,b,c,d等字母序号。例如:将系统中的第一个IDE设备(硬盘)表示为“hda”,将第二个SCSI设备表示为“sdb”
分区:表示分区时,以硬盘设备的文件名作为基础,然后在后面添加该分区(主分区,扩展分区,逻辑分区)对应的数字序号即可。例如:第一个IDE硬盘中的第一个分区表示为"hda1",第二个分区表示为"hda2"。第二个SCSI硬盘中的第三个分区表示为"sdb3",第五个分区表示为"sdb5"
在这里插入图片描述
为什么一开始扇区不是从0开始分,是从2048开始分区,是因为主分区和扩展分区中都有分区表
举例:
1.新建主分区:主分区开头会有分区表
在这里插入图片描述
2.新建逻辑分区:每一个逻辑分区之间都会有一个分区表
在这里插入图片描述

2.2 硬盘的分区结构

PS:硬盘中的主分区数目只有4个
因此主分区和扩展分区的序号也就限制在1-4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始

在这里插入图片描述

3.文件系统类型:

文件系统(File System)类型决定了向分区中存放,读取文件数据的方式和效率,在对分区进行格式化的时候需要选择所用的文件系统类型
XFS:
是一种高性能的日志文件系统,擅长处理大文件,支持上百万T字节的存储空间。

SWAP,减缓文件系统SWAP:
交换文件系统用于Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将分区大小设置为物理内存的1.5~2倍

Linux支持的其他系统文件:
在Windows操作系统中,经常使用的文件系统类型包括FAT32 , NTFS等格式Centos 6 是EXT4 Centos5是EXT3
EXT4:第四代扩展文件系统,用于存放文件和目录数据的分区,是Linux系统中默认使用的文件系统。是典型的日志型文件系统,特点:保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。
FAT16 FAT32是XP系统类型
NTFS是win7 8 10支持的类型,支持安全选项卡
在这里插入图片描述
在这里插入图片描述

4.检测并确认新硬盘:

在Linux服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间
实现上述操作需要用到fdisk磁盘及分区管理工具,fdisk是大多数Linux系统中自带的基本工具之一。
分区对应的系统ID号中,83表示Linux中的EXT4分区,8e 表示LVM逻辑卷
在这里插入图片描述

4.1 fdisk命令查看或管理磁盘分区

在硬盘设备中创建,删除,更改分区等操作同样通过fdisk命令进行,主要使用硬盘的设备文件作为参数。
命令格式:fdisk 磁盘设备
命令格式:fdisk -l l=list 查看磁盘情况
m:查看帮助信息 p:查看分区情况 n:新建分区 d:删除分区 t:更改分区类型 w:保存 q:退出
在这里插入图片描述

“n”命令 新建分区
使用“n”指令可以进行创建分区的操作,包括主分区和扩展分区。 之后依次选择分区序号,
起始位置丶结束位置或分区大小即可完成分区的创建,根据提示输入“p”选择创建主分区。 输入“e”选择创建扩展分区。
在这里插入图片描述

4.2 下面是一个创建分区的小实验可跟做:

在硬盘中创建主分区sdb1。
在这里插入图片描述
第四个分区打算创建扩展分区的时候要选择“e”,这里的“e”代表新建扩展分区。
在这里插入图片描述
在扩展分区中创建逻辑分区。
在这里插入图片描述
最后输入w保存配置。在这里插入图片描述
需要记得命令,可以查看分区情况
在这里插入图片描述

5.创建文件系统:

创建文件系统的过程也是格式化分区的过程,在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令格式可以格式化XFS , EXT4 ,FAT等不同类型的分区,而使用mkswap命令可以格式化Swap交换分区。

5.1 mkfs命令的使用

实际上 mkfs命令是一个前端工具,可以自动加载不同的程序来创建各种类型的分区,而后端包括有多个与mkfs命令相关的工具程序,这些程序位于/sbin/目录中,例如:支持XFS分区格式的mkfs.xfs程序等。

mkfs命令:Make Filesystem,创建文件系统(格式化)在这里插入图片描述

5.2 查看mkfs

在这里插入图片描述
创建XFS文件系统给sdc1分区创建文件系统(格式化),类型为XFS
在这里插入图片描述

5.3 mkswap命令

在Linux系统中,Swap分区的作用类似于Windows系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。目标分区应先通过fdisk工具将ID号设为82.在当前Linux主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。
在这里插入图片描述
使用mkswap命令工具可以在指定的分区上创建交换文件系统格式化swap分区的命令为mkswap
在这里插入图片描述
查看内存信息:cat /proc/meminfo
在这里插入图片描述
swapon 设备名称 可以用swap分区在这里插入图片描述
swapoff 设备名称取消使用swap分区
在这里插入图片描述

6.挂载卸载文件系统:

在Linux系统中,对各种存储设备中的资源访问(如读取,保存文件等)都是通过目录结构进行的,虽然系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。
当然,在安装Linux操作系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如“/”分区,“boot”分区等。然而对于后来新增加的硬盘分区,光盘等设备,有时候还需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。挂载一个分区时,必须为其制定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访问设备中 的文件,目录数据。

6.1 mount命令:挂载系统

挂载文件系统个,ISO镜像到指定文件夹在这里插入图片描述
文件系统类型通常可以省略,系统会自动识别
存储设备即对应分区的设备文件名(如/dev/sdb1 , /dev/cdrom)或网络资源路径
挂载点即用户指定用于挂载的目录
光盘对应的设备文件通常使用’/dev/cdrom’,其实这是一个连接文件,连接到实际的光盘设备’/dev/sr0’。这两个名称都表示光盘设备。由于光盘是只读的存储介质,因此在挂载时系统会出现’mounting read-only’的提示信息

载Linux分区或U盘设备时的用法也一样,只需要指定正确的设备位置和挂载目录即可。
在这里插入图片描述
在Linux系统中,U盘设备被模拟成SCSI设备,因此与挂载普通的SCSI硬盘中的分区并没有明显的区别。U盘一般使用FAT16或FAT32的文件系统,若不确定U盘设备文件的位置,可以先执行‘fdisk -l’命令进行查看,确认。
在这里插入图片描述
proc,sysfs,tmpfs等文件系统是Linux运行所需要的的临时文件系统,并没有实际的硬盘分区与其相对应,因此也成为了’伪文件系统’。
例如:proc文件系统实际上映射了内存及CPU寄存器中的部分数据
在实际工作中,可能会经常从互联网中下载一些软件或应用系统的ISO镜像文件,在无法刻录光盘的情况下,需要将其解压后才能浏览,使用其中的文件数据。若使用mount挂载命令,则无需解开文件包即可浏览,使用ISO镜像文件中的数据。
ISO镜像文件通常被视为一种特殊的“回环”文件系统,因此在挂载时需要添加“-o loop”选项
在这里插入图片描述

6.2 umount-卸载文件系统

卸载文件系统时,使用挂在单目录或对应设备的文件名作为卸载参数。
Linux系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载。
在这里插入图片描述

6.3 设置文件系统的自动挂载

系统中的/etc/fstab文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据,Linux系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。

默认的fstab文件中包括了根分区,/boot分区,交换分区及proc,tmpfs等伪文件系统的挂载配置。

在/etc/fstab文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个字段,含义如下
在这里插入图片描述

通过在“/etc/fstab”文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。在结尾输入mount -a可以刷新挂载

6.4 df命令-查看磁盘状况

不带选项和参数的mount命令可以显示分区的挂载情况,若要了解系统中已经挂载各文件系统的磁盘使用情况(如剩余磁盘空间等),可以使用df命令。
df命令使用文件或者设备作为命令参数,较常用的选项为“-h”"-T"。其中,“-h”选项可以显示更容易读的容量单位,而“-T”选项用于显示对应文件系统的类型。
在这里插入图片描述
如何理解挂载:小实验:
1.先把sdc1挂载到cai目录下,在cai目录下创建空文件1.txt,这个文件其实是创建在sdc1分区里的,这时候取消挂载,会发现文件消失
在这里插入图片描述
2.恢复挂载,发现文件回来了
在这里插入图片描述
3.按照图中步骤发现,将sdc6挂载到cai目录下,目录中显示的文件是sdc6中的文件
在这里插入图片描述
4.挂载完后发现目录中的原文件被覆盖,取消挂载后,文件恢复
在这里插入图片描述
5.通过查看挂载命令发现根目录下也是有挂载设备的,默认情况下文件也是写入挂载到根目录下的设备中。
在这里插入图片描述
注意:一个目录下只允许挂载一个设备,一个设备也只允许挂载到一个目录下所以挂载设备可以理解为windows固态盘,当内容写入到固态盘中,把固态盘拔出的时候,内容在电脑上也查不到了。

7.GPT磁盘分区命令parted

配置新加的sdb盘,输入help可以查看帮助信息
在这里插入图片描述
用mklabel gpt可以创建gpt类型的分区,print可以查看新加的硬盘信息
在这里插入图片描述
命令:用mkpart primary 起始容量 结束容量 配置gpt容量,用结束容量-起始容量就是分配的容量
在这里插入图片描述
分配2T容量,其中q退出带保存的作用
在这里插入图片描述
查看磁盘分区情况
在这里插入图片描述
格式化挂载后就可以用了
在这里插入图片描述
总结:磁盘管理现在有两种方式:一种是MBR方式一种是parted方式区别:大于2T用parted方式,适用于GPT格式 容量小于2T用MBR格式,用fdisk方式去划分

猜你喜欢

转载自blog.csdn.net/Cpureman/article/details/106810345