前言

环境:centos7.9
我们知道,计算机使用硬盘存储数据,硬盘是无关于计算机操作系统的,即不管你安装Windows还是Linux也好,硬盘硬盘的分区方式、接口类型都是与你安装的操作系统无关的。
本篇我们来讲解一些关于硬盘的基础知识,如硬盘的分区方式、硬盘的接口联系,以及Linux操作系统下硬盘的命名规则等。
关于硬盘分区这里有一篇更好的文章:https://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php

磁盘和硬盘的区别是什么

之前一直不太理解磁盘和硬盘是什么含义,一直绝对硬盘就是磁盘,反正就是计算机存储数据一个盘,百度了一下得知:硬盘是磁盘中的一种,软盘也是磁盘。硬盘和磁盘的区别为:硬盘属于磁盘的一种,硬盘由磁盘组装而成。圆形的磁性盘片被装在一个盒子里密封起来,即可称之为硬盘。这样做的目的是为了防止磁盘表面划伤而导致数据丢失。硬盘内部结构由固定面板、控制电路板、盘头组件、接口及附件等极大部分组成,而盘头组件是构成硬盘的核心,封装在硬盘的净化腔体内,包括浮动磁头组件、磁头驱动机构、盘片及主轴驱动机构、前置读写控制电路等。
反正,我觉得没必要去纠结这两个名词,下文提到的磁盘硬盘大家可以联想到是一个意思就行了。

Linux系统磁盘分区相关知识

1、物理硬盘是不能被直接使用的,要在该硬盘上划分出分区后,才能够使用。
2、磁盘分区有主分区、扩展分区和逻辑分区之分,一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,在这个扩展分区内可以划分多个逻辑分区;
3、如果规划的分区数量超过4个,则分区组合为3primary+1extend或2p+1e或1p+1e;
4、一块磁盘最多只能有一个扩展分区,扩展分区不能直接使用,必须在扩展分区上划分逻辑分区,然后格式化创建文件系统,之后才能存取数据。

硬盘的分区方式

我们最常见的硬盘的分区方式有两种:MBR、GPT。

硬盘分区方式之MBR分区

MBR的全称是Master Boot Record,即主引导记录,它是存在于硬盘上的第1个扇区,而且这是一个特殊的启动扇区,这个扇区包含了已安装的操作系统的一些相关信息,并用一段代码来启动操作系统,这一小段代码就是Bootloader,我们称bootloader为主引导程序;
我们知道一个扇区占512字节,下面我们来看下这个硬盘上的第1个扇区都保存了哪些信息:
1、bootloader主引导程序,446字节,一个扇区512字节,现在已经有446字节被引导程序占用了,还剩66字节了;
2、分区表(Disk Partition Table),分区表信息,占66字节。
分区表保存了硬盘的分区信息,比如这块硬盘有多少个分区等消息都保存在分区表中,操作系统通过读取分区表内的信息,就能够知道该硬盘的分区信息了;
每个分区需要占用16字节大小,保存有文件系统标识,起始柱面,磁头号,扇区号,起始扇区位置(4字节),分区总扇区数目(4字节)等内容(66/16=4,这也是为什么MBR方案最多分4个主分区的原因);
分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用;
逻辑分区的分区信息是保存在扩展分区内而不是保存在分区表中的,这样就可以突破MBR分区只能保存4个分区的限制了。

所以,采用MBR分区方案有如下特点:
1、最多只能分4个分区,最多只能有1个扩展分区,可以没有扩展分区;
2、所以MBR分区只能这样分区:4个都是主分区或者3个主分区+1个扩展分区,然后在这个扩展分区里面再分n个逻辑分区;
2、操作系统只能安装在主分区上,所以必须保证至少要有1个主分区;
3、扩展分区必须格式化为逻辑分区才能使用,一个扩展分区可以格式化为n个逻辑分区;
4、若是MBR分区的其硬盘容量最大只能支持2TB,但兼容性好,Linux下使用fdisk工具对2TB的硬盘进行分区,因为超过2TB的硬盘,fdisk无法分区的 。

MBR分区小结

1、一个扇区占512字节,而MBR分区方案使用硬盘的第一个物理扇区中的64个字节作为分区表的空间来保存硬盘分区信息,每个分区的信息要占16个字节。所以,MBR分区表最多只能保存4个分区的分区信息。
2、MBR分区方案中,有三种类型的分区:主分区、扩展分区和逻辑分区。扩展分区与逻辑分区是为了突破分区表中只能保存4个分区的限制而出现的。
3、MBR分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用。逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内,这样,就可以突破MBR分区表只能保存4个分区的限制。
4、16个字节的分区信息保存有分区活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容。这里最重要的是:分区的起始扇区位置与分区的总扇区数,都是用4个字节表示的。
5、一般每个扇区的容量是512字节,4个字节的扇区能表示的最大容量是2TB,由4可知,在MBR分区表中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB。所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。

