Linux磁盘管理入门深入解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
密钥管理服务KMS,1000个密钥,100个凭据,1个月
全局流量管理 GTM,标准版 1个月
简介: Linux磁盘管理学习报告

基础概念

1.硬盘中的概念

  • 磁头:【head】:磁头指的是通过磁性原理读取磁性介质上数据的部件,每个盘片一般有上下两面,分别对应1个磁头,共2个磁头。
  • 磁道:【track】当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。
  • 柱面:【cylinder】:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面。
  • 扇区:【sector】磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。硬盘的读写以扇区为基本单位 。
  • CHS:【Cylinder-head-sector,柱面-磁头-扇区】是早期对硬盘驱动器的每一个物理数据块进行编址的一种方法
  • LBA:【Logical Block Address】逻辑区块地址,对是描述计算机存储设备上数据所在区块的通用机制,一般用在像硬盘这样的辅助记忆设备。LBA可以意指某个数据区块的地址或是某个地址所指向的数据区块。

2.分区类型

  • MBR:【Master Boot Record】主引导记录,又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。

主引导记录的组成(512字节,LBA0):启动代码(446个字节)+硬盘分区表(64字节)+结束标志字(2字节)
启动代码:【bootloader】446个字节为操作系统启动需要的数据;

  • 硬盘分区表:【DPT】64个字节表示磁盘的分区信息,由于MBR分区表64个字节的长度限制,最多只能划分4个主分区,或者3个主分区1个扩展分区。当使用扩展分区来划分逻辑分区时,会即扩展分区后生成一个EBR的512字节的扇区,使用类似MBR的方式来表示 逻辑分区,但是EBR前446个字节为空,后64个字节为逻辑分区的分区信息,同样以55AA结束该扇区;

结束标志字:最后2个字节内容为55AA表示扇区结尾。

  • GPT:GPT

GPT即全局唯一标识分区表(GUID Partition Table)是一个实体磁盘的分区表的结构布局的标准。它是可扩展接口(EFI)标准的一部分。由于MBR分区表最大可寻址的存储空间只有2TB这个局限性。CPT就诞生了,CGPT分类64bits给逻辑块地址,这就意味着寻址存储空间达到8ZB。GPT支持最多128个主分区。
GPT=保护性MBR(LBA0)+GPT头(LBA1)+分区表(LBA2 ~ 33)+分区(LBA34 ~ -34)+分区表备份(LBA-2 ~ -33)+GPT头备份(LBA-1)
通常每个逻辑块(LBA)为512字节,每个分区的记录为128字节。负数的LBA地址表示从最后的块开始倒数,−1表示最后一个块。
3.文件系统

  • 文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。
  • 【文件系统类型】:
  • vfat:支持包括一系列相关文件系统 ( VFAT/FAT16/FAT32 ), 这些文件系统针对较旧版本的 Microsoft Windows 开发 , 在大量的系统和设备上受支持
  • 0iso9660: 光盘格式文件系统
  • nfs:网络文件系统
  • ramfs:内存文件系统
  • ext4:rhel6的标准文件系统。它非常强大可靠 , 具有多项可以提高现代工作量处理性能的功能
  • ext2:是常用于 Linux 中的较旧的文件系统。它简单可靠 ,非常适合小型存储设备,但是效率低于 ext4
  • xfs:rhel7的标准文件系统其具备数据完全、性能稳定、扩展性强 ( 8eb-1byte ) 、传输速率高 ( 7G/s )
  • Linux swap: 它是Linux中一种专门用于交换分区的swap文件系统

4.fstab文件

  • /etc/fstab是用来存放文件系统的静态信息的文件,当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。
  • 规定格式:<fs_sepc> <fs_file> <fs_vfstype> <fs_mntops> <fs_freq> <fs_passno>
  • 第1个字段:设备分区
  • 第2个字段:挂载文件路径
  • 第3个字段:挂载分区文件系统类型
  • 第4个字段:挂载参数,参数如下
  • Async/sync 设置是否为同步方式运行,默认为async
  • auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
  • rw/ro 是否以以只读或者读写模式挂载
  • exec/noexec 限制此文件系统内是否能够进行"执行"的操作
  • user/nouser 是否允许用户使用mount命令挂载
  • suid/nosuid 是否允许SUID的存在
  • uesrquota 启动文件系统支持磁盘配额模式
  • groupquota 启动文件系统对群组磁盘配额模式的支持
  • Defaults 同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
  • 第5个字段:能否被dump备份命令作用
  • 0 代表不做dump备份
  • 1代表要进行dump备份
  • 第6个字段:是否检验扇区,开机的过程中,系统默认会以fsck检验我们系统是否为完整
  • 0 不要检验
  • 1 1级别进行检验(一般根目录设置为1级别,选择最早检验)
  • 2 1级别检验完成后进行2级别检验

5.crypttab文件

  • /etc/crypttab 文件用于描述 在系统启动过程中创建的加密块设备(加密卷)。
  • 规定格式: [password] [options]
  • 第1个字段:(必须)是加密卷的映射名称, 也就是映射在 /dev/mapper/ 目录下的设备名称。
  • 第2个字段:(必须)是加密卷自身。
  • 第3个字段:(可选)是加密卷的密码文件。 密码文件必须以绝对路径表示,并且其中仅包含用于解开加密卷的密码。
  • 第4个字段:(可选)是逗号分隔的加密卷选项。
相关文章
|
18天前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
27 2
|
1月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
70 4
|
1月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
69 3
|
1月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
1月前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
83 3
|
25天前
|
机器学习/深度学习 数据采集 数据挖掘
Python编程语言的魅力:从入门到进阶的全方位解析
Python编程语言的魅力:从入门到进阶的全方位解析
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
前端大模型入门(三):编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。
431 1
|
2月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
97 0
|
2月前
|
存储 数据可视化 Linux
Linux 基础入门
Linux 基础入门
|
29天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
67 2