3-11-磁盘管理

为什么学磁盘运维

一、为什么要学磁盘运维

  1. 数据重要性方面

    • 磁盘是存储数据的关键设备。在企业和个人的计算机系统中,数据是极其宝贵的资产。例如,企业的财务数据、客户信息、生产数据等都存储在磁盘上。一旦磁盘出现故障导致数据丢失,可能会给企业带来巨大的经济损失,包括业务中断的损失、恢复数据的成本以及可能的法律责任等。通过磁盘运维,可以有效地防止数据丢失,保障数据的安全性和完整性。
    • 对于个人用户,磁盘上存储着照片、文档、个人创作作品等重要资料。学习磁盘运维能够让个人更好地保护自己的数据,避免因意外情况(如硬盘损坏、误删除等)而丢失珍贵的回忆和重要文件。
  2. 系统性能优化角度

    • 磁盘性能会直接影响计算机系统的整体性能。如果磁盘出现碎片化严重、读写速度变慢等问题,系统的运行效率会大幅下降。例如,一个数据库服务器,其磁盘I/O性能不佳会导致数据库查询和更新操作变得缓慢,影响整个应用程序的响应时间。学习磁盘运维可以帮助优化磁盘性能,如通过合理的分区规划、文件系统选择和磁盘碎片整理等操作,提升系统的运行速度,提高工作效率。
  3. 硬件设备维护需求
    • 磁盘作为计算机硬件的重要组成部分,其使用寿命和可靠性需要得到维护。正常使用过程中,磁盘可能会因为物理磨损、电磁干扰、过热等原因出现故障。掌握磁盘运维知识可以定期对磁盘进行健康检查,如监测磁盘的温度、检测是否有坏道等,及时发现潜在的问题并采取措施进行修复或更换,延长磁盘的使用寿命,降低硬件更换成本。

二、什么是磁盘运维

  1. 定义

    • 磁盘运维是指对计算机磁盘(包括机械硬盘HDD和固态硬盘SSD)进行管理、维护、性能优化和故障排除的一系列操作。它涵盖了磁盘从安装到使用过程中的各个环节,目的是确保磁盘能够稳定、高效地存储数据,并在出现问题时能够及时恢复数据和修复磁盘。
  2. 主要内容

    • 安装与初始化
      • 包括正确安装磁盘硬件,如在服务器机箱或个人计算机机箱内安装硬盘,连接数据线(如SATA线)和电源线。对于新磁盘,还需要进行初始化操作,例如在操作系统中对磁盘进行分区,格式化分区并选择合适的文件系统(如NTFS、ext4等)。
    • 性能优化
      • 磁盘性能优化涉及多个方面。其中,磁盘碎片整理是针对机械硬盘的重要操作。随着文件的不断写入和删除,机械硬盘中的文件会变得碎片化,导致读写头需要在不同的位置寻找文件片段,降低读写速度。通过磁盘碎片整理工具,可以将文件重新排列,使它们在磁盘上更加连续,提高读写效率。
      • 对于固态硬盘,需要注意避免过度写入,因为固态硬盘的写入寿命有限。可以通过合理设置虚拟内存、减少不必要的文件写入等方式来延长其使用寿命并优化性能。同时,调整磁盘缓存策略也能在一定程度上提高磁盘的读写性能。
    • 数据备份与恢复
      • 数据备份是磁盘运维的关键环节。这包括制定备份策略,如定期全量备份或增量备份。全量备份是将磁盘上的所有数据复制到另一个存储介质(如外部硬盘、磁带等),而增量备份则只备份自上次备份以来更改的数据。在数据丢失或磁盘故障时,通过恢复工具和备份数据,可以将数据还原到之前的状态。
    • 故障检测与修复
      • 磁盘故障检测包括软件和硬件两个层面。软件层面可以使用磁盘检测工具(如Windows自带的chkdsk工具、Linux下的fsck工具)来检查文件系统的错误,如修复文件系统中的坏块、找回丢失的文件碎片等。硬件层面则需要通过检测磁盘的物理状态,如查看SMART(Self - Monitoring, Analysis and Reporting Technology)信息来判断磁盘是否存在硬件故障,如电机故障、磁头损坏、盘片出现坏道等。如果是硬件故障,可能需要更换磁盘部件或者整个磁盘。

三、怎么学磁盘运维

  1. 理论知识学习
    • 阅读专业书籍
      • 可以选择一些计算机存储系统相关的书籍,如《存储技术原理分析:基于典型案例的代码级解读》等。这些书籍会详细介绍磁盘的工作原理,包括机械硬盘的磁头寻道、盘片存储数据的方式以及固态硬盘的闪存芯片工作原理等。同时还会涵盖文件系统的知识,如不同文件系统(NTFS、FAT32、ext4等)的结构和特点,这对于理解磁盘数据存储和访问方式非常重要。
    • 在线课程学习
      • 许多在线学习平台(如Coursera、Udemy等)提供磁盘运维相关的课程。这些课程通常会有系统的教学内容,从磁盘的基础知识讲起,逐步深入到性能优化和故障排除。例如,在一些课程中,会详细讲解如何使用专业的磁盘性能测试工具(如CrystalDiskMark等)来评估磁盘的读写性能,以及如何解读测试结果来发现潜在的性能问题。
    • 官方文档研究
      • 操作系统(如Windows、Linux)和磁盘硬件制造商(如希捷、三星等)都会提供大量的官方文档。对于操作系统的官方文档,可以了解操作系统是如何管理磁盘的,包括磁盘分区、格式化、文件系统维护等操作的详细步骤和原理。而磁盘硬件制造商的文档则可以帮助学习磁盘的技术规格、SMART属性的含义以及硬件故障诊断方法。
  2. 实践操作
    • 搭建测试环境
      • 可以利用旧计算机或者虚拟机搭建一个磁盘运维的测试环境。例如,在虚拟机中安装不同的操作系统,然后添加虚拟磁盘,进行磁盘分区、格式化、文件系统转换等操作。通过这种方式,可以在不影响实际工作和生产环境的情况下,熟悉磁盘运维的各种操作流程,并且可以随意进行实验,如模拟磁盘故障(通过修改虚拟磁盘的某些参数)来学习故障排除方法。
    • 实际项目参与
      • 如果有机会,可以参与企业内部的数据中心维护项目或者个人计算机维修项目。在实际项目中,会遇到各种各样的磁盘问题,如服务器磁盘阵列(RAID)故障、个人计算机硬盘坏道等。通过实际解决这些问题,可以积累丰富的磁盘运维经验,学会如何根据具体情况选择合适的工具和方法进行故障诊断和修复。
    • 工具使用与实验
      • 熟练掌握磁盘运维工具是关键。例如,学习使用DiskGenius等分区工具来进行磁盘分区和数据恢复操作。可以通过在测试环境中创建不同的分区布局,然后故意删除一些文件,再使用数据恢复功能来找回文件,以此来熟悉工具的使用方法和数据恢复的原理。同时,还可以使用性能测试工具(如HD Tune等)对磁盘的读写速度、寻道时间等性能指标进行测试,通过不断调整磁盘参数(如缓存大小等)和观察测试结果,学习如何优化磁盘性能。

任务背景

运维超哥突然接到公司的,微信告警通知,说数据库服务器根分区磁盘使用率超过了85%、该机器主要存储博客的用户文章、用户信息等数据。

[root@yuchao-linux-  ~]#df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  1.4G   16G   8% /
devtmpfs                 899M     0  899M   0% /dev
tmpfs                    911M     0  911M   0% /dev/shm
tmpfs                    911M  9.6M  902M   2% /run
tmpfs                    911M     0  911M   0% /sys/fs/cgroup
/dev/sda1               1014M  142M  873M  14% /boot
tmpfs                    183M     0  183M   0% /run/user/0

