Linux磁盘管理与文件系统

2023-12-28 12:23:06

目录

前言

一、磁盘基础

1、磁盘的物理结构

2、磁盘的数据结构

3、磁盘存储容量

4、硬盘接口类型

二、磁盘分区

1、磁盘分区的优缺点

2、磁盘两种分区方式

2.1 MBR分区

2.2 GPT分区(了解)

三、管理磁盘分区的工具

1、fdisk

2、blkid

3、free

4、mkfs

5、mkswap

6、 mount

四、建立磁盘分区的过程步骤

1、添加硬盘

?2、新建主分区

2.1 新建主分区

2.2 主分区完成后格式化

2.3 挂载+验证

3、新建扩展分区下的逻辑分区

3.1 新建逻辑分区

3.2 逻辑分区完成后格式化

3.3 挂载+验证

五、永久挂载

1、查看设备的UUID号

2、添加永久挂载到配置文件

3、如何解决配置文件写错的情况

六、建立swap交换分区的步骤

1、swap交换分区的作用

2、新建swap分区

3、swap分区完成后格式化

4、开启设备的swap分区

5、关闭设备的swap分区

七、文件系统

1、文件系统种类

2、修复文件系统

2.1 挂载

2.2 移动文件到/mnt

2.3 破坏文件系统

2.4 解挂载

2.5 修复文件系统

2.6 验证


前言

Linux磁盘管理与文件系统是操作系统中一个非常重要的方面。磁盘管理涉及到如何有效地使用和管理计算机的存储设备,包括硬盘驱动器、固态驱动器和其他可用的存储介质。

在Linux中,磁盘管理涉及到对磁盘进行分区、格式化、挂载和管理文件系统等操作。

一、磁盘基础

1、磁盘的物理结构

部件说明
盘片硬盘有多个盘片,每盘片有2面(正反两面),盘片由磁性材料,可读写
磁头每面一个磁头,并不是只有一个磁头,磁头离盘面有一定的距离,磁头等于盘片数量

2、磁盘的数据结构

部件说明
扇区

盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节。

其中8个扇区组成一块,每块为4k,共512×8=4096字节

磁道同一盘片不同半径的同心圆
柱面不同盘片相同半径构成的圆(柱面和磁道数量相同)

3、磁盘存储容量

硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数

4、硬盘接口类型

IDE、SATA、SCSI、SAS、光纤接口

二、磁盘分区

1、磁盘分区的优缺点

优点缺点
优化I/O性能(读写)无法动态扩容
实现磁盘空间配额限制
提高修复速度必须使用连续的空间
隔离系统和程序
安装多个OS无备份冗余的功能
采用不同文件系统

2、磁盘两种分区方式

2.1 MBR分区
  • MBR(Master Boot Record)是磁盘上的一小段特殊的引导扇区,位于磁盘的第一个扇区(扇区编号为0)
  • 只能对磁盘空间2t以上的磁盘进行分区
  • MBR中包含的内容

①硬盘的mbr主引导程序,作用是引导硬件找到操作系统,共占用446字节。

②硬盘分区表,作用是记录分区开始和结束的位置,一个分区表占用16字节。

③结束标志位:55AA

  • 分区表有4个分区记录区,每个分区记录区占16字节。
  • Linux中将硬盘、分区等设备均表示为文件

2.2 MBR的分区三种类型

  • 主分区:可直接使用,最少一个主分区最多四个主分区,分区序号为1~4
  • 扩展分区(特殊的主分区):不可直接使用,固定磁盘空间为1k,需要再划分逻辑分区,存储了逻辑分区的分区表,只能有一个扩展分区
  • 逻辑分区:需要在现有扩展分区的基础上进行划分,序号将始终从5开始,可以有若干个

2.2 GPT分区(了解)
  • 可以对磁盘空间为2t以上的磁盘进行分区
  • 分区表:GPT使用一个分区表来记录硬盘上的分区信息。这个分区表保存在磁盘的起始扇区,并且具有备份,以提高数据的可靠性。
  • 分区类型:GPT支持多种分区类型,包括普通数据分区、EFI系统分区(用于启动和引导操作系统)、保留分区(用于未来扩展)和其他特定用途的分区。
  • 分区标识符:每个GPT分区都有一个唯一的分区标识符(GUID),用于标识和引用该分区。这个标识符是一个128位的全局唯一标识符。
  • 分区大小:GPT支持更大的分区大小,相较于MBR分区方案。MBR只能支持最大2TB的分区,而GPT可以支持更大的分区容量。
  • 兼容性:GPT是一种较新的分区方案,它在现代操作系统和计算机硬件上得到广泛支持。然而,一些旧的操作系统和BIOS可能不支持GPT分区,需要使用传统的MBR分区方案。

总之,GPT分区概念包括分区表、分区类型、分区标识符、分区大小和兼容性等方面,它提供了更大的分区容量和更高的数据可靠性,逐渐取代了传统的MBR分区方案

三、管理磁盘分区的工具

1、fdisk

功能:查询Linux操作系统的磁盘设备、建立磁盘分区

查询Linux操作系统的磁盘设备

通式:fdisk? -l? 设备名

用法:fdisk? -l? ? ? ? ? ? ? ? ? ? ? ?//查看所有磁盘设备

