Linux磁盘管理与文件系统

目录

前言

一、磁盘基础

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 验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/319025.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub上的15000个Go模块存储库易受劫持攻击

内容概要: 目前研究发现,GitHub上超过15000个Go模块存储库容易受到一种名为“重新劫持”的攻击。 由于GitHub用户名的更改会造成9000多个存储库容易被重新劫持,同时因为帐户删除,会对6000多个存储库造成重新劫持的危机。目前统计…

Spark二、Spark技术栈之Spark Core

Spark Core spark核心:包括RDD、RDD算子、RDD的持久化/缓存、累加器和广播变量 学习链接:https://mp.weixin.qq.com/s/caCk3mM5iXy0FaXCLkDwYQ 一、 RDD 1.1 为什么要有RDD 在许多迭代式算法(比如机器学习、图算法等)和交互式数据挖掘中,…

系列五、搭建Naco(集群版)

一、搭建Naco(集群版) 1.1、前置说明 (1)64位Red Hat7 Linux 系统; (2)64位JDK1.8;备注:如果没有安装JDK,请参考【系列二、Linux中安装JDK】 (3&…

《绝地求生》改名卡快速获得方法 绝地求生改名卡怎么获得

《绝地求生》改名卡是很多小伙伴所在意的物品,购买通行证后需要提升一定的等级才能入手,而怎么升级最快最划算呢?今天闲游盒带来“米奇”分享的《绝地求生》改名卡快速获得方法,赶紧来试试吧。 吃鸡刚刚迎来了更新,通行…

Flink版本更新汇总(1.14-1.18)

0、汇总 1.14.0 1.有界流支持 Checkpoint; 2.批执行模式支持 DataStream 和 Table/SQL 混合应用; 3.新增 Hybrid Source 功能; 4.新增 缓冲区去膨胀 功能; 5.新增 细粒度资源管理 功能; 6.新增 DataStream 的 Pulsar …

MySQL取出N列里最大or最小的一个数据

如题,现在有3列,都是数字类型,要取出这3列里最大或最小的的一个数字 -- N列取最小 SELECT LEAST(temperature_a,temperature_b,temperature_c) min FROM infrared_heat-- N列取最大 SELECT GREATEST(temperature_a,temperature_b,temperat…

滑动窗口最大值(力扣239题)

单调递减队列: 在解决题目之前,我们先来了解一下单调递减队列,它其实就是在队列的基础上多加了一些限制,如下图: 要求队列中的元素必须按从大到小的顺序排列。 如果向单调递减队列中加入数字 1,可以直接加入…

C# Onnx yolov8 竹签计数、一次性筷子计数

目录 效果 模型信息 项目 代码 数据集 下载 C# Onnx yolov8 竹签计数、一次性筷子计数 效果 模型信息 Model Properties ------------------------- date:2024-01-03T08:55:22.768617 author:Ultralytics task:detect license&#x…

electron预加载脚本

webPreferences 指定预加载脚本,可以使用部分node脚本 webPreferences: {preload: path.join(__dirname, "preload.js"),},创建preload.js 中 测试文件读取功能 const fs require(fs) const text fs.readFileSync(package.json, utf-8)console.log(text)报错,为了…

单向可控硅电路图总结(2)

单向可控硅最筒单电路图(一) 触摸一下金属片开,SCR1导通,负载得电工作。触摸一下金属片关,SCR2导通,继电器J得电工作,K断开,负载失电,SCR2关断后,电容对继电器…

canvas绘制直角梯形(向右)

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

vue和react哪种框架使用范围更广

Vue和React都是非常流行的前端JavaScript框架,它们各自有着广泛的应用场景和支持者。选择使用哪一个框架往往取决于特定的项目需求、开发团队的熟悉程度以及生态系统的偏好。以下是这两个框架的一些主要特点,以帮助比较它们的使用范围: React…