Linux磁盘存储

磁盘存储

设备文件

设备文件是类Unix操作系统(包括Linux)中一种特殊的文件类型,它代表了设备接口,使得用户空间的程序可以通过标准的文件操作来访问和控制硬件设备。设备文件为周边设备提供了简单的接口,如打印机、硬盘等,也可以访问没有连接到任何真实设备的系统资源,如随机数生成器等。

设备文件类型

在Linux系统中,设备文件主要可以分为以下三种类型:

  • 字符设备文件:

字符设备文件是一种按字节流进行操作的设备,如串口、键盘、鼠标等。它们提供的是一种基于字符的输入输出接口,可以使用标准的文件操作函数(如read、write、open和close)对其进行操作。

  • 块设备文件:

块设备文件是一种按块进行操作的设备,如硬盘、U盘等。它们提供的是一种基于块的输入输出接口,通常使用特定的块设备操作函数(如request_queue、submit_bio等)进行操作。

  • 网络设备文件:

网络设备文件是一种用于网络通信的设备,如网卡等。它们提供的是一种基于数据包的输入输出接口,可以使用特定的网络操作函数(如sendmsg、recvmsg等)进行操作。

磁盘设备名称

  • 物理磁盘

设备类型
SAS,SATA,SCSI,IDE,USB
设备文件命名
/dev/sda; /dev/sdb; /dev/sdc; …

  • 固态硬盘

设备类型
nvme协议硬盘 /dev/nvme0n1;
设备文件命名
/dev/nvme0n2; /dev/nvme0n3; …

  • 虚拟磁盘(虚拟环境下)

设备类型
/dev/vda;
设备文件命名
/dev/vdb; /dev/xvda; /dev/xvdb; …

硬盘

常见硬盘

  • 机械硬盘(HDD)

Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
机械硬盘中所有的盘片都装在一个旋转轴 上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。
硬盘为精密设备,进入硬盘的空气必须过滤。

  • 固态硬盘(SSD)

Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致

关联和区别

  • 机械硬盘(Hard Disk Drive, HDD)

传统的硬盘类型,采用磁性存储技术,通过盘片的旋转和磁头的移动来读写数据。
存储容量大、价格相对较低,但读写速度相对较慢,且存在机械结构,易受震动影响。

  • 固态硬盘(Solid State Drive, SSD)

采用闪存芯片作为存储介质的新型硬盘,没有机械结构,因此读写速度极快,抗震性能优越。
价格相对较高,但随着技术进步逐渐亲民;存储容量虽然有限,但已能满足大多数应用需求;适用于需要高读写速度和稳定性的场景。
注意:硬盘有价,数据无价,目前SSD不能完全取代HHD

存储术语

磁盘术语

MBR 硬盘的第一个扇区(0道0头1扇区)

MBR(Master Boot Record, MBR)的作用至关重要,硬盘的第一个扇区(0道0头1扇区),包含硬盘的主引导程序和分区表。它是计算机启动的关键,包含了引导代码,能够加载操作系统,并告诉计算机硬盘上的分区信息。

ZBR 区位记录,是一种物理优化硬盘存储空间的方法

磁盘寻址

  • CHS

采用24bit位寻址
最大寻址空间8GB

  • LBA

采用28位寻址模式,最大寻址空间128GB
采用48位寻址模式,最大寻址空间128PB

磁盘类型
lsblk -d name,rota
查看分区
fdisk -l /dev/sda

常见命令

df 查看文件系统

df -HT

du查看文件系统目录

du -sh /etc

dd定制文件系统文件

dd if=SRC of=DEST bs=N count=N

测试硬盘写速度
在这里插入图片描述

测试硬盘读速度
在这里插入图片描述

存储管理

基础知识

为什么要磁盘分区?

使用磁盘分区的原因主要有以下几点:

  • 数据管理:

    通过分区,用户可以将不同类型的文件存放在不同的分区中,便于分类管理和查找。

  • 系统安全:

    将操作系统和用户数据分别存放在不同的分区中,可以在系统崩溃或需要重装时保护用户数据不受影响。

  • 性能优化:
    合理的分区策略可以减少磁盘碎片,提高磁盘的访问速度和效率。

  • 多操作系统支持:

    通过分区,用户可以在同一台计算机上安装并运行多个操作系统,满足不同的应用需
    求。