? ? ? ? ? fdisk? -l? /etc/sda? ? ? ? ?//只查看sda设备

建立磁盘分区

通式:fdisk? /dev/设备名? ? ? ? ? ?//进入磁盘的分区界面

2、blkid

功能:可查看块设备属性信息

3、free

功能:查看Linux操作系统的内存

4、mkfs

功能:创建文件系统(格式化)常用选项

通式:mkfs.文件系统类型? ?磁盘设备名? ? ? ? ? ? ? ? //将文件系统安装入磁盘

5、mkswap

功能:格式化swap分区

通式:mkswap? 设备名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //将swap分区装入磁盘

6、 mount

功能:挂载,将磁盘与Linux系统文件夹作关联

规则:

  • 一个挂载点同一时间只能挂载一个设备
  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
  • 一个设备可以同时挂载到多个挂载点
  • 通常挂载点一般是已存在空的目录

mount? ?存储设备? ?挂载点目录? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //挂载磁盘等设备

mount? ?-o? ?loop? ?ISO镜像文件? ?挂载点目录? ? ? ? ? ? ? ? ? ? ? ? ? //挂载镜像

四、建立磁盘分区的过程步骤

1、添加硬盘

1.1在虚拟机设置里,选择添加硬盘,一直默认选项,下一步下一步即可,最后添加完成后一定要点击确认

1.2磁盘建立完成后,使用以下三条命令刷新新建的磁盘设备,不需要重启

echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

2、新建主分区

2.1 新建主分区

fdisk? /dev/sdb? ? ? ? ? //进入sdb磁盘设备分区界面

如果分区不能识别时,使用以下命令后,可查看新添加的磁盘主分区

partprobe /dev/sdb

2.2 主分区完成后格式化

mkfs.xfs? /etc/sdb1

2.3 挂载+验证

以上就是新建磁盘主分区的步骤,已经建立sdb磁盘设备的主分区的分区,接下来可正常使用该分区

3、新建扩展分区下的逻辑分区

3.1 新建逻辑分区

fdisk? /dev/sdb? ? ? ? ? //进入sdb磁盘设备分区界面

3.2 逻辑分区完成后格式化

mkfs.xfs? /etc/sdb5

3.3 挂载+验证

以上就是新建磁盘逻辑分区的步骤,已经建立sdb磁盘设备的逻辑分区,接下来可正常使用该分区

五、永久挂载

命令挂载是临时的,系统启动后挂载就会失效,要想永久挂载需要写到/etc/fstab配置文件里,最好使用UUID号进行挂载

1、查看设备的UUID号

?2、添加永久挂载到配置文件

vim? /etc/fstab? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//永久挂载需写入/etc/fstab

mount -a                //查看/etc/fstab内容是否写错,重新挂载/etc/fstab中的条目

3、如何解决配置文件写错的情况

假如写入设备的UUID号出错,开机也无法检测,也无法正常启动Linux系统

UUID故意删除开头的7,mount命令也查找不到该UUID

重启超时后会显示出下面这个界面,系统会提示你按ctrl?+d重新启动。启动失败,是加载fstab文件时出现错误,重启也没用,要进入root用户,进行修改文件

进入/dev/fstab配置文件后,解决方法一是可以把UUID号改正确,二是把出错的一行全删除,三是把错误行开头加#注释掉,解决完退出编辑模式,再输入reboot重启后就可以正常使用Linux系统了

六、建立swap交换分区的步骤

1、swap交换分区的作用

  • Swap交换分区是在Unix/Linux系统中用于虚拟内存的一种特殊类型的磁盘分区
  • 当系统的物理内存(RAM)不足时,操作系统会将部分暂时不用的内存数据移到swap分区中,以便为当前运行的程序腾出更多的RAM空间
  • 如果没有足够的swap空间,系统可能会因为无法分配更多内存而导致应用程序崩溃或系统挂起

2、新建swap分区

fdisk? /dev/sdb? ? ? ? ? //进入sdb磁盘设备分区界面

?如果分区不能识别时,使用以下命令后,可查看新添加的磁盘swap分区

partprobe /dev/sdb

3、swap分区完成后格式化

mkswap? /dev/sdb2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //格式化swap分区

4、开启设备的swap分区

swapon? ?设备名

5、关闭设备的swap分区

swapoff? 设备名? ? ? ? ? ? ? ? ? ? ? ? ? ?//关闭该设备的swap分区

swapoff? -a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //关闭全部设备的swap分区

七、文件系统

1、文件系统种类

①XFS文件系统

  • 存放文件和目录数据的分区
  • 高性能的日志型文件系统
  • CentOS7系统中默认使用的文件系统(可进行数据恢复)

②SWAP,交换文件系统

SWAP,交换文件系统

③linux支持的其它文件系统类型

  • FAT16、FAT32、NTFS
  • EXT4、JFS

2、修复文件系统

2.1 挂载

2.2 移动文件到/mnt

2.3 破坏文件系统

dd? if=/dev/zero? of=/dev/sdb1? bs=6M? count=1? ? ? ? ? ? ? ? ? ? ?//破坏文件系统

?2.4 解挂载

?2.5 修复文件系统

fsck? ?/dev/sdb1? ?-y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //修复文件系统

2.6 验证

文章来源:https://blog.csdn.net/m0_71815887/article/details/135250461
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。