如果你一个普通用户,对技术细节不是那么感兴趣,那其实关于MBR分区方案你需要记住的只有两点:
1、本来MBR分区表只能保存四个分区的信息,但通过扩展分区与逻辑分区的使用,MBR突破了这个限制。
2、由于MBR分区表中,表示地址的参数是只有4个字节,所以导致MBR分区方案中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB。所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。

硬盘分区方式之GTP分区

1、支持无限多个主分区(但操作系统可能会限制,如Windows系统最多128个分区);
2、单个分区最大支持18EB的容量(1EB=1024PB,1PB=1024TB);
3、Windows7 64位以后支持gtp

常用硬盘的接口类型、IDE、SATA、SCSI、SAS

IDE硬盘接口,我们称之为并口;IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,,是用传统的 40-pin 并口数据线连接主板与硬盘的,接口速度最大为133MB/s,因为并口线的抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。其接口如下图所示:


SATA接口,我们称之为串口;SATA接口类型,其英文名称为:Serial Advanced Technology Attachment。使用SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势。其接口如下图所示:

SCSI接口类型
  其英文名称为:Small Computer System Interface。SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。其特点为:传输速率高、读写性能好、可连接多个设备、可支持热插拔,但是价格相对来说比较贵。
  
SAS接口类型
  其英文名称为:Serial Attached SCSI。其可以向下兼容SATA。具体来说,二者的兼容性主要体现在物理层和协议层的兼容。在物理层,SAS接口和SATA接口完全兼容,SATA硬盘可以直接使用在SAS的环境中,从接口标准上而言,SATA是SAS的一个子标准,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制;在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中串行SCSI协议(SSP)用于传输SCSI命令;SCSI管理协议(SMP)用于对连接设备的维护和管理;SATA通道协议(STP)用于SAS和SATA之间数据的传输。因此在这3种协议的配合下,SAS可以和SATA以及部分SCSI设备无缝结合。其传输速率比SATA要快很多。具体如下展示
  

Linux磁盘分区命名及编号方式

在Linux中,一切皆文件,而设备其实是系统中的一种特殊文件,这些特殊文件存放在/dev/目录下,不同的设备对应不同的名称,如下:
1、系统的第一块IDE接口的硬盘称为 /dev/hda;
2、系统的第二块IDE接口的硬盘称为 /dev/hdb;
3、系统的第一块SCSI接口的硬盘称为 /dev/sda;
4、系统的第二块SATA接口的硬盘称为 /dev/sdb;

一块硬盘可以划分多个不同的分区,为了表示不同的分区,通常会用数字进行编号,如下:
1、系统的第一块IDE接口的硬盘的第1个分区称为 /dev/hda1;
2、系统的第一块IDE接口的硬盘的第5个分区称为 /dev/hda5;
3、系统的第二块SCSI接口的硬盘的第1个分区称为 /dev/sdb1;
4、系统的第二块SATA接口的硬盘的第5个分区称为 /dev/sdb5;

需要注意的是:在对分区编号时,数字1-4只能留给主分区或扩展分区使用,逻辑分区(在扩展分区基础上建立)编号只能从编号5开始。

从Cent7开始,不管是IDE接口还是SCSI接口还是SATA接口,其命名一致为sdx开头,如:/dev/sda2,其含义表示如下:
s=硬盘接口类型(sata/scsi),d=disk(硬盘),a=第1块硬盘(b为第二块,以此类推),2=表示该硬盘的第2个分区

在对Linux系统设置了分区之后,还要在分区上创建文件系统才能安装系统,这个在安装时由系统自行完成创建。

买一块硬盘要考虑的因素

1、寻道时间:是指硬盘在接收到系统指令后,磁头从开始移动到移动至数据所在的磁道所花费时间的平均值,它一定程度上体现硬盘读取数据的能力,是影响硬盘内部数据传输率的重要参数,单位为毫秒(ms)。
2、硬盘的转速:转速(Rotationl Speed),是硬盘内电机主轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数。转速的快慢是标示硬盘档次的重要参数之一,它是决定硬盘内部传输率的关键因素之一,在很大程度上直接影响到硬盘的速度。硬盘的转速越快,硬盘寻找文件的速度也就越快,相对的硬盘的传输速度也就得到了提高。硬盘转速以每分钟多少转来表示,单位表示为RPM,RPM是Revolutions Per minute的缩写,是转/每分钟。RPM值越大,内部传输率就越快,访问时间就越短,硬盘的整体性能也就越好。
3、硬盘接口类型:磁头读取到数据后,通过数据线进行传输,所以一个好的硬盘接口类型也能大大提高数据传输速率。