管理磁盘步骤

  1. 设备分区
  2. 文件系统格式化
  3. 挂载到文件系统中

分区类型

  • 主分区

硬盘上第一个创建的分区
引导功能的分区
小于2T的硬盘,最大可以创建4个主分区

  • 扩展分区

扩展分区本身不能直接使用
需要将其划分为逻辑分区才能使用
一个物理硬盘上最多只能有3个主分区和1个扩展分区
扩展分区的最大数量不受限制

  • 逻辑分区

可以单独进行格式化和使用
它们没有独立的引导块,因此不能作为启动分区

  • 非引导分区

不具有引导功能的任意分区

在这里插入图片描述

分区方式

  • MBR

    使用32位的LBA寻址方式
    最多支持4个主分区,或者3个主分区和1个扩展分区

  • GPT

    使用64位LBA寻址方式
    支持最多128个分区
    在硬盘两端各保存一份分区表副本,以及CRC32校验

MBR方案

特点

  • 每个扇区512字节

  • 第一个扇区

    446bytes
    Boot loader启动相关
    64bytes
    分区表
    2bytes
    55AA,标识位

centos系统

hexdump -n 5132 -Cv /dev/sda |tail -5

ubuntu系统

hexdump -n 512 -Cv /dev/sda |tail -5

可以看到sda是已有磁盘,右下角为55 aa
sdb是新磁盘,右下角为 00 00
在这里插入图片描述

命令解读:

 -v 表示以“verbose”模式显示,-C 表示以十六进制和 ASCII 字符混合显示,-n 512 表示只显示前 512 字节。- 分区标识dos

在这里插入图片描述

分区样式

  • 最多有4个主分区

  • 3主分区+1扩展(N个逻辑分区)

  • 为什么不能超过4个

    每个分区项的关键项信息就占用16字节
    MBR分区表的大小是固定的,只有64字节
    在这里插入图片描述

备份MBR

备份

dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446

在这里插入图片描述
在这里插入图片描述
结果显示备份文件大小为64bytes
在这里插入图片描述

还原

dd if=dpt.img of=/dev/sda bs=1 seek=446

GPT分区

命令解读
操作管理分区

fdisk [options] -l [<disk>]
fdisk -l /dev/sda

查看设备信息

lsblk [options] [<device> ...]
lsblk -f

fdisk分区

基础操作命令

fdisk -l
fdisk -l /dev/sda
cat /proc/partitions

创建分区

基本流程

  • 前提

     准备磁盘设备
    
  • 进入交互模式

     fdisk /dev/sdb
    
  • 查看分区

     p
    
  • 创建分区

     n
    
  • 选择类型

     p 主分区 entere 扩展分区 enter
    
  • 确定分区号

     1或者enter
    
  • 扇区边界

     起始扇区enter第一个扇区的起始位置2048结束扇区+10G enter
    
  • 保存分区

     w enter
    

管理分区

删除分区

进入交互模式
fdisk /dev/sdb
删除分区
d enter
选择编号
6 enter

非交互删除分区

echo -e 'd\n\nd\n\nd\n\nw' | fdisk /dev/sdb

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

非交互创建分区

echo -e 'n\np\n\n\n+10G\nw' | fdisk /dev/sdb

在这里插入图片描述
在这里插入图片描述

gdisk分区

gdisk是对gpt进行分区工具
与fdisk操作一样,界面不同
命令格式

gdisk [-l] device

parted分区

  • 定位

    通常用于处理大型磁盘
    更复杂的分区布局

  • 格式

parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]

可以基于容量大小、容量比例的方式定制分区

  • 信息查看

交互方式

parted
help

免交互查看

parted /dev/sdb help

显示所有分区

parted -l

指定磁盘查看分区

parted /dev/sdb print
  • 创建GPT分区

增加标识

