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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch系列四:集群常规运维

概述 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned,明明写入了很多数据但是查不到等等系列问题该怎么办呢?咱们今天一起看下常用运维命令。 案例 起初我们es性能还跟得上,随着业务发展壮大,发现查询性能越来越不…

NFC与ZigBee技术在智慧农业物联网监测系统中的应用

近年来,我国农业物联网技术飞速发展,基于物联网技术的智能农业监测系统有望得到较大规模的推广应用。但传统的物联网农业监测系统其网络结构层次单一,多采用基于有线或无线结构的节点-上位机数据采集模式,节点数据访问模式缺乏灵活…

软件测试/测试开发丨Python常用数据结构-元组Tuple

元组的定义 元组是有序的、不可变的对象合集;元组使用小括号包围,各个对象之间使用逗号分隔;元组是异构的,可以包含多种数据类型。 元组的创建 方法一:使用逗号分隔方法二:通过小括号填充元素方法三&…

虚拟机迁移技术原理与应用

虚拟机迁移技术主要应用于两种场景: 第一种,随着现在虚拟化的发展,传统it架构的物理机需迁移到虚拟机上,实现负载均衡、资源优化等目的。 第二种,将虚拟机从一个虚拟化平台迁移到另一个虚拟化平台,可以是…

docker-compose部署zabbix服务

1.首先要有docker环境, 关闭防火墙,selinux 开启docker,并设置开机自启动 Linux的docker的安装https://blog.csdn.net/m0_58146415/article/details/134654933 2.docker-compose的安装----github下载 curl -SL https://github.com/docke…

C++:第十一讲DFS深搜

Everyday English Your optimal career is simply this: Share the real you with physical world through th e process of creative self-expression. 你的最佳职业很简单,就是这样:通过创造性自我表达的途径和世界分享真实的你。 前言 今天带着大家…

springboot3+vue3实现大文件分片上传和断点续传

大文件分片上传和断点续传 大文件分片上传是一种将大文件切分成小片段进行上传的策略。这种上传方式有以下几个主要原因和优势: 网络稳定性:大文件的上传需要较长时间,而网络连接可能会不稳定或中断。通过将文件切分成小片段进行上传&#xf…

四阶轨迹规划,高精度电机运动控制必备

最近开始接触百纳米级别的控制精度,为了达到这一精度,必须使用高阶的轨迹规划。 四阶轨迹规划的作用是把一个阶跃信号变为一个四阶连续信号。 例如一个电机,想让它从a点移动到b点,那么给出的参考信号在位置,速度&…

灸哥问答:架构师如何提高自己的竞争力?

这个问题其实从我的主题【程序员如何转型架构师】所述内容中是能看到答案的,这里针对这个问题做一次总结性的回复: 1、 深入理解业务领域 充分理解你所在公司和行业的业务需求,运用 DDD 的业务分析思想和手段,构建更贴近实际业务…

悔不该用中文作为Windows的用户名啊~

前言 汉字在中华文明已经有了几千年的历史,小伙伴们所使用名字更是伴随了自己一生。所以小白们在拿到自己的新电脑,总会想着把自己的中文名字设置为电脑的用户名,这样更能显示出那是自己的专属电脑! 一开始小白也是这么想的&…

【JavaScript】new原理解析

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

Python+OpenGL绘制3D模型(七)制作3dsmax导出插件

系列文章 一、逆向工程 Sketchup 逆向工程(一)破解.skp文件数据结构 Sketchup 逆向工程(二)分析三维模型数据结构 Sketchup 逆向工程(三)软件逆向工程从何处入手 Sketchup 逆向工程(四&#xf…

Zookeeper之快速入门

前言 本篇文章主要还是让人快速上手入门,想要深入的话可以通过书籍系统的学习。 简介 是什么 可用于协调、构建分布式应用。 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理…

Unity中Shader裁剪空间推导(在Shader中使用)

文章目录 前言一、在Shader中使用转化矩阵1、在顶点着色器中定义转化矩阵2、用 UNITY_NEAR_CLIP_VALUE 区分平台矩阵3、定义一个枚举用于区分当前是处于什么相机 二、我们在DirectX平台下,看看效果1、正交相机下2、透视相机下3、最终代码 前言 在上一篇文章中&…

Linux驱动开发学习笔记6《蜂鸣器实验》

目录 一、蜂鸣器驱动原理 二、硬件原理分析 三、实验程序编写 1、 修改设备树文件 (1)添加pinctrl节点 (2)添加BEEP设备节点 (3)检查PIN 是否被其他外设使用 2、蜂鸣器驱动程序编写 3、编写测试AP…

【JS逆向学习】快乐学堂

逆向目标 登陆接口:https://www.91118.com/passport/Account/LoginPost?r0.20790763112591337&kdsyes&username13127519353&passbb3mlkFBqqo%3D&recordPwd1&ckcode5719&fscodeklxt&invite 加密参数: r:0.2079…

机器学习模型可解释性的结果分析

模型的可解释性是机器学习领域的一个重要分支,随着 AI 应用范围的不断扩大,人们越来越不满足于模型的黑盒特性,与此同时,金融、自动驾驶等领域的法律法规也对模型的可解释性提出了更高的要求,在可解释 AI 一文中我们已…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言: 编写代码我们使用vim,编译代码我们使用gcc/g,但是我们,不能保证代码没问题,所以调试是必不可少的。与gcc/vim一样&…

Python中使用SQLite数据库的方法2-2

3.3.2 创建表单及字段 通过“3.2 创建Cursor类的对象”中创建的Cursor类的对象cur创建表单及字段,代码如图5所示。 图5 创建表单及字段 从图5中可以看出,通过Cursor类的对象cur调用了Cursor类的execute()方法来执行SQL语句。该方法的参数即为要指定的S…

在电商行业中,如何采集电商数据使用数据分析提高业务绩效

数据分析丨知识点丨电商数据采集 福利指路:文章底部领取《数据分析全家桶》 随着电子商务的不断发展,越来越多的企业开始使用数据分析来提高业务绩效。数据分析可以帮助电商企业更好地理解市场和客户,以制定更有针对性的营销策略和产品方案。…