Linux对分区的基本要求

1、至少要有一个根/分区,用来存放系统文件及程序,其大小至少在5GB以上;
2、要有一个swap交换分区,它的作用相当于windows里的虚拟内存,swap分区的大小一般为物理内存容量的1.5倍(内容<8GB),但当系统物理内存大于8GB时,swap分区大小配置为8GB -16GB即可,太大无用,浪费磁盘空间;swap交换分区并不是必须的,但大多数情况下应该设置。
3、/boot 分区,这时Linux系统引导分区,用于存放系统引导文件,如Linux内核等,所有的文件总大小一般只有几十MB,并且以后也不会增大太多,因此boot分区可以是设置为100-200MB,这个分区也不是必须的。
4、/home分区,如果是多个用户的话,为了保护用户的数据,给/home单独一个分区;
5、/usr分区,用来放户安装的软件;

分区和挂载点的概念

我们知道,一块硬盘想要使用,必须先进行分区,分区完之后就要进行格式化成一个指定类型的文件系统,这样才能真正使用了,就能存放数据了,这是windows中的概念,在Linux系统中优点区别,Linux中也要对一块新的硬盘进行分区,分区的时候需要把分区与Linux的某个目录进行关联,我们称之为挂载,被挂载的目录称之为挂载点,比如,分了一个boot分区,把这个分区挂载到boot目录下,这样boot目录就能使用了

企业生产场景中Linux分区方案

方案1:针对网站集群架构中的某个节点服务器分区,该服务器上的数据有多份(其他节点也有)且数据不太重要,建议的分区方案如下:
/boot 设置为100-200MB;
swap 设置为物理内存的1.5倍,但当物理内存大于或等于8GB时,配置为8-16GB即可;
/ 剩余硬盘空间都分给根分区(/usr、/home、/var等分区都和/ 根分区共用一个分区,这相当于在windows中只有一个C盘,所有数据和系统文件当放在一起)

方案2:针对数据库及存储角色的服务器分区,该服务器业务有大量重要的数据,建议分区方案如下:
/boot 设置为100-200MB;
swap 设置为物理内存的1.5倍,但当物理内存大于或等于8GB时,配置为8-16GB即可;
/ 大小设置为50-200GB,只存放系统相关文件,不存放网站等业务数据;
/data 剩余硬盘空间大小,存放数据库及网页业务等重要数据资源,当然data的名称也可以换成别的名字;
本方案其实是把重要数据单独分区,便于备份和管理。

方案3:针对大网站或门户级别企业的服务器分区,建议如下:
/boot 设置为100-200MB;
swap 设置为物理内存的1.5倍,但当物理内存大于或等于8GB时,配置为8-16GB即可;
/ 大小设置为50-200GB,只存放系统相关文件,不存放网站等业务数据;
剩余硬盘空间大小保留,不再进行分区,将来分配给不同部门使用,由他们根据自己的需求再划分。
这种分区方案更灵活,比较合适业务线较多、需求不明确的大企业使用。

除了以上建议的三种分区/boot、swap、/ 根,还可以有额外的分区,如 /home分区、/usr分区、/var分区,为什么要使用这些创建这些分区呢,因为,即使不创建这些额外的分区,Linux安装完成后,该有的home目录、usr目录、var目录还是会有,只不过,这些目录是挂载在/根分区下的,这样问题就来了,当根分区坏了的时候要重装系统了怎么办,就因为home目录是挂载在根分区下的,你想要的安装系统就必须安装在根分区,那么所有的家目录里的用户数据就会丢失,所以,分一个home分区并挂载到home目录下是很有必要的做法,同理/usr分区、/var分区也是同样的道理。

挂载点

挂载点,就是Linux下访问磁盘分区的入口,即如果要往/boot分区(/dev/sda1)写入数据,就必须要通过这个分区的挂载点/boot入口来写入数据,也可以理解为,一个分区创建好后,想要使用这个分区就必须格式化它并创建文件系统,然后把这个分区与一个目录进行挂联,这种管联就叫做挂载,这个目录就叫做挂载点,以后直接往这个挂载点目录写入数据即可。