parted /dev/sdb mklabel gpt
parted /dev/sdb print
  • 创建分区
parted /dev/sdb mkpart primary 1 1001
parted /dev/sdb mkpart primary 1002 1102
parted /dev/sdb mkpart primary ext4 1102MB 1902MB
  • 分区容量调整
parted /dev/sdb resizepart 3 4000MB
  • 删除分区
parted /dev/sdb print
parted /dev/sdb rm 4

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

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

相关文章

阿里云ECS服务器使用限制及不允许做的事情

阿里云ECS&#xff08;Elastic Compute Service&#xff09;是一种高性能的弹性计算服务&#xff0c;允许用户在云端创建和管理虚拟服务器。尽管ECS提供了强大的功能&#xff0c;但在使用过程中&#xff0c;阿里云有一些限制和不允许的行为。以下是一些主要的使用限制和禁止行为…

【手撕排序4】计数排序+快速排序(非递归)

> &#x1f343; 本系列包括常见的各种排序算法&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:[小编的个人主页])小编的个人主页 > &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 > ✌️ &#x1f91e;…

FPGA实现以太网(一)、以太网基础知识

系列文章目录 FPGA实现以太网&#xff08;二&#xff09;、初始化和配置PHY芯片 文章目录 系列文章目录一、以太网简介二、OSI七层模型三、TCP/IP五层模型四、MAC-PHY接口五、MAC帧格式六、IP帧格式6.1 IP首部校验和计算6.2 IP首部校验和校验 七、UDP帧格式7.1 UDP头部校验和…

Linux平台C99与C++11获取系统时间

源码: #include <iostream> #include <chrono> #include <ctime> #include <thread>using namespace std; int main() {cout << "===使用C99方式获取系统时间===" << endl;time_t now = time(nullptr);struct tm *tm_c99 = lo…

QT版发送邮件程序

简单的TCP邮箱程序 **教学与实践目的&#xff1a;**学会网络邮件发送的程序设计技术。 1.SMTP协议 邮件传输协议包括 SMTP&#xff08;简单邮件传输协议&#xff0c;RFC821&#xff09;及其扩充协议 MIME&#xff1b; 邮件接收协议包括 POP3 和功能更强大的 IMAP 协议。 服务…

【学习记录】使用CARLA录制双目摄像头SLAM数据

一、数据录制 数据录制的部分参考了网上的部分代码&#xff0c;代码本身并不复杂&#xff0c;基本都是简单的CARLA语法&#xff0c;关键的一点在于&#xff0c;CARLA内部本身并没有预设的双目摄像头&#xff0c;需要我们添加两个朝向相同的摄像头来组成双目系统&#xff0c;这…

第02章 CentOS基本操作

2.文件基本操作【文件操作&#xff08;一&#xff09;】 目标 理解Linux下路径的表示方法能够使用命令(mkdir和touch)在指定位置创建目录和文件能够使用命令(rm)删除指定的目录和文件能够使用命令(ls)列出目录里的文件能够使用命令(cat,head,tail,less,more)查看文件内容理解标…

【数字图像处理+MATLAB】解决 imshow 函数图像显示亮度异常问题:自动调整亮度范围使图像能正确显示

问题描述 在MATLAB中&#xff0c;使用imshow函数进行图像显示时&#xff0c;图片亮度显示异常。 imshow(im_avg);执行上述代码后&#xff0c;得到的图片亮度异常&#xff0c;如下图所示&#xff1a; 原因分析 在MATLAB中&#xff0c;imshow函数的亮度显示规则是基于图像数据…

探索 Python 的新边疆:sh 库的革命性功能

文章目录 **探索 Python 的新边疆&#xff1a;sh 库的革命性功能**第一部分&#xff1a;背景介绍第二部分&#xff1a;sh 库是什么&#xff1f;第三部分&#xff1a;如何安装 sh 库&#xff1f;第四部分&#xff1a;简单库函数使用方法1. 执行 ls 命令2. 使用 grep 搜索文件内容…

外贸管理利器7选,助力高效办公