[root@yuchao-linux-  ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  4.2G  0 rom

运维查看后,发现mysql的数据目录放在了/usr/local/mysql中,占用了根文件系统空间,经过研究讨论,决定把用户博客数据单独存放在另外一块磁盘里,并且实现逻辑卷管理

image-20220331160440312


新加磁盘图解

image-20220331162850151

任务拆解

1.保证数据库数据完整的情况下,将用户数据, 迁移到另外一块新硬盘中。

2.考虑到数据会不断增长,用户产生大量博客,新磁盘采用lvm逻辑卷管理,方便日后动态扩容。

知识储备

1.需要一块新硬盘(虚拟机可添加)

2.新硬盘需要做lvm管理

3.数据库迁移(夜间停机维护 凌晨2点)

  • 停止数据库监控
  • 停止前端(关闭前端数据入口,比如停用博客发表功能)
  • 停止后端(可选)
  • 停止mysql数据库(防止数据还在写入、或者锁表)
  • 备份数据库(全备)
  • 迁移数据到新硬盘(rsync),新硬盘已经做好了lvm,且挂载好了。
  • 启动数据库
  • 启动前端入口
  • 测试数据读写
  • 博客功能重新恢复上线。
  • 打开数据库监控

新知识储备

  • 添加新磁盘、以及后续磁盘配置命令。
  • lvm逻辑卷管理。

实战目标

  • 使用fdisk命令管理磁盘分区
  • 格式化分区文件系统
  • 磁盘分区挂载(手动、开机启动、自动挂载)
  • 理解lvm原理
    • 物理卷、卷组、逻辑卷
    • 创建物理卷
    • 创建卷组
    • 创建逻辑卷
  • 熟练掌握lvm的命令。

理论知识储备

计算机硬件与存储

一、计算机硬件概述

  1. 定义

    • 计算机硬件是指计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。这些装置是计算机能够运行的物质基础,它们协同工作,使得计算机可以执行各种任务,如数据处理、存储、通信等。
  2. 主要组件

    • 中央处理器(CPU)
      • 它是计算机的核心部件,主要功能是执行计算机程序中的指令。就像是计算机的“大脑”,负责运算和控制。例如,当你打开一个文字处理软件并开始输入文字,CPU就会处理这些输入信息,将字符编码并存储在内存中。它的性能通常用时钟频率(单位是赫兹,如GHz)、核心数等来衡量。时钟频率越高,CPU处理速度越快;核心数越多,能够同时处理的任务就越多。
    • 主板
      • 主板是计算机硬件系统的核心平台,它为CPU、内存、硬盘、显卡等各种硬件设备提供连接接口和数据传输通道。可以把主板想象成一个“城市”,各个硬件就像是城市中的“建筑”,它们通过主板上的电路“道路”进行通信和协作。主板上有各种插槽,如CPU插槽、内存插槽、PCI - E插槽(用于安装显卡等扩展设备)等。
    • 内存(Random Access Memory,RAM)
      • 内存用于暂时存储CPU正在使用的数据和程序指令。它的特点是读写速度快,但断电后数据会丢失。这就好比是一个“工作台”,CPU在处理数据时,会把需要的数据从硬盘等存储设备中读取到内存这个“工作台”上进行操作。内存的容量大小会影响计算机的运行效率,常见的内存容量有8GB、16GB、32GB等。
    • 存储设备(硬盘、固态硬盘等)
      • 硬盘是计算机的主要存储设备,传统的机械硬盘(HDD)通过磁头在高速旋转的盘片上进行数据的读写操作。它的存储容量较大,价格相对较低。例如,常见的家用电脑硬盘容量可能达到1TB(1TB = 1024GB)或更高。固态硬盘(SSD)则是基于闪存芯片的存储设备,读写速度比机械硬盘快很多,特别是在系统启动、软件加载等方面表现出色。它的工作原理和U盘类似,没有机械部件,抗震性好。
    • 显卡(Graphics Card)
      • 显卡主要负责处理计算机中的图形和图像数据,将计算机中的数字信号转换为显示器能够显示的模拟信号或者数字信号。对于游戏玩家和从事图形设计、视频编辑等专业人士来说,显卡的性能至关重要。高性能显卡拥有更多的处理单元和更高的显存容量,可以流畅地运行复杂的3D游戏或者处理高分辨率的图像和视频。
  3. 输入输出设备(I/O设备)

    • 输入设备
      • 如键盘、鼠标、扫描仪等。键盘用于向计算机输入文字和命令,鼠标用于控制屏幕上的光标位置进行各种操作。扫描仪可以将纸质文档等物理媒介上的信息转换为计算机能够识别的数字信号。
    • 输出设备
      • 显示器、打印机等属于输出设备。显示器用于显示计算机处理后的结果,如文字、图像、视频等。打印机则可以将计算机中的文档等内容打印到纸张上。

二、计算机存储

  1. 存储层次结构

    • 计算机存储系统通常分为多个层次,从速度最快但容量最小的寄存器(位于CPU内部),到高速缓存(Cache),再到内存和外存(硬盘、固态硬盘、光盘、磁带等)。
    • 高速缓存是一种高速缓冲存储器,位于CPU和内存之间。它的存在是为了缓解CPU和内存之间速度不匹配的问题。当CPU需要读取数据时,会先在高速缓存中查找,如果找到就直接使用,大大提高了数据读取速度。例如,一些经常被CPU访问的数据和指令会被存储在高速缓存中,就像把常用的工具放在手边的小盒子里,方便快速取用。
    • 内存和外存的区别主要在于读写速度和存储容量。内存速度快,但容量相对较小,价格较高;外存速度慢,但容量大,价格相对较低。它们在计算机系统中起着不同的作用,内存用于暂时存储正在运行的程序和数据,外存用于长期存储大量的数据和程序。
  2. 存储设备类型

    • 机械硬盘(HDD)
      • 机械硬盘内部有盘片、磁头、电机等部件。盘片是存储数据的介质,磁头负责在高速旋转的盘片上进行数据的读写操作。电机带动盘片旋转,数据存储在盘片的磁性涂层上,通过磁头的感应来读取和写入数据。它的优点是存储容量大,价格便宜,适合对读写速度要求不是极高的大容量数据存储。但是它的缺点是读写速度相对较慢,而且由于有机械部件,在受到震动等情况下可能会损坏盘片和磁头,导致数据丢失。
    • 固态硬盘(SSD)
      • 固态硬盘使用闪存芯片存储数据。它的读写速度比机械硬盘快很多,数据的读写通过电信号控制闪存芯片内的晶体管来实现。固态硬盘没有机械部件,所以抗震性好,而且在启动系统、加载软件等方面能够大大缩短时间。不过,固态硬盘的价格相对较高,存储容量相对同价位的机械硬盘要小一些。
    • 光盘(CD、DVD、蓝光光盘等)
      • 光盘是一种通过激光来读取和写入数据的存储介质。CD光盘的存储容量一般在700MB左右,主要用于存储音乐、简单的软件等。DVD光盘的容量较大,一般在4.7GB - 17GB之间,可用于存储电影、较大的软件等。蓝光光盘的容量更大,能够达到25GB - 100GB,常用于存储高清电影、大型游戏等。光盘的优点是便于携带、存储数据相对稳定,缺点是读写速度较慢,而且需要专门的光驱设备来读写数据。
    • 磁带
      • 磁带存储是一种比较古老的存储方式。它通过在磁带上的磁性涂层来记录数据,主要用于数据备份和大容量数据存储。磁带的存储容量可以很大,但是读写速度非常慢,而且需要专门的磁带机来操作。现在磁带存储主要用于一些对读写速度要求不高、需要长期保存大量数据的场合,如数据中心的数据备份等。

img

硬盘

image-20220228153401620


机械硬盘,转速+缓存是磁盘高性能的指标

image-20220228153431530

服务器级别硬盘

image-20220228153519489

硬盘是什么

硬盘就是计算机中用来存储、持久化存储数据的一个设备。
市面主流的硬盘有两类、机械硬盘、固态硬盘。
区别于内存、硬盘中的数据,关机后,一直存在。
硬盘也被称为磁盘,因为硬盘存储数据和电磁有关,机械硬盘里有很多张磁盘。
  1. 定义

    • 硬盘(Hard Disk Drive,简称HDD)是计算机主要的存储设备,它是一种利用磁记录技术来存储和读取数据的设备。通俗来讲,硬盘就像是一个数据的“大仓库”,可以把计算机中的各种文件,如文档、图片、视频、程序等都存储在里面,并且在需要的时候能够把这些数据读取出来供计算机使用。
  2. 内部结构和工作原理

    • 盘片
      • 硬盘内部包含一个或多个盘片,这些盘片是存储数据的介质。盘片一般是圆形的,表面涂有一层磁性材料。数据以二进制的0和1的形式,通过磁头改变盘片上磁性材料的磁极方向来记录在盘片上。就好像盘片是一张巨大的、可以反复书写的“磁性纸张”,磁头则是“笔”,通过改变“纸张”上的磁性状态来记录信息。
    • 磁头
      • 磁头是硬盘中非常关键的部件,它负责在高速旋转的盘片上进行数据的读写操作。当硬盘工作时,磁头悬浮在盘片上方非常小的距离处(这个距离比头发丝的直径还要小),随着盘片的旋转,磁头可以快速地定位到盘片上的不同位置进行数据读写。可以把磁头想象成一个超级灵敏的“探测器”,它能在盘片这个“旋转的舞台”上精准地找到需要的信息或者把新的信息写进去。
    • 电机和控制电路
      • 电机主要负责带动盘片高速旋转,一般台式机硬盘的转速为7200转/分钟(RPM),有些高性能硬盘的转速可以达到10000转/分钟甚至更高。转速越高,数据的读写速度在一定程度上就会越快。控制电路则用于协调磁头的运动、数据的传输等操作,就像是硬盘的“大脑”,指挥着各个部件有条不紊地工作。
  3. 硬盘的接口类型

    • IDE接口(Integrated Drive Electronics)
      • 也称为ATA接口,这是一种比较早期的硬盘接口类型。它的特点是价格便宜,兼容性好,曾经在计算机领域广泛应用。不过,随着技术的发展,IDE接口的传输速度相对较慢,已经逐渐被其他更先进的接口所取代。
    • SATA接口(Serial ATA)
      • SATA接口是目前主流的硬盘接口,它的传输速度比IDE接口快很多。SATA接口有不同的版本,如SATA 1.0、SATA 2.0、SATA 3.0等,每个版本的传输速度都有所提升。SATA 3.0的理论传输速度可以达到6Gbps(每秒6千兆位),能够满足大多数普通用户和许多商业应用场景下的硬盘读写需求。
    • SCSI接口(Small Computer System Interface)
      • SCSI接口主要用于服务器和高端工作站等设备。它的特点是可以同时连接多个设备,并且具有较高的传输速度和更好的稳定性。不过,SCSI接口的设备价格相对较高,而且需要专门的控制器来支持。
  4. 硬盘的性能指标

    • 存储容量
      • 存储容量是硬盘最重要的性能指标之一。它表示硬盘可以存储的数据量大小,单位通常是GB(吉字节)或TB(太字节)。常见的硬盘容量有500GB、1TB、2TB等。随着技术的发展和用户对数据存储需求的增加,硬盘的容量也在不断增大。
    • 读写速度
      • 硬盘的读写速度直接影响计算机的运行效率。读取速度是指从硬盘中读取数据的速度,写入速度是指将数据写入硬盘的速度。这两个速度通常用MB/s(兆字节每秒)来衡量。机械硬盘的读写速度一般在100 - 200MB/s左右,而固态硬盘的读写速度则可以达到几GB/s。
    • 转速(针对机械硬盘)
      • 转速是机械硬盘特有的性能指标,前面提到过,转速越高,磁头在单位时间内能够读取的数据就越多,从而在一定程度上提高了读写速度。不过,高转速也会带来更多的热量和噪音。
  5. 硬盘的分类

    • 机械硬盘(HDD)
      • 上面详细介绍的那种利用磁头和盘片进行数据读写的硬盘就是机械硬盘。它的优点是存储容量大、价格相对较低,适合对读写速度要求不是特别高的用户,如一般家庭用户存储大量的照片、视频等文件。
    • 固态硬盘(SSD)
      • 固态硬盘和机械硬盘的工作原理完全不同。固态硬盘是基于闪存芯片的存储设备,它没有机械部件,数据的读写是通过电信号控制闪存芯片内的晶体管来实现的。固态硬盘的读写速度非常快,尤其是在系统启动、软件加载等方面表现出色,但是价格相对较高,存储容量相对同价位的机械硬盘较小。

一张图告诉你磁盘分区要学什么

自己准备一个U盘、或者移动硬盘,试试对硬盘进行格式化。

注意别是你机器上的磁盘。。

image-20220228185347627

磁盘内部体系知识

  1. 磁盘的物理结构与逻辑结构
    • 物理结构
      • 磁盘主要由盘片、磁头、电机、控制电路和缓存等部件组成。盘片是存储数据的介质,一般是金属或玻璃材质,表面涂有磁性材料。磁头负责在盘片上进行读写操作,电机带动盘片高速旋转,控制电路协调各部件的工作,缓存用于临时存储数据以提高读写性能。例如,在一个多盘片的硬盘中,磁头安装在一个可以移动的机械臂上,通过在盘片之间的移动和盘片的旋转,磁头能够定位到盘片上的任何存储位置。
    • 逻辑结构
      • 从逻辑上讲,磁盘被划分为磁道、扇区和柱面。磁道是盘片表面上的同心圆,数据就存储在这些磁道上。每个磁道又被划分为多个扇区,扇区是磁盘存储的基本单位,通常一个扇区的大小是512字节。柱面是所有盘片上相同半径的磁道的集合,在进行数据读写时,磁头是按柱面进行寻道操作的,这可以提高读写效率。例如,当系统要读取连续的数据时,磁头可以在一个柱面上连续读取多个扇区的数据,减少了磁头的移动次数。
  2. 数据存储与寻址方式
    • 数据存储
      • 数据以二进制的形式存储在磁盘的磁性涂层上,通过磁头改变磁性涂层的磁极方向来记录0和1。在磁盘格式化过程中,会建立文件系统,文件系统会对磁盘空间进行管理,将数据按照一定的规则存储在扇区和磁道中。例如,在FAT32文件系统中,文件会被分配到不同的簇(多个扇区组成一个簇)中,文件的存储位置信息会记录在文件分配表(FAT)中。
    • 寻址方式
      • 磁盘有两种主要的寻址方式:CHS(柱面 - 磁头 - 扇区)寻址和LBA(逻辑块寻址)。CHS寻址是早期使用的方式,它通过指定柱面号、磁头号和扇区号来定位数据在磁盘上的位置。但是随着磁盘技术的发展,尤其是大容量磁盘的出现,CHS寻址的局限性越来越明显。LBA寻址则是一种更简单、更有效的寻址方式,它将磁盘上的所有扇区从0开始编号,通过一个逻辑块号来定位数据,计算机的BIOS和操作系统可以更方便地使用LBA寻址方式来访问磁盘上的数据。
  3. 磁盘缓存的作用与原理
    • 作用
      • 磁盘缓存是磁盘内部的一个高速缓冲存储器,它的主要作用是提高磁盘的读写性能。当系统要读取数据时,如果数据在缓存中,就可以直接从缓存中获取,而不需要从磁盘的盘片上读取,大大缩短了数据读取时间。同样,当系统要写入数据时,数据会先写入缓存,然后再由缓存慢慢写入磁盘盘片,这样可以减少系统等待时间。例如,在频繁读取相同文件的情况下,磁盘缓存可以将文件内容存储在缓存中,下次读取时就可以快速响应。
    • 原理
      • 磁盘缓存利用了数据的局部性原理。数据的局部性包括时间局部性和空间局部性。时间局部性是指如果一个数据项被访问,那么在不久的将来它很可能会被再次访问。空间局部性是指如果一个数据项被访问,那么与它相邻的数据项也很可能会被访问。磁盘缓存会根据这些原理,将最近访问过的数据和与这些数据相邻的数据存储在缓存中,以便快速响应后续的访问请求。
  4. 磁盘分区与文件系统的关系
    • 磁盘分区是将一个物理磁盘划分为多个逻辑部分的过程。每个分区可以被格式化为不同的文件系统。文件系统是操作系统用于组织和管理磁盘上的数据的一种机制。例如,在Windows系统中,常见的文件系统有FAT32、NTFS等,在Linux系统中,有ext4、XFS等。
    • 当进行磁盘分区后,每个分区就像是一个独立的“磁盘”,可以单独进行文件系统的格式化和数据存储。文件系统会在分区的基础上,对磁盘空间进行更精细的管理,如分配文件和目录的存储位置、记录文件的大小和访问权限等。不同的文件系统有不同的特点,NTFS文件系统比FAT32文件系统具有更好的安全性和更高的文件大小限制,ext4文件系统在Linux系统中提供了高效的文件存储和管理功能。

image-20220228161039524

磁盘写入数据流程

  1. 数据准备阶段

    • 应用程序请求:当用户通过应用程序(如文字处理软件、图像编辑软件等)执行保存文件之类的操作时,应用程序会向操作系统发送写入数据的请求。这个请求包含了要写入的数据内容(例如,用户在文档中输入的文字、图像文件中的像素数据等)以及目标存储位置(如指定的磁盘分区、文件夹和文件名)。
    • 操作系统验证与转换:操作系统首先会验证应用程序的请求是否合法,包括检查用户是否有写入指定位置的权限。然后,操作系统会将应用程序提供的数据转换为适合磁盘存储的格式。例如,在Windows操作系统中,对于文本数据可能会将其转换为Unicode编码格式,这种格式可以被磁盘更有效地存储和读取。
  2. 缓存写入阶段(如果有缓存)

    • 缓存接收数据:许多磁盘设备都有缓存。如果存在缓存,操作系统发送的数据首先会被写入磁盘缓存。磁盘缓存是位于磁盘控制器或者系统内存中的高速缓冲存储器,其目的是为了提高写入效率。
    • 缓存管理策略:缓存会根据一定的策略来管理数据。例如,根据数据的优先级或者最近使用时间(LRU - Least Recently Used)来决定哪些数据应该保留在缓存中,哪些数据可以被新的数据替换。如果缓存已满,并且有新的数据需要写入,就会按照这种策略来腾出空间。
  3. 磁头定位阶段(针对机械磁盘)

    • 计算目标位置:对于机械磁盘,要写入数据,磁头需要定位到正确的磁道和扇区。操作系统会根据文件系统的信息(如文件分配表或者索引节点)来计算目标数据应该存储在磁盘的哪个柱面、磁道和扇区。这个计算过程涉及到磁盘的逻辑结构知识,例如通过逻辑块寻址(LBA - Logical Block Addressing)方式来确定目标扇区号。
    • 机械臂移动磁头:一旦确定了目标位置,磁盘内部的电机就会驱动机械臂移动磁头到相应的位置。这个过程需要一定的时间,特别是如果目标位置距离磁头当前位置较远时。这也是机械磁盘写入速度相对较慢的一个原因,因为磁头的移动是机械运动,有物理限制。
  4. 数据写入阶段(机械磁盘和固态硬盘有所不同)

    • 机械磁盘写入:在磁头定位到正确的位置后,磁头会通过改变盘片上磁性涂层的磁极方向来写入数据。磁头产生的磁场会根据要写入的数据(0或1)将盘片上的磁性颗粒的磁极方向进行相应的改变,从而将数据记录在磁盘上。这个过程需要精确的控制,以确保数据的准确性。
    • 固态硬盘写入:固态硬盘是基于闪存芯片的存储设备。数据写入时,通过电信号控制闪存芯片内的晶体管来存储数据。固态硬盘内部的控制器会将操作系统发送的数据转换为适合闪存芯片存储的格式,然后将电信号发送到相应的闪存单元,将数据写入其中。在写入过程中,还涉及到闪存芯片的磨损均衡技术,以延长固态硬盘的使用寿命。
  5. 确认与反馈阶段

    • 写入完成确认:在数据写入磁盘(无论是机械磁盘还是固态硬盘)后,磁盘会向操作系统发送一个写入完成的信号。对于机械磁盘,这个信号可能需要等待磁头回到初始位置或者完成其他一些后续操作后才能发送;对于固态硬盘,这个信号的发送相对更快,因为没有机械部件的延迟。
    • 操作系统反馈:操作系统收到磁盘发送的写入完成信号后,会将这个信息反馈给应用程序,告诉应用程序数据已经成功写入。此时,应用程序就可以继续执行其他操作,如关闭文件或者进行新的保存操作。

磁盘要放入计算机且被Linux系统识别,到可以使用磁盘存储数据,过程如下:

1.磁盘要存数据,相当于人盖房子

2.磁盘要分区后才能够存储数据,相当于房子改好了,需要隔断分出卧室,厨房,卫生间等区域

3.磁盘分区完成后,还得格式化后才能使用,且创建文件系统后才可以存储数据,相当于家里得装修后才能开始住人,不同的文件系统相当于不同的装修风格

4.磁盘分区,格式化,创建文件系统后,还得进行挂载到不同的文件夹,才能存放数据,相当于房子还得安装门、窗,才能和外界通信,进出

image-20220228161322993

机械硬盘原理

  1. 基本结构与部件功能

    • 盘片
      • 机械硬盘的盘片是存储数据的核心部件。它通常是圆形的,由玻璃或金属等材料制成,表面涂有一层磁性材料。这些磁性材料能够被磁头改变磁极方向,从而实现数据的存储。盘片的数量可以是一个或多个,多个盘片会堆叠在一起,并且它们会以很高的速度旋转,为磁头读写数据提供条件。例如,常见的台式机机械硬盘转速一般为7200转/分钟,服务器使用的高性能硬盘转速可能达到10000转/分钟甚至更高。
    • 磁头
      • 磁头负责在高速旋转的盘片上读写数据。磁头安装在一个可以移动的机械臂上,当硬盘工作时,磁头悬浮在盘片表面非常微小的距离处,这个距离比头发丝的直径还要小,以避免磁头和盘片接触而损坏。磁头就像一个极其精密的“探针”,当盘片旋转时,磁头能够在盘片的磁道上移动,定位到需要读写数据的位置。在写入数据时,磁头通过电磁感应产生磁场,改变盘片上磁性材料的磁极方向来记录数据;在读取数据时,磁头检测盘片上磁性材料的磁极变化,将其转换为电信号。
    • 电机与控制电路
      • 电机是驱动盘片旋转的部件。它提供了盘片旋转的动力,确保盘片能够以稳定的转速旋转,为磁头读写数据创造良好的条件。控制电路则起到了指挥协调的作用,它控制磁头的移动、数据的读写操作以及电机的转速等。控制电路就像是硬盘的“大脑”,它接收来自计算机主板的指令,如读取某个文件或者写入新的数据,并根据这些指令精确地控制硬盘各个部件的动作。
    • 缓存
      • 缓存是机械硬盘中的一个小容量高速缓冲存储器。它一般位于硬盘的电路板上,用于临时存储数据。缓存的存在主要是为了提高硬盘的读写性能。当计算机需要读取数据时,如果数据恰好在缓存中,就可以直接从缓存中获取,而不必等待磁头在盘片上寻找,这样可以大大缩短数据读取时间。在写入数据时,数据会先存储在缓存中,然后再由缓存慢慢写入盘片,这样可以减少计算机等待数据写入完成的时间。
  2. 数据存储原理

    • 磁道、扇区和柱面
      • 从物理结构上看,盘片被划分为许多同心圆,这些同心圆称为磁道。每个磁道又被划分为多个扇区,扇区是硬盘存储数据的基本单位,通常一个扇区的大小为512字节。多个盘片上相同半径的磁道组成一个柱面。在硬盘存储数据时,数据会按照一定的顺序存储在磁道和扇区中。例如,当存储一个文件时,文件的数据可能会分布在不同的磁道和扇区中,操作系统会通过文件系统来管理这些数据的存储位置,确保数据能够被正确地读写。
    • 二进制存储方式
      • 数据在机械硬盘上是以二进制的形式存储的。磁头通过改变盘片上磁性材料的磁极方向来表示0和1。当写入数据时,磁头根据要写入的二进制数字,产生相应的磁场,使盘片上的磁性颗粒的磁极方向按照规定进行改变。在读取数据时,磁头检测盘片上磁性材料的磁极方向的变化,将其转换为电信号,再经过硬盘的电路处理,将电信号转换为计算机能够识别的二进制数据。
  3. 数据读写过程

    • 读取数据
      • 当计算机需要从机械硬盘读取数据时,首先,硬盘的控制电路会接收到来自计算机主板的读取指令。然后,控制电路会根据指令中的信息(如文件的存储位置),通过逻辑块寻址(LBA)或者磁道 - 磁头 - 扇区(CHS)等寻址方式,计算出数据所在的磁道、扇区和柱面位置。接着,电机驱动盘片旋转,同时机械臂移动磁头到目标位置。当磁头定位到正确的位置后,开始读取盘片上磁性材料磁极方向的变化,将其转换为电信号。这些电信号经过硬盘内部的电路进行放大、滤波等处理后,被发送到计算机主板,最终被计算机识别和处理。
    • 写入数据
      • 在写入数据时,计算机首先将数据发送到硬盘的缓存(如果有)中。然后,硬盘的控制电路根据要写入数据的位置信息,驱动电机和机械臂,将磁头移动到目标磁道和扇区。当磁头定位好后,通过电磁感应产生磁场,按照要写入的数据(0或1)改变盘片上磁性材料的磁极方向,将数据写入盘片。在写入过程完成后,硬盘会向计算机发送写入完成的信号。

首先简单认识一下硬盘的物理结构,硬盘内部的物理结构很复杂,只能从大的颗粒度去看内部的结构

image-20220228162158296

硬盘长什么样

image-20220228162409864

磁盘内部


image-20220228165658359

基本的结构就是这样子的,至于硬盘是如何进行读写的,必须要知道磁盘盘片是如何划分的?否则你只知道磁头在盘片上动来动去。

盘片上涉及的基本概念

  1. 磁道(Track)
    • 定义:磁道是盘片表面上的同心圆。当盘片高速旋转时,磁头可以沿着这些同心圆移动来读取或写入数据。可以把磁道想象成唱片上的一圈圈纹路,只不过在硬盘中,这些“纹路”是用来存储二进制数据的。
    • 数量和分布:一个盘片上通常有数千个磁道。磁道从盘片的最外圈开始编号,最外圈的磁道编号为0,越往内圈编号越大。例如,在一个常见的硬盘盘片中,磁道编号可能从0到几千不等。相邻磁道之间的间距非常小,这是为了在有限的盘片面积内尽可能多地存储数据。而且,由于盘片是圆形的,越靠近圆心的磁道周长越短,所以内圈磁道存储的数据量相对外圈磁道会少一些。
    • 与数据存储的关系:数据是沿着磁道顺序存储的。当存储一个文件时,文件的数据可能会分布在多个磁道上。例如,一个较大的文件可能会从一个磁道的某一扇区开始存储,当这个磁道存储满后,数据会接着存储到相邻的磁道上。这种存储方式是由操作系统和文件系统来管理的,它们会根据文件的大小和盘片上的可用空间来合理分配磁道。
  2. 扇区(Sector)
    • 定义:扇区是磁道的一部分,是硬盘存储数据的基本单位。每个磁道被划分为多个扇区,就像把一个圆形的磁道切割成一个个小的扇形区域。
    • 大小和格式:通常,一个扇区的大小是512字节。这是一个行业标准的固定大小,不过在一些新的存储技术和高级文件系统中,也有使用4096字节(4KB)扇区的情况。扇区的开头部分包含一些用于存储地址信息和错误校验码(如CRC - Cyclic Redundancy Check)的区域,后面才是用于存储数据的部分。错误校验码用于在读取数据时检查数据是否出现错误,以保证数据的准确性。
    • 数据存储和访问方式:数据在扇区中是按照字节顺序存储的。当计算机要访问硬盘中的数据时,它首先要确定数据所在的扇区。操作系统通过文件系统的信息,如文件分配表(FAT - File Allocation Table)或索引节点(inode)来找到文件数据所在的扇区。例如,当读取一个文件的部分内容时,硬盘会根据操作系统提供的扇区地址,将磁头定位到相应的扇区,读取其中的数据并返回给计算机。
  3. 柱面(Cylinder)
    • 定义:柱面是指在一个硬盘中,所有盘片上相同半径的磁道的集合。可以想象一下,把硬盘中的多个盘片像一摞煎饼一样叠起来,从侧面看,所有盘片上相同位置的磁道就构成了一个柱面。
    • 与读写操作的关系:在硬盘进行读写操作时,磁头是按柱面进行寻道的。这是因为按照柱面寻道可以减少磁头的移动次数,从而提高读写效率。例如,当需要读取一个连续存储在多个盘片上相同半径磁道(即一个柱面)的数据时,磁头可以在这些磁道之间快速切换,而不需要频繁地在不同半径的磁道之间移动。这样能够更快地读取或写入数据,尤其是在读取大型文件或进行连续数据读写操作时,这种方式的优势更加明显。
  4. 磁头切换(Head Switching)和柱面切换(Cylinder Switching)

    • 磁头切换:在多盘片的硬盘中,每个盘片都有一个磁头。当需要在不同盘片的磁道之间读取或写入数据时,就需要进行磁头切换。磁头切换是通过硬盘内部的机械装置控制磁头在不同盘片之间移动来实现的。这个过程需要一定的时间,不过现代硬盘的技术已经使得磁头切换时间非常短。
    • 柱面切换:当数据存储在不同柱面的磁道上时,就需要进行柱面切换。柱面切换涉及到磁头在不同半径的磁道之间移动,这通常是通过移动硬盘内部的机械臂来实现的。柱面切换时间比磁头切换时间要长,因为磁头需要在盘片上移动更大的距离。在设计硬盘读写算法和优化数据存储布局时,需要考虑如何减少柱面切换的次数,以提高硬盘的整体读写性能。
  5. 整个硬盘上一般有很多的盘片组成

  6. 每个盘片如同切西瓜一样被“切”成一块一块的扇面

  7. 同时沿着半径的方向被划分成了很多同心圆,就是传说中的磁道

  8. 磁道被扇面切成很多的扇形区域叫做扇区(扇区是从磁盘读出和写入信息的最小单位,通常大小为512字节),不同盘片上的同半径磁道组成了柱面

这些都是磁盘物理上的概念,知道便可。

image-20220331164953090


硬盘基本知识:物理构造和逻辑单元

机械硬盘由坚硬金属材料制成的涂以磁性介质的盘片,盘片两面称为盘面或扇面,都可以记录信息,由磁头对盘面进行操作,一般用磁头号区分。

结构特性决定了机械硬盘如果受到剧烈冲击,磁头与盘面可能产生的哪怕是轻微撞击都有可能报废。

image-20191202104831397

磁头不动,硬盘旋转,磁头就会在磁盘表面画出一个圆形轨迹且磁化,数据就保存在磁化区域中,称之为磁道。

img

每个磁道分段,一个弧就是一个扇区。

一个机械硬盘,有很多张磁盘片

一个硬盘表面可以有多个扇面,每个扇面磁道数相同,具有相同周长的磁道形成的圆柱称之为柱面,柱面数与磁道数相等。

image-20220228164036478


img

磁盘名词(记忆)

l 磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头;

l 磁道(track)数:磁道是从盘片外圈往内圈编号0磁道,1磁道...,靠近主轴的同心圆用于停靠磁头,不存储数据;

l 柱面(cylinder)数:同磁道数量;

l 扇区(sector)数:每个磁道都别切分成很多扇形区域,每道的扇区数量相同,扇区大小是0.5KB是512字节,文件存储在硬盘中,最小存储单位就是扇区。

l 磁头读取扇区数据,是读取连续的多个扇区,称之为block(块)

l 圆盘(platter)数:就是盘片的数量。

提问磁盘名词

磁盘"块 block"是什么

  1. 定义

    • 磁盘块(Block)是操作系统与磁盘存储设备之间交互数据的基本单位。它是文件系统用于管理和分配磁盘空间的逻辑单元,类似于建筑中的“砖块”,磁盘空间就是由这些“砖块”堆砌而成。
  2. 与扇区的关系

    • 磁盘块通常是由一个或多个扇区组成。扇区是磁盘物理结构上的最小存储单位,其大小一般是固定的(如512字节)。而磁盘块大小是由文件系统决定的,它是扇区的整数倍。例如,在某些文件系统中,一个磁盘块大小可能是4KB(4096字节),这意味着一个磁盘块包含了8个512字节的扇区。
  3. 在文件存储中的作用

    • 分配空间:文件系统以磁盘块为单位来分配磁盘空间给文件。当一个文件被创建或需要存储更多数据时,文件系统会查找空闲的磁盘块,并将这些磁盘块分配给文件。例如,一个新创建的小文件可能只需要占用一个磁盘块的空间来存储其数据内容和相关的文件属性信息。
    • 数据读取和写入:在读取和写入文件数据时,也是以磁盘块为单位进行操作。当应用程序请求读取文件中的数据时,操作系统会根据文件系统中的文件索引信息找到包含所需数据的磁盘块,然后将这些磁盘块的数据读取出来。同样,在写入数据时,数据会被写入到文件系统分配的磁盘块中。这种方式使得文件系统能够更高效地管理磁盘空间和数据读写,因为它避免了频繁地处理单个扇区这种过小的单元。
  4. 对文件系统性能的影响

    • 块大小与性能:磁盘块大小的选择会影响文件系统的性能。如果块大小设置得较小,那么文件系统在存储和管理文件时会有更多的元数据(如文件索引等)开销,因为每个文件可能会占用更多的磁盘块,需要更多的索引信息来记录这些磁盘块的位置。但是,较小的块大小对于存储小文件比较有利,因为不会造成太多的磁盘空间浪费。
    • 空间利用率与碎片问题:另一方面,如果块大小设置得过大,可能会导致磁盘空间利用率不高。例如,一个只有几字节大小的文件如果占用一个较大的磁盘块,那么这个磁盘块中大部分空间就会被浪费。而且,随着文件的不断创建、删除和修改,可能会导致磁盘碎片的产生。磁盘碎片是指磁盘上的文件数据分散在不连续的磁盘块中,这会增加文件读取和写入的时间,因为磁头需要在磁盘上频繁地移动来获取不同位置的磁盘块中的数据。

操作系统与磁盘之间交流的最小单位就是磁盘块,它是一个虚拟的概念。

是对于操作系统(软件)来说有意义的概念,因此操作系统读写磁盘的时候,是以block为单位。

由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。

操作系统忽略对底层物理存储结构的设计,通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位。

图解

ATrack 磁盘磁道(粉红色部分)

BGeometrical sector 几何学中的扇形(紫色部分)

CTrack sector 磁盘扇区(玫红色部分)

DCluster /簇(绿色部分),linux是以"块"为单位,读取磁盘上的数据。

image-20220228165858581

为什么操作系统要虚拟出"块"

  1. 提高磁盘管理效率

    • 简化操作逻辑:磁盘的物理结构较为复杂,涉及到磁道、扇区等概念。对于操作系统来说,直接处理扇区这样的小单元会使磁盘管理变得非常繁琐。通过虚拟出块,操作系统可以以相对较大且更规整的单位来管理磁盘空间。例如,扇区大小通常是512字节,而块大小可以是4KB(8个扇区)或更大。这就好比将一堆小零件(扇区)组合成更大的组件(块)来进行管理,使得操作系统在分配磁盘空间、记录文件存储位置等操作时更加简便。
    • 减少管理开销:如果以扇区为单位进行磁盘管理,由于扇区数量众多,文件系统需要维护大量的关于每个扇区的信息,如扇区是否空闲、所属文件等。而以块为单位可以减少这种管理开销。例如,一个文件可能占用多个扇区,但操作系统只需要记录它占用了几个块以及这些块的位置,大大减少了管理文件所需的元数据信息量。
  2. 优化文件存储和读写性能

    • 适应文件系统的操作特点:文件系统在进行文件存储和读写时,通常是按连续的空间来操作的。块的大小是根据文件系统的特点和性能优化目标来设定的。以块为单位存储文件可以使文件在磁盘上的分布更加规整,减少文件碎片的产生。例如,当一个文件大小不是块大小的整数倍时,文件系统会尽量将剩余的数据存储在一个块内,而不是分散在多个扇区中,这样在读取文件时,磁头不需要频繁地在不同位置的扇区之间移动,提高了读取效率。
    • 数据缓存和预读功能:操作系统通常会有磁盘缓存机制,以块为单位进行缓存比以扇区为单位更加高效。在预读数据时,操作系统可以根据文件的访问模式和块的大小来预测接下来可能需要读取的数据,并将相关的块提前读取到缓存中。例如,在读取一个可执行文件时,操作系统可能会预读接下来的几个块,因为它推测这些块中的数据很可能会很快被用到,从而加快了文件的执行速度。
  3. 增强文件系统的兼容性和可扩展性

    • 跨硬件平台兼容性:不同的磁盘硬件设备可能有不同的物理扇区大小或者存储特性。通过虚拟出块,文件系统可以在不同的磁盘设备上以统一的方式进行管理。例如,有些老式磁盘的扇区大小可能是512字节,而新型磁盘可能采用4KB扇区大小,但文件系统可以通过将块大小定义为4KB来在这两种磁盘上实现类似的管理方式,提高了文件系统的兼容性。
    • 支持新的存储技术和应用需求:随着存储技术的发展,如固态硬盘(SSD)的出现和广泛应用,虚拟块的概念可以更好地适应这些新技术。SSD的读写特性与传统机械硬盘不同,以块为单位的管理方式可以方便文件系统针对SSD的特点进行优化,如磨损均衡、垃圾回收等操作。同时,对于一些新兴的应用,如大数据存储和云计算,以块为单位的存储管理也更容易实现数据的分布式存储和高效访问。

磁盘最小单位是? 看上图,哪个区域最小,扇区。

为什么操作系统不用扇区作为IO(输入,输出)单位?而用"块"呢?

  • 读取方便:由于扇区的Size比较小,数目众多时寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。

  • 分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。

    • 通过虚拟出来磁盘块的概念,在操作系统中认为块是最小的单位。

于超老师教你简单理解,扇区、块,他俩的关系。

你小时候,购物用的硬币,最小币值是,甚至是一分、两分钱,但是如今角、分,很难见到了,随着经济发展,生活物价水平提高,如果你还用分、角的话,非常不方便。

你想想你用一堆角、分、去买土豆,卖菜大姨,揍不揍你吧。

所以我们限制基本都是、替代了角、分

因此!

对计算机而言,扇区单位太小,因此用来作为磁盘数据的单位,并且记好

  • 扇区是磁盘底层使用的单位
  • 块是文件系统用的单位,和操作系统有关

linux系统上的"块"(重点)

块、是文件系统层面的概念,文件系统以"块"单位去读写磁盘的数据,在linux中,"块"的默认大小是4KB。

扇区(sector)是磁盘最小的物理存储单元,单位是512字节。

操作系统无法对数目众多的扇区进行寻址,因此操作系统将相邻的扇区组合在一起,形成了块(8个扇区,4k大小)。

在Linux文件系统中多个连续的扇区称之为block、块,也是在系统中被认为是最小的存储单位 du -h /tmp/*

在windows文件系统中多个连续的扇区称作簇。

操作系统规定,一个block只能存放一个文件的内容,因此文件占用空间,只能是block的整数倍,即使文件大小,小于一个block,也就是小于4k,同样占用一个block的大小。

root@yc-ubuntu-24 /opt# echo 'a' > 2025加油鸭.txt
root@yc-ubuntu-24 /opt# ll
总计 12
drwxr-xr-x  2 root root 4096  1月  9 17:55 ./
drwxr-xr-x 27 root root 4096  1月  6 22:34 ../
-rw-r--r--  1 root root    2  1月  9 17:55 2025加油鸭.txt
root@yc-ubuntu-24 /opt# ll -h
总计 12K
drwxr-xr-x  2 root root 4.0K  1月  9 17:55 ./
drwxr-xr-x 27 root root 4.0K  1月  6 22:34 ../
-rw-r--r--  1 root root    2  1月  9 17:55 2025加油鸭.txt
root@yc-ubuntu-24 /opt#
  1. 文件系统的存储分配单位 - 块(Block)

    • 在大多数Linux文件系统(如ext4)中,磁盘空间是以块(Block)为单位进行分配的。文件系统在存储文件时,会为文件分配整数个块。即使文件实际大小很小,它也会占用至少一个块的空间。
    • 例如,在常见的ext4文件系统中,默认的块大小可能是4KB(4096字节)。当你创建一个只有一个字符(在这个例子中是a)的文件2025加油鸭.txt时,文件系统仍然会为这个文件分配一个完整的块,因为它不能只分配文件实际大小那么小的空间。这就导致了文件看起来占用了4KB的空间,而不是实际的文件大小(2字节)。
  2. 空间浪费与文件系统设计权衡

    • 这种分配方式可能会导致一定程度的空间浪费,特别是对于大量小文件。但它也有其好处,例如简化了文件系统的管理。以块为单位分配空间使得文件系统在存储文件的位置记录、数据读取和写入操作等方面更加高效。
    • 同时,文件系统在设计时考虑到了大多数文件的大小分布情况以及磁盘I/O操作的效率。对于小文件的空间浪费可以通过一些优化措施(如小文件合并存储等技术)在一定程度上得到缓解,但这些措施可能因文件系统的不同而有所差异。

image-20220228172543849

磁盘原理总结

  • 磁盘盘片上,需要记住的内容
    • 磁道
    • 扇面
    • 扇区,磁盘最小物理存储单元,512bytes
    • 块,块等于8个扇区(512bytes * 8 = 4096 bytes = 4kb )
root@yc-ubuntu-24 /opt# stat 2025加油鸭.txt
  文件:2025加油鸭.txt
  大小:2             块:8          IO 块大小:4096   普通文件
设备:803h/2051d    Inode:524298      硬链接:1
权限:(0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
访问时间:2025-01-09 17:55:08.951604696 +0800
修改时间:2025-01-09 17:55:08.951604696 +0800
变更时间:2025-01-09 17:55:08.951604696 +0800
创建时间:2025-01-09 17:55:08.951604696 +0800
  1. 文件基本信息

    • 文件名称2025加油鸭.txt,这是文件在文件系统中的名字,用于用户和程序识别该文件。
    • 文件大小:显示为2字节,这是文件实际包含的数据大小,也就是文件内容(这里是字符a)所占用的字节数。
  2. 块和IO块相关信息

    • 块(Blocks):值为8。在Linux文件系统(如ext4)中,这里的“块”是文件系统分配磁盘空间的单位。虽然文件实际大小只有2字节,但文件系统会按照块来分配空间。因为IO块大小是4096字节(4KB),文件大小为2字节也会占用一个完整的块,这里的块数8可能是由于统计方式或者文件系统内部的一些标记导致的(实际可能应该是1,不过有些文件系统的stat命令输出可能会有这种不太直观的情况)。
    • IO块大小(IO Block):是4096字节,这表明文件系统在进行I/O操作(如读取和写入文件)时的基本单位是4KB。这也解释了为什么即使文件很小,也会占用一定的空间,因为文件系统以4KB为单位分配磁盘空间。
  3. 设备和Inode信息

    • 设备(Device)803h/2051d,这是存储文件的设备编号。前面的803h是十六进制表示,后面的2051d是十进制表示。这个编号用于在系统中唯一标识存储文件的物理设备或者逻辑设备分区等。
    • Inode:编号为524298。Inode是Linux文件系统中的一个重要概念,它是文件的索引节点,存储了文件的元数据信息,如文件的所有者、权限、文件大小、时间戳以及指向文件数据块的指针等。每个文件都有一个唯一的Inode编号,通过这个编号,文件系统可以快速定位和管理文件的各种属性。
  4. 权限、用户和组信息

    • 权限(Mode)(0644/-rw - r--r--),这表示文件的访问权限。0644是权限的八进制表示,其中rw -表示文件所有者(Uid)具有读(r)和写(w)权限,中间的r--表示文件所属组(Gid)具有读权限,最后的r--表示其他用户具有读权限。这种权限设置控制了不同用户和组对文件的访问方式。
    • 用户ID(Uid)和组ID(Gid)(0/root)(0/root),表明文件所有者的用户ID是0,对应的用户名为root,文件所属组的组ID也是0,对应的组名也是root。这意味着该文件是由root用户创建并且属于root组,root用户对文件有完全的读写权限,而其他用户只有读权限。
  5. 时间戳信息

    • 访问时间(Access Time)修改时间(Modify Time)变更时间(Change Time)创建时间(Creation Time):这四个时间戳的值都是2025 - 01 - 09 17:55:08.951604696 +0800。访问时间是指文件最后一次被读取的时间;修改时间是指文件内容最后一次被修改的时间;变更时间是指文件的元数据(如权限、所有者等)或者内容最后一次被改变的时间;创建时间是指文件在文件系统中被创建的时间。在这个例子中,由于文件刚刚创建并写入内容,所以这四个时间是相同的。

计算机容量单位

  1. 位(bit)

    • 定义:位是计算机存储信息的最小单位,它表示一个二进制数字0或1。这就像是计算机世界里的“原子”,所有的数据都是由这些0和1的组合构建而成的。例如,在计算机内存或硬盘存储中,数据的最基本表示形式就是位。
    • 应用场景:在计算机底层的数字电路和通信协议中经常会涉及到位的概念。比如,计算机网络中的数据传输速率单位“bps(bit per second)”,它表示每秒传输的位数,像常见的网络带宽有100Mbps(每秒传输100兆位),就是指这个概念。
  2. 字节(Byte)

    • 定义:字节是计算机信息技术用于计量存储容量的一种计量单位,1个字节等于8个位(1 Byte = 8 bit)。字节是一个比较基本且常用的单位,因为它的大小比较适合用来表示字符等基本信息单元。例如,一个英文字母(ASCII码)通常占用1个字节的空间,因为ASCII码是用7位或8位二进制数来表示一个字符。
    • 应用场景:在表示文件大小、内存容量以及各种数据存储量的时候,字节是最常见的单位之一。比如,一个简单的文本文件可能包含几百字节到几千字节的内容;计算机内存容量的描述也经常会用到字节,如常见的内存配置可能是8GB(1GB = 1024MB,1MB = 1024KB,1KB = 1024Byte)。
  3. 千字节(KB - Kilobyte)

    • 定义:1千字节等于1024字节(1 KB = 1024 Byte)。这里的“千”实际上是基于2的10次方(2^10)来计算的,而不是通常十进制中的1000。这是因为计算机采用二进制系统,所以在计算存储容量等相关单位时,使用2的幂次方更方便。
    • 应用场景:用于衡量较小的文件或存储区域的大小。例如,一些小型的文档、简单的图像文件或者早期计算机游戏的配置文件等可能大小在几KB到几百KB之间。
  4. 兆字节(MB - Megabyte)

    • 定义:1兆字节等于1024千字节(1 MB = 1024 KB),也就是1024×1024字节。它是一个比较适中的存储容量单位,能够表示中等大小的文件或存储区域。
    • 应用场景:可以用于表示许多常见的文件类型的大小,如普通的音乐文件(MP3格式)大小可能在几MB左右,一些简单的软件安装包可能大小在几十MB到几百MB之间。同时,计算机的内存容量描述也会用到MB,不过现在随着技术的发展,GB级别的内存更为常见。
  5. 吉字节(GB - Gigabyte)

    • 定义:1吉字节等于1024兆字节(1 GB = 1024 MB),它是一个较大的存储容量单位,适合用于描述计算机硬盘容量、大容量存储设备以及大型软件和数据集合的大小。
    • 应用场景:现在普通的计算机硬盘容量通常以GB为单位,如常见的硬盘容量有500GB、1TB(1TB = 1024GB)等。大型的游戏安装包、高清电影文件等可能大小在几GB到几十GB之间。
  6. 太字节(TB - Terabyte)

    • 定义:1太字节等于1024吉字节(1 TB = 1024 GB)。太字节用于表示非常大的存储容量,主要用于数据中心、大型服务器存储以及海量数据存储等场景。
    • 应用场景:在企业级的数据存储、云计算存储等领域经常会用到TB这个单位。例如,一个大型数据中心可能存储着数PB(1PB = 1024TB)甚至更多的数据,其中每一个服务器的硬盘阵列可能就有几十TB的存储容量,用于存储用户数据、备份文件等各种信息。
  7. 拍字节(PB - Petabyte)

    • 定义:1拍字节等于1024太字节(1 PB = 1024 TB)。这是一个巨大的存储容量单位,主要用于描述超大规模的数据存储。
    • 应用场景:在互联网公司的数据存储中心、大型科研项目(如天文观测数据、基因测序数据等)的数据存储场景中会涉及到PB级别的存储。这些海量的数据需要用拍字节这样的大单位来衡量其存储规模。
  8. 艾字节(EB - Exabyte)

    • 定义:1艾字节等于1024拍字节(1 EB = 1024 PB)。艾字节用于表示极其庞大的存储容量,是目前存储容量单位中的一个非常大的量级。
    • 应用场景:全球范围内的互联网数据总量、超大型数据中心存储的全部数据等可能会用到艾字节来进行估算。随着大数据时代的发展,数据量的增长速度极快,艾字节单位也越来越多地用于描述这种海量数据存储的规模。
  9. 一个英文字母(英文逗号),占1个字节

  10. 一个汉字(中文逗号)、3个字节(主流的utf-8编码)

image-20220228175005436

  • 计算机本身是只认识二进制(0和1,逢2进1),二进制的容量单位是bit(比特),但是比特太小了,就和分、角的概念一样,因此计算机通常使用byte作为容量单位。
1 Byte = 8 bit

随着计算机存储的发展,Byte也太小了,又出现了KB、MB、GB、TB

image-20220228175750622

磁盘分区

  1. 磁盘分区的定义与目的

    • 定义:磁盘分区是将一个物理磁盘划分为多个逻辑部分的过程。每个分区在操作系统中就像是一个独立的磁盘,可以单独进行格式化、分配文件系统、存储数据等操作。例如,一块容量为1TB的硬盘可以被划分成几个分区,如C盘、D盘等(在Windows系统下)。
    • 目的
      • 数据管理方便性:通过分区,可以将不同类型的数据分开存储。比如,可以将操作系统安装在一个分区,应用程序安装在另一个分区,用户数据(如文档、图片、视频等)存储在第三个分区。这样在进行系统维护(如重新安装操作系统)时,可以避免误删用户数据。
      • 提高系统性能和安全性:分区可以帮助优化磁盘性能。例如,将频繁读写的系统文件和临时文件放在一个分区,将不常访问的数据放在另一个分区。在安全性方面,某些分区可以设置不同的访问权限,限制用户对敏感数据分区的访问。
  2. 分区的类型

    • 主分区(Primary Partition)
      • 定义:主分区是硬盘上能够直接引导操作系统启动的分区。一个硬盘最多可以有4个主分区。在MBR(Master Boot Record)分区表格式下,主分区的信息存储在硬盘的第一个扇区(MBR扇区)的分区表中。
      • 用途:通常用于安装操作系统,如在Windows系统中,C盘一般是主分区,用于安装Windows操作系统,并且在这个分区中存储系统启动所需的关键文件,如引导加载程序(boot loader)。
    • 扩展分区(Extended Partition)
      • 定义:扩展分区本身不能直接用于存储数据,它是一种特殊的分区类型,主要作用是突破主分区数量的限制。在一个硬盘上只能有一个扩展分区。
      • 用途:扩展分区可以包含多个逻辑分区,这些逻辑分区可以用于存储各种数据。例如,在一块硬盘已经划分了3个主分区后,剩下的空间可以划分为一个扩展分区,然后在扩展分区内再划分出多个逻辑分区来存储文件。
    • 逻辑分区(Logical Partition)
      • 定义:逻辑分区是在扩展分区内部划分出来的分区,其数量没有严格限制(取决于操作系统和分区格式等因素)。逻辑分区的信息存储在扩展分区内的逻辑分区表中。
      • 用途:主要用于存储用户数据,如在Windows系统中,D盘、E盘等通常是逻辑分区,用于存储文档、软件安装包、游戏等各种文件。
  3. 分区的操作过程

    • 分区工具:G
      • 操作系统自带工具:许多操作系统都提供了磁盘分区工具。例如,Windows系统有磁盘管理工具,通过这个工具可以方便地创建、删除、调整分区大小等。在Windows磁盘管理中,可以选择一块未分配的磁盘空间,右键点击后选择创建分区,然后按照向导设置分区大小、分区类型(主分区或逻辑分区)、文件系统等。
      • 第三方分区软件:如PartitionMagic等软件,这些软件提供了更强大的分区功能。它们可以在不丢失数据的情况下调整分区大小,合并分区,分割分区等。不过,使用第三方软件存在一定的风险,操作不当可能会导致数据丢失。
    • 分区参数设置
      • 分区大小:在创建分区时,需要确定分区的大小。这可以根据用户的需求和磁盘的总容量来决定。例如,如果硬盘容量为500GB,可能会划分一个100GB的分区用于安装操作系统,剩下的400GB可以划分成几个逻辑分区用于存储不同类型的数据。
      • 分区格式(文件系统):分区创建后需要进行格式化,选择合适的文件系统。常见的文件系统有FAT32、NTFS(用于Windows系统)、ext4(用于Linux系统)等。不同的文件系统有不同的特点,如NTFS文件系统支持更大的文件大小和更好的安全性,FAT32文件系统兼容性较好但有文件大小限制。
  4. 分区与文件系统的关系

    • 文件系统是操作系统用于在分区上组织和管理数据的方法。当一个分区被创建后,需要为其选择并格式化一个文件系统。文件系统会在分区内部划分出用于存储文件目录、文件属性、文件数据等的区域。例如,在NTFS文件系统中,会有文件分配表(FAT)来记录文件在分区中的存储位置,还有元数据区域用于存储文件的属性信息(如文件名、大小、创建时间等)。不同的文件系统在存储效率、安全性、兼容性等方面有所不同,所以在分区时需要根据具体的应用场景和需求来选择合适的文件系统。

硬盘分区是就使用分区编辑器(partition editor)将一个硬盘上划分几个独立的逻辑部分,盘片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。

越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件;但太多分区就成了麻烦。

硬盘分区就像给一间空荡的房子划分出卧室,厨房,客厅等相互隔离的空间一样。主要是为了方面用户的使用。

image-20220331165323277

另一方面,通过合理的硬盘分区,有效保护系统盘空间,确实能够提高系统运行速度,再者,硬盘分区也可以有效地对数据进行保护。

image-20220228180542777

你当然可以不分区,只不过,当你面对越来越多的子目录,或者是越来越慢的Windows,不得不费功夫去管理你的文件,或者重装Windows的时候,恐怕会悔不当初。

image-20191202104150773

关于MBR分区

  1. MBR(Master Boot Record)的定义与位置

    • 定义:MBR是硬盘的第一个扇区(即0柱面、0磁头、1扇区)中的一段引导代码和分区表信息的组合。它就像是硬盘的“地图索引”,记录了硬盘的分区信息以及如何引导计算机启动。这段信息非常关键,因为计算机在启动时,BIOS(基本输入输出系统)会首先读取硬盘的MBR来确定硬盘的分区布局和启动分区。
    • 大小和内容:MBR的大小为512字节。其中,前446字节是引导程序(Boot Loader),这部分代码的主要作用是启动计算机并加载操作系统。例如,在安装Windows操作系统时,安装程序会将Windows的引导加载程序写入这446字节中,引导加载程序会进一步读取操作系统的核心文件来启动系统。后64字节是分区表信息,每个分区表项占用16字节,所以最多可以记录4个分区的信息,这4个分区可以是主分区或者扩展分区。最后2字节是MBR的结束标志(通常是“55 AA”),用于标识MBR的有效性。
  2. MBR分区的特点

    • 分区数量限制:由于MBR的分区表只有64字节,每个分区表项占用16字节,所以MBR最多只能划分4个主分区。如果需要更多的分区,可以将其中一个主分区设置为扩展分区,然后在扩展分区内划分逻辑分区。这种分区方式在一定程度上限制了分区的灵活性,对于一些需要大量分区的复杂存储环境不太方便。
    • 分区大小限制:在MBR分区表格式下,分区的大小受到一定的限制。理论上,一个分区最大可以达到2.2TB(2^32 * 512字节)左右。不过在实际应用中,由于一些因素(如分区起始位置等)的影响,分区大小通常会小于这个理论值。对于大容量硬盘(如4TB及以上),MBR分区方式可能无法充分利用硬盘的全部容量。
    • 兼容性和通用性:MBR分区是一种比较古老且广泛应用的分区方式,它具有很好的兼容性。几乎所有的操作系统都支持MBR分区,包括Windows、Linux和macOS等。这使得在不同操作系统之间进行数据交换和共享变得相对容易。例如,在一个安装了Windows和Linux双系统的计算机中,如果硬盘采用MBR分区,两个操作系统可以在分区划分和引导方面更容易地协同工作。
  3. MBR分区的引导过程

    • BIOS启动阶段:当计算机开机时,BIOS首先会进行硬件自检(POST - Power - On Self - Test),检查计算机的硬件设备是否正常工作。之后,BIOS会按照预先设置的启动顺序(如从硬盘、光驱、USB等设备启动)来寻找可引导设备。如果硬盘是第一启动设备,BIOS会读取硬盘的MBR。
    • MBR引导加载程序执行阶段:BIOS将MBR的引导程序加载到内存中并执行。引导程序会根据分区表中的信息来确定哪个分区是活动分区(用于启动操作系统的分区)。例如,如果C盘是活动分区,引导程序会在C盘的特定位置(如系统根目录下)寻找操作系统的核心文件(如Windows的ntldr或Linux的GRUB等),然后加载这些文件来启动操作系统。
    • 操作系统加载阶段:在引导程序找到并加载操作系统的核心文件后,操作系统开始初始化自身的各个组件,如加载设备驱动程序、初始化内存管理等。最后,操作系统进入用户界面,完成整个启动过程。
  4. MBR分区的局限性与替代方案

    • 局限性
      • 容量限制:如前面提到的,对于大容量硬盘不能很好地利用全部容量。随着硬盘容量的不断增大,这一问题越来越明显。
      • 4T
      • 安全性相对较弱:MBR本身没有很强的安全保护机制。如果MBR中的引导程序被恶意篡改(如病毒感染),计算机可能无法正常启动或者会出现安全问题。例如,一些恶意软件会修改MBR中的引导加载程序,将用户引导到一个虚假的操作系统登录界面来窃取用户密码。
    • 替代方案 - GPT分区(GUID Partition Table):GPT分区是一种较新的分区方式,它克服了MBR分区的许多局限性。GPT分区没有主分区数量限制,可以划分多达128个分区。在容量方面,GPT分区可以支持非常大的硬盘容量,理论上最大可达9.4ZB(9.4×10^21字节)。而且,GPT分区具有更好的安全性,它使用了备份分区表和循环冗余校验(CRC)等技术来保护分区信息。现在,许多新的计算机系统和大容量硬盘都倾向于使用GPT分区。

由于硬盘的容量区别很大,甚至超过了TB的容量单位,关于磁盘分区又有了两种方式

  • 小于2TB的硬盘,使用mbr分区
  • 超过2TB的硬盘,使用GPT分区

MBR是什么

简单说,mbr是磁盘里第一个扇区,作用是告诉操作系统怎么加载磁盘顺序,如何开机的!

MBR(master boot record)的英文缩写,简称主引导记录,还可以叫做主引导扇区。

优点就是兼容性比较好,缺点就是不支持管理大硬盘结构。

MBR的作用是什么

主引导扇区位于整个硬盘的0磁头0柱面1扇区,包括硬盘主引导记录MBR(Master Boot Record)分区表DPT(Disk Partition Table)。

其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,也就是操作系统引导扇区调入内存加以执行。

mbr检查磁盘分区表是否正确,分了几个区,以及哪一个是安装了操作系统的分区,比如C盘,然后加载系统。

image-20220228183355663

MBR分区表(DPT:disk partition table)

在MBR磁盘的第一个扇区内保存着系统启动代码和硬盘分区表。

启动代码的作用是指引计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式);

分区表的作用是记录硬盘的分区信息。

说白了就是记录了启动硬盘、加载分区的一个记录表,如

分区表记录了
1.系统装在了c盘(第一分区),里面也包括了启动系统的核心程序
2.加载D盘、E盘、F盘等(第N分区)

image-20220228183631365

MBR结构

在总共512字节的MBR扇区中,由四部分组成:

引导程序

引导程序在0号扇区的开始位置,共占用440字节。

Windows磁盘签名

Windows磁盘签名占用引导程序后的4个字节,是windows系统对硬盘初始化时写入的一个硬盘标签。

分区表

分区表占用64字节,是MBR中非常重要的一个结构。

结束标志

扇区最后两个字节“55AA”是MBR的结束标志,剩下的都是其他分区(c、d、e、f盘)的扇区了。

boot loader

引导操作系统的主程序

https://www.diskgenius.cn/

image-20191202111635462


image-20220228190346120

更多关于Mbr的原理,https://baike.baidu.com/item/%E4%B8%BB%E5%BC%95%E5%AF%BC%E6%89%87%E5%8C%BA/7612621

关于mbr、gpt更多硬盘原理,https://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php

关于GPT(GUID)分区

GPT分区:全称为Globally Unique Identifier Partition Table,也叫做GUID分区表,由于MBR限制在2TB容量,GPT诞生了,优点如下

  • GPT分区的硬盘容量几乎无限制
  • 分区个数无限制
  • 自带磁盘数据保险机制

  • GPT分区的定义与结构

    • 定义:GPT(GUID Partition Table)即全局唯一标识分区表,是一种基于UEFI(统一可扩展固件接口)标准的磁盘分区系统。与传统的MBR分区相比,GPT提供了更灵活、更强大的分区功能,尤其适用于大容量磁盘和高级系统配置。
    • 结构组成
      • GPT头(GPT Header):位于磁盘的开头部分,占用大约92字节。它包含了GPT分区表的版本号、分区表项数量、分区表项大小等关键信息,同时还保存了分区表自身的起始和结束位置以及磁盘的唯一标识符(GUID)。这个头部分类似于一本书的封面和目录,告诉系统磁盘分区的基本布局和如何读取分区信息。
      • 分区表(Partition Table):GPT分区表包含多个分区表项,每个分区表项占用128字节,用于详细描述一个分区的起始位置、结束位置、分区类型(如系统分区、数据分区等)、分区的唯一标识符(也是GUID)等信息。在GPT分区中,最多可以有128个分区表项,这使得分区数量大大超过了MBR分区的限制。分区表项就像是书中的章节内容介绍,每个章节(分区)的关键信息都记录在这里。
      • 分区区域(Partition Area):这是实际存储分区数据的地方,根据分区表中的定义,每个分区在这个区域内占用一定的磁盘空间来存储数据。这部分就好比是书中的各个章节内容,真正的数据就存储在这里。
      • 备份GPT头和分区表(Backup GPT Header and Partition Table):GPT分区在磁盘的末尾部分还保存了一份GPT头和分区表的备份。这是GPT分区的一个重要安全特性,当磁盘头部的GPT信息由于某些原因(如磁盘部分损坏、恶意软件攻击等)丢失或损坏时,系统可以利用备份的GPT信息来恢复分区结构和数据,大大提高了磁盘分区的可靠性。
  • GPT分区的特点

    • 分区数量和大小优势
      • 分区数量多:GPT分区最多可划分128个分区,相比MBR分区最多4个主分区(加上扩展分区和逻辑分区才能划分更多),GPT分区在分区布局上更加灵活。这对于一些复杂的存储场景,如服务器存储多个用户的数据分区、大型数据中心对磁盘进行精细划分等非常有用。
      • 分区大小限制少:GPT分区对于磁盘容量的支持几乎没有限制,理论上最大可达9.4ZB(9.4×10²¹字节)。这使得它能够充分利用现代大容量磁盘(如8TB、10TB甚至更大容量的硬盘)的全部空间,不会像MBR分区那样在大容量磁盘上出现分区大小受限的问题。
    • 安全性和可靠性增强
      • 备份分区信息:如前面提到的,GPT分区在磁盘的末尾有备份的GPT头和分区表。这种备份机制可以有效防止因磁盘头部损坏而导致的数据丢失和分区混乱。例如,如果磁盘头部的一小部分扇区因为物理损坏而无法读取,系统可以自动使用备份的GPT信息来恢复分区,保证数据的完整性和可访问性。
      • 数据完整性保护:GPT分区还支持使用循环冗余校验(CRC)来保护分区表和分区数据。CRC是一种错误检测码,通过对数据进行计算得到一个校验值,在读取数据时重新计算校验值并与原来的校验值进行比较,就可以检测数据是否被篡改或者损坏。这种方式进一步增强了GPT分区的安全性和可靠性。
    • 兼容性与UEFI紧密结合:GPT分区是与UEFI固件紧密配合的分区方式。UEFI是一种新型的计算机启动固件,它提供了比传统BIOS更强大的功能和更好的性能。在支持UEFI的计算机系统中,GPT分区可以实现快速启动、安全启动等高级功能。例如,安全启动功能可以防止未经授权的操作系统或恶意软件在系统启动时加载,通过验证操作系统的数字签名来确保系统的安全性。不过,需要注意的是,一些较旧的计算机系统可能不支持UEFI和GPT分区,这可能会限制GPT分区的使用范围。
  • GPT分区的应用场景

    • 大容量存储设备:在现代数据中心、企业级存储服务器和大容量外置硬盘中,GPT分区是首选的分区方式。因为这些设备往往需要存储大量的数据,并且对数据的安全性和分区的灵活性要求很高。例如,一个数据中心的存储服务器可能使用多个大容量硬盘,通过GPT分区可以充分利用硬盘容量,划分多个不同用途的分区,如系统分区、用户数据分区、备份分区等。
    • 双系统或多系统安装:对于需要在一台计算机上安装多个操作系统(如Windows和Linux双系统)的用户,GPT分区提供了更方便的分区布局。由于分区数量限制少,可以轻松地为每个操作系统划分独立的分区,并且在UEFI的支持下,双系统的引导管理也更加灵活和安全。例如,可以通过UEFI的启动菜单方便地选择启动不同的操作系统,并且每个操作系统的分区可以更好地隔离,避免相互干扰。
    • 高性能计算和专业工作站:在高性能计算领域,如科学计算、图形设计、视频编辑等专业工作站中,GPT分区可以配合高性能的硬件和操作系统,实现高效的数据存储和快速的系统启动。这些工作站通常使用大容量的高速硬盘或固态硬盘,GPT分区能够更好地发挥这些设备的性能优势,同时为复杂的工作流程和多任务处理提供可靠的存储分区支持。

GPT和MBR两者的区别(了解)

1、MBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费;GPT分区表则能够识别2TB以上的硬盘空间。

2、MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区(逻辑分区不限制);GPT分区表在Windows系统下可以支持128个主分区。

3、在MBR中,分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。

何选择?

建议一:新买的电脑是传统的BIOS主板,那建议继续使用MBR硬盘模式;若是UEFI主板的话,则继续使用GPT。

建议二:如果需要重装系统,在重装前了解清楚所安装的系统版本是否支持MBR或者UEFI,这就是所谓的“兼容性”。

但是,不管是新旧系统版本,或是32/64位系统,它们都能同时兼容MBR。相反,不是所有的windows版本都兼容GPT!一定要注意了!

Copyright © www.yuchaoit.cn 2025 all right reserved,powered by Gitbook作者:于超 2025-01-11 11:27:25

results matching ""

    No results matching ""