计算机硬盘分区知识简介、Linux企业级分区方案建议相关推荐

  1. 计算机硬盘应该什么格式化,怎么把电脑硬盘全部格式化?计算机硬盘格式,需要使用diskgenius分区工具删除所有分区...

    如何格式化所有计算机硬盘驱动器? 计算机硬盘格式,需要使用diskgenius分区工具删除所有分区. diskgenius删除所有分区的步骤如下: 1.在计算机桌面上,单击以打开diskgenius分 ...

  2. linux主分区移动挂载,Linux磁盘分区和挂载

    Linux磁盘分区和挂载 分区 分区的方式: mbr分区 最多支持4个主分区 系统只能安装到主分区上 扩展分区要占用一个主分区 MBR最大支持2TB,但拥有最好的兼容性 gtp分区 支持无线多个主分区 ...

  3. linux磁盘分区什么意思,linux 磁盘分区详解

    <linux 磁盘分区详解>由会员分享,可在线阅读,更多相关<linux 磁盘分区详解(31页珍藏版)>请在人人文库网上搜索. 1.系统引导过程和硬盘分区结构讨论作者:章节来源 ...

  4. linux 在线分区调整大小,调整Linux磁盘分区的大小的方法

    在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发现, /u ...

  5. linux ssd分区对齐,高性能Linux: SSD分区对齐问题

    分区对齐 分区对齐意味着分区与数据存储设备(例如硬盘,固态驱动器(SSD)或RAID卷)的合理的边界对齐.正确的分区对齐可确保数据访问期间的理想性能.不正确的分区对齐将导致性能降低,尤其是SSD(内部 ...

  6. linux怎么给磁盘重新分区,如何给Linux磁盘分区

    原标题:如何给Linux磁盘分区 小白电脑课堂开课啦!游戏团战就死机,多半是废了.大家好我是小白.很多同学对Linux系统已经有了初步的认识,而且也掌握了一些日常使用的命令.但在日常使用中我们会给磁盘 ...

  7. linux分区格式8e,linux磁盘分区格式化

    乱世风云剑之磁盘分区格式化 在进行磁盘分区格式化之前,先介绍一些基础常识,虽说是常识,但隔行如隔山,外行人看了,不一定懂.不扯了,步入正题. 磁盘分区格式化是相对于硬盘而言的,硬盘属于随机存储设备,在 ...

  8. linux查看分区访问权限,linux查看分区是否开启acl权限

    1.为什么需要ACL权限 ACL的全称是 Access Control List (访问控制列表) .对于文件或者目录,都有相应的操作权限 r(read 读),w(write 写),x(execute ...

  9. linux 常用分区有哪些,Linux常用分区及目录

    Linux分区与Windows区别较大,以下目录都可以独立分区,但实际使用似无必要,可根据自身需要而定! /:系统根分区,必须独立.一般我20G足够! /boot: 存放开机及内核文件.200MB足够 ...

  10. linux 磁盘分区的原理,linux磁盘—分区原理

    回忆: IDE盘:第一块盘hda,第二块盘hdb- 第一块盘的第一个分区hda1,第二个分区hda2- SAS/SATA/SCSI盘:第一块盘sda,第二块盘sdb- 第一块盘的第一个分区sda1,第 ...

最新文章

  1. 学软件测试的优势有哪些
  2. R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像中示例
  3. mysql登录密码特殊字符_mysql密码中有特殊字符在命令行下登录的操作
  4. linux命令匹配path顺序,PATH 中的路径先后顺序的问题
  5. ROS探索总结(一)(二)(三):ROS总体框架 ROS总体框架 ROS新手教程
  6. java导出oracle到excel_java实现将oracle表中的数据导出到excel表里
  7. Java 实现三次 for 循环计算水仙花数
  8. 变频器输出功率_100米的深井泵,如何接变频器,怎样控制
  9. 潮流仿真分析matlab,基于MATLAB的电力系统潮流仿真与研究
  10. 开课吧课堂:详解挂起、恢复和终止线程
  11. 联想小新air13pro重装系统_小新air13pro改win7系统 联想小新air13pro安装win7系统教程...
  12. [转载]数字全息与计算全息
  13. 原生ajax调用,JavaScript进阶之原生AJAX接口请求的方式
  14. 射频识别(RFID)技术与ETC技术简介
  15. 当我们电脑上的Microsoft Office2003/2007/2010无法卸载时怎么处理?
  16. c语言验证费马大定理,费马大定理,用电脑编程证明
  17. Top 25款3DMAX建筑设计相关插件
  18. shell脚本-字符串和变量
  19. 微信公众号-java上传图片素材到微信服务器基于事件推送两条消息
  20. 抠图算法:经典的贝叶斯抠图

热门文章

  1. 62.不同的路径(力扣leetcode) 博主可答疑该问题
  2. php什么时候面向对象,php什么时候使用面向对象
  3. 软件测试黑盒测试实验心得_视频资源25套高级软件测试,性能测试,功能测试下载自动化测试...
  4. Android MediaPlayer播放raw资源封装类
  5. _itemmod_refresh
  6. Java异步NIO框架Netty实现高性能高并发
  7. dubbo 运行过程
  8. 常见shader原理及实现(三)边缘查找,锐化,浮雕
  9. 已知二叉树先序和中序,求后序。
  10. ubuntu备份与恢复