推荐7款外贸管理软件&#xff0c;包括ZohoBooks、ZohoCRM、富通天下等&#xff0c;各具特色&#xff0c;满足外贸企业不同需求&#xff0c;提高管理效率&#xff0c;助力企业全球化竞争。、 一、Zoho Books Zoho Books是一款外贸财务管理软件&#xff0c;不仅为用户提供了一个…

SQL中的内连接(inner join)、外连接(left|right join、full join)以及on关键字中涉及分区筛选、null解释

一、简介 本篇幅主要介绍了&#xff1a; SQL中内连接&#xff08;inner join&#xff09;、外连接&#xff08;left join、right join、full join&#xff09;的机制;连接关键字on上涉及表分区筛选的物理执行及引擎优化&#xff1b;null在表关联时的情况与执行&#xff1b; …

机器学习(一)——基本概念、模型的评估与选择

目录 1 关于2 概念2.1 基础概念2.2 学习过程2.3 预测与评估2.4 标记与分类2.4.1 标记2.4.2 分类 2.5 回归分析2.6 聚类分析2.7 学习类型2.8 泛化能力2.9 统计学概念 3 模型评估与选择3.1 经验误差与过拟合3.2 评估方法3.2.1 留出法3.2.2 交叉验证法3.2.3 自助法3.2.4 调参与最终…

ssm060基于SSM的高校共享单车管理系统的设计与实现+vue(论文+源码)_kaic

设计题目&#xff1a;高校共享单车管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0…

聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 11月5日消息 比亚迪腾势D9登陆泰国 苹果 iOS 18.2 将发布 真我GT7 Pro防尘防水细节 小米15 Ultra最快明年登场 …

三菱QD77MS定位模块速度更改功能

速度更改功能” 是以任意时机将控制中的速度更改为新指定的速度的功能。更改后的速度直接设置到缓冲存储器中&#xff0c;并根据速度更改指令([cd.15速度更改请求)或者外部指令信号执行速度更改。 但是&#xff0c;机械原点复位的情况下&#xff0c;检测出近点狗 ON 并开始向蠕…

flink 内存配置(二):设置TaskManager内存

flink 内存配置&#xff08;一&#xff09;&#xff1a;设置Flink进程内存 flink 内存配置&#xff08;二&#xff09;&#xff1a;设置TaskManager内存 flink 内存配置&#xff08;三&#xff09;&#xff1a;设置JobManager内存 flink 内存配置&#xff08;四&#xff09;…

线段树专题(1)

线段树 线段树可维护的信息类型 线段树可以维护的信息类型&#xff0c;父范围上的某个信息&#xff0c;可以用O(1)的时间&#xff0c;从子范围的信息加工得到&#xff0c;例如求某个范围的最大最小值&#xff0c;给某个范围每个位置加相同的数字&#xff0c;进行求和。 0到2范…

NoETL自动化指标平台为数据分析提质增效,驱动业务决策

直觉判断往往来源于多年的经验和专业知识&#xff0c;能够在复杂和不确定的环境中快速做出决策反应。但这种方式普遍存在主观偏见&#xff0c;缺乏合理的科学依据&#xff0c;无法全面、客观、精准地评估和识别市场趋势与用户需求&#xff0c;从而造成决策失误&#xff0c;给业…

软考高级架构 - 8.1 - 系统质量属性与架构评估 - 超详细讲解+精简总结

第8章 系统质量属性与架构评估 软件系统属性包括功能属性和质量属性&#xff0c;而软件架构重点关注质量属性。 8.1 软件系统质量属性 8.1.1 概述 软件系统的质量反映了其与需求的一致性&#xff0c;即&#xff1a;软件系统的质量高低取决于它是否能满足用户提出的需求&#…

Jmeter常见的几种报错及解决方案

在性能测试的过程中&#xff0c;使用JMeter进行负载测试是一项常见而重要的任务。然而&#xff0c;测试中常常会遇到各种报错&#xff0c;这些问题可能会影响测试结果的准确性。了解这些错误的原因及解决方案&#xff0c;是每位测试工程师必备的技能 进行Jmeter项目练习的时候…