云计算【第一阶段(18)】磁盘管理与文件系统

2024-06-22 13:36

本文主要是介绍云计算【第一阶段(18)】磁盘管理与文件系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、磁盘基础

磁盘(disk)是指利用磁记录技术存储数据的存储器

磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。

早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。

也就是现在说的硬盘就相当于是说我们的磁盘

二、磁盘结构

磁盘分为:

  • 机械硬盘(HDD)
  • 和固态硬盘(SSD)

2.1、机械硬盘

由盘片、磁头、盘片转轴及控制电机、磁头控制器、数据转换器、接口和缓存等部分组成。磁头通过沿盘片半径方向运动,加上盘片的高速旋转,定位在指定位置上进行数据的读写操作。

速度较慢,通常约为120MB/S

通常具有较大的存储容量,便宜!!,适合需要大量存储空间的场景。

机械硬盘有 磁盘、磁道、扇区、柱面,这都是机械硬盘的概念,固态硬盘没有这些东西。

磁道、扇区

每个盘片被划分为一个个磁道,每个磁道又划分为一个个扇区(每个扇区存放512字节
的数据,是硬盘的最小存储单位)。其中,最内侧磁道上的扇区面积最小,因此数据密度最大。

盘片

一个磁盘(如一个 1T 的机械硬盘)由多个盘片叠加而成。盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片会有两个盘面。

柱面

不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。

 磁头

每面一个磁头

每个盘面对应一个磁头。所有的磁头都是连在同一个磁臂上的,因此所有磁头只能“共进退”。所有盘面中相对位置相同的磁道组成柱面。

2.2、固态硬盘

采用闪存技术作为存储介质,由闪存芯片、控制芯片、接口和缓存等部分组成。没有机械运动部件,通过电子信号进行数据读写。

快得多,SATA协议的固态硬盘速度约为500MB/S

NVMe协议的固态硬盘速度则更高,可达3500MB/S。

价格较高,但是性能好!!

固态硬盘没有机械件,由主控芯片、闪存、缓存颗粒、PCB板和外壳这五个部分组成。

ps:其他网友:机械硬盘的划伤是无法修复的,而且是一个普遍现象,相比之下,固态硬盘的数据安全性强很多。机械硬盘早晚退出历史舞台。

2.3、扩展移动硬盘

pssd是移动硬盘,最高的性能能达到2000M/s,电影秒传,不过价格...有点贵,2000M/s的 pssd 4T大概2500元

选购 PSSD 的第一步其实就是弄清楚自己电脑的 USB 口到底能消受多高的速度

USB 4

最高的理论传输速度可以达到 40 Gbps,也就是说,市面上一切你可以卖到的消费级 PSSD 他都能给hold 住,然后他长这样:

通常“雷电”接口旁边都会有一个雷电标识

一般是英特尔i7或者更新的电脑支持

usb3的话没有什么好说的了大概是这几代,一般不是特别老的电脑都支持

也可以选则支持这些的pssd作为使用,会比u盘好一些,但是u盘便宜,但是还是要具体分析。

2.4、机械磁盘的一些计算(了解)

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

  1柱面=512 * 扇区数/磁头数×磁道=512*63*255=7.84M

可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

2.5、磁盘接口类型

IDE ,SATA ,SCSI , SAS , 光纤通道
 

二、Linux 中使用的文件系统类型

2.1、磁盘分区的表示

2.1.1、主引导记录(MBR)

在每一个磁盘第一个物理扇区处都有MBR(Master Boot Record)主引导记录

位于硬盘的0磁道、0柱面、1扇区中,MBR的主要功能是存储启动引导程序磁盘分区表

分区表有4个分区记录区,每个分区记录区占16个字节

MBR总共512字节, 前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。
磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区

2.1.2、Linux中将硬盘、分区等设备均表示为文件

Linux中“一切皆文件”

/dev/sdb3


sd表示SCSI设备    
hd表示IDE设备
硬盘的顺序号,以字母a、b、c....表示
分区的顺序号,以数字1、2、3...表示。主分区从1-4, 第一个逻辑分区始终从5开始。

2.2、磁盘的分区结构

  • 硬盘中的主分区数目只有4个
  • 主分区和扩展分区的序号限制在1~4
  • 扩展分区再分为逻辑分区
  • 逻辑分区的序号将始终从5开始

2.2.1、扩展IDE设备和SCSI设备

IDE设备

定义
IDE(Integrated Drive Electronics)设备,全称“集成驱动器电子装置”,是一种硬盘驱动器接口技术。IDE的本意是将硬盘的“控制器”与“盘体”集成在一起,从而构成硬盘驱动器。

特点

  1. 接口技术:IDE接口也被称为ATA接口,是现代PC(个人电脑)中硬盘驱动器的主要接口类型。
  2. 简化与可靠性:将盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,增强了数据传输的可靠性,并使得硬盘的制造变得更为容易。
  3. 应用广泛:在个人电脑中,IDE设备主要包括硬盘和光驱(如CD-ROM驱动器、DVD-ROM驱动器和CD-R/RW光盘刻录机)。
  4. 安装简便:IDE设备的安装相对简单,主要需要连接电源线和数据电缆。
  5. 主从关系:IDE设备存在主设备和从设备的区分,主设备拥有更高的控制优先权。

SCSI设备

定义
SCSI(Small Computer System Interface)设备,是一种计算机和智能设备之间(如硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。

特点

  1. 智能通用接口:SCSI是一种智能的通用接口标准,可以连接多种设备。
  2. 性能优越:与IDE相比,SCSI在性能上更为出色,尤其在处理大文件和大目录时。
  3. 价格较高:由于SCSI主要针对服务器和专业环境设计,其价格相对较高。
  4. 使用复杂:SCSI的使用相对复杂,如SCSI ID和总线终结器的设置不当可能导致问题。
  5. 扩展性强:SCSI具有极强的扩展能力,一条通道上最多可以连接15个设备(除去控制卡本身占用的一个设备空间)。

总结

IDE设备和SCSI设备在定义、特点、性能、价格和使用复杂性等方面存在显著的差异。IDE设备以其简便、广泛的应用和相对较低的成本,在个人电脑中占据主导地位;而SCSI设备则以其高性能、高扩展性和复杂的专业应用,在服务器和专业环境中备受青睐。

 

2.3、文件系统类型

XFS

  • 是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万 T 字节的存储空间。由于 XFS 文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复
  • 存放文件和目录数据的分区
  • 优化算法,日志记录对文件操作非常小,它是全64位的文件系统,最大可以支持8EB的文件系统,而且支持单个文件达到8EB能以接近裸设备一的io性能存储。
  • centos7默认使用

SWAP

  • 交换文件系统,用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2 倍。例如,对于拥有 512MB物理内存的主机,其交换分区的大小建议设置为 1024MB。如果服务器的物理内存足够大(如 8GB 以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。【不过如果使用k8s不能使用这个,所以不怎么用,而且只能暂时使用,不能真正替代】
  • 相当与内存不够用时使用磁盘空间,做虚拟内存

EXT4

  • 第 4 代扩展文件系统,用于存放文件和目录数据的分区,是 Linux 系统中默认使用的文件系统(CentOS 7 默认使用 XFS)。EXT4 是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。
  • 在处理小文件和目录时,EXT4表现更优
  • 支持加密和快照等功能

XFS更适合大型企业环境和大容量数据存储,因为它在性能、可靠性和可扩展性方面表现出色。而EXT4则适用于中小型企业和家庭用户,特别是当需要处理大量小文件或需要与其他操作系统兼容时。

Linux 系统还广泛支持其他各种类型的文件系统,
    如 JFS、FAT16、FAT32、NTFS 等。JFS 文件系统多用于商业版本的 UNIX 操作系统中,具有出色的性能表现。由于 NTFS 是微软公司的专有文件系统,Linux 系统默认只支持从 NTFS 分区读取文件,如果需要向 NTFS 分区中写入文件数据,需要结合其他辅助软件(如 NTFS-3G)。
FAT16  FAT32
且支持文件最大32g ,2g单个文件支持最大4gb

ext4文件系统最大支持1EB文件系统

  • 1EB=1024PB
  • 1PB=1024TB
  • 1TB=1024GB

三、检测并确认新硬盘

查看硬盘的整体情况和分区情况

fdisk  -l  【磁盘设备】

在Linux系统中,磁盘设备通常被命名为 /dev/sdX(其中 X 是一个小写字母,如 abc 等)

Device:分区的设备文件名称。
Boot:是否是引导分区。若是,则有“*”标识。
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 分区、8e 表示 LVM 逻辑卷。LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面的章节介绍。
System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在 Linux 操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。
 

四、规划硬盘中的分区

五、创建文件系统

六、挂载,卸载文件系统

七、

八、

九、

这篇关于云计算【第一阶段(18)】磁盘管理与文件系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084432

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac