今天给伙伴们分享一下Linux 磁盘管理-磁盘接口类型和分区,希望看了有所收获。
我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!
如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。
硬盘是计算机最主要的存储设备,硬盘可根据不同的方式进行分类。
1、介质
- 硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。
2、机械硬盘(HDD)
-
机械硬盘即是传统普通硬盘,主要由:磁头组件、磁头驱动机构、盘片组、控制电路和接口等几个部分组成。
-
机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。
-
盘片的数量和每个盘片的存储容量确定了磁盘的总容量。
-
sas start
- 磁头:负责读写数据
- 盘片:保存写入的数据
- 主轴:转动盘片,将盘片上的指定位置移动到磁头下
- 控制电路:控制硬盘的速度,磁头臂的移动、向磁头下发命令等
3、固态硬盘(SSD)
-
固态驱动器(Solid State Disk或Solid State Drive,简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘。
-
固态硬盘不像传统的硬盘采用磁性材料存储数据,而是使用flash技术存储信息。其特点就是断电后数据不消失。
-
固态硬盘没有内部机械部件,并不代表其生命周期无限,flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。因擦除次数有限,所以固态硬盘也是有生命周期的。
1、SSD性能优势
- 响应时间短:SSD硬盘内部没有机械运动部件,省去了寻道时间和机械延迟时间,可更快捷的响应读写请求。
- 读写速率高:SSD通过内部控制器计算出数据的存放位置,并进行速写操作,省去了机械操作时间,大大提高了读写效率。
- 不会产生噪音
4、硬盘关键指标
- 硬盘容量(volume):容量的单位为兆字节或千兆字节。影响硬盘容量的因素是盘片数量和单盘容量。
- 转速(Rotational speed):硬盘的转速是硬盘盘片每分钟转过的圈数,单位为RPM(rotation per minute),一般硬盘的转速达到5400RPM/7200RPM。SCSI接口硬盘转速可达10000~15000RPM。
- 平均访问时间(Average Access Time)=平均寻道时间+平均等待时间。
- 数据传输率(Data Transfer Rate):硬盘的数据传输率是指硬盘读写数据的速度。主要有内部传输率和外部
传输率。 - IOPS(Input/Output Per Second):即每秒输入输出量。
5、磁盘接口类型
1、IDE 硬盘
-
IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE 硬盘
-
IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。。
1.2、SATA 接口硬盘
- SATA是Serial ATA的缩写,即串行ATA。这是一种完全不同于并行ATA的新型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
- 这个接口其实就是迷你版SATA,这种接口的固态硬盘非常小,厚度不到5mm,因此占用空间很低,非常适合轻薄本。mSATA接口固态硬盘虽然小,但是速度上并不差,和SATA接口的SSD读写速度是基本一致的,当然这是理论上。 5400转/分钟 7200转/分钟
1.4、NGFF接口
-
这是Intel为超极本特别做出的一款接口,如果闪存芯片只放在PCB板一面的话,不到3mm厚度,两面也不到4mm厚度,要比mSATA接口的固态硬盘更加小巧。超极本常用这种类型。
-
速度上,采用PCI-E X2的NGFF接口的SSD读取最高可达700MB/s,写入可达550MB/s,相比mSATA接口的固态硬盘来说更快。
-
NGFF接口的固态硬盘与mSATA接口的固态硬盘相比,厚度与宽度都差不多,但是长度差距很多,厂商一般通过增加长度的方式来加大容量。
- 苹果笔记本所采用的PCLE,这是与PCI-E总线相联,同时采用mSATA接口的SSD,读写能达到800MB/s左右。
1.6、SCSI 接口硬盘
- SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。
sas 服务器接口 1w转/分钟
1.7、光纤通道硬盘
存储上用光口 光模块 光纤交换机 sas 高端磁盘接口 光口
光纤通道的英文拼写是Fibre Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等
SAS是最新一代的SCSI技术,和现在流行的serial ATA硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间;SAS是并行SCSI接口之后开发出的全新接口,此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ATA硬盘的兼容性。磁盘分区表MBR 和GPT的区别
2、设备的命名规则
在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;这对于陌生的设备来说特别方便。另外,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。Linux系统中常见的硬件设备及其文件名称如表6-2所示。
表6-2 常见的硬件设备及其文件名称
硬件设备 | 文件名称 |
---|---|
IDE设备 | /dev/hd[a-d] |
SCSI/SATA/U盘/sas | /dev/sd[a-z] |
virtio设备 kvm 虚拟化的磁盘 | /dev/vd[a-z] |
软驱 | /dev/fd[0-1] |
打印机 | /dev/lp[0-15] |
光驱 | /dev/cdrom |
鼠标 | /dev/mouse |
磁带机 | /dev/st0或/dev/ht0 |
由于现在的IDE设备已经很少见了,所以一般的硬盘设备都是以“/dev/sd”开头。而一台主机上可以有多块硬盘,因此系统采用a~z来代表26块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也很有讲究:
-
主分区或扩展分区的编号从1开始,到4结束;
-
逻辑分区从编号5开始。
-
设备名称 /dev目录中sda设备之所以是a,并不是由设备插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda。
-
分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。因此sda3只能表示是编号为3的分区,而不能判断sda设备上已经存在了3个分区。
-
/dev/sda5这个设备文件名称包含哪些信息,如图6-2所示。
-
sata sas
图6-2 设备文件名称
-
/dev/目录中保存的应当是硬件设备文件;
-
sd表示的是存储设备;
-
a表示系统中同类接口中第一个被识别到的设备;
-
5表示这个设备是一个逻辑分区。
“/dev/sda5”表示的就是“这是系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件”。
3、磁盘分区类型
理解主分区、扩展分区和逻辑分区的概念,因此接下来简单科普一下硬盘相关的知识。
-
硬盘设备是由大量的扇区组成的,每个扇区的容量为512字节。
-
第一个扇区最重要,它里面保存着主引导记录与分区表信息。
-
主引导记录需要占用446字节,分区表占用64字节,结束符占用2字节;
-
其中分区表中每记录一个分区信息就需要16字节,最多只有4个分区信息可以写到第一个扇区中,这4个分区就是4个主分区。
图6-3 第一个扇区中的数据信息
现在,问题来了—每块硬盘最多只能创建出4个分区?这明显不合情理也不够用。
-
于是为了解决分区个数不够的问题,可以将第一个扇区的分区表中16字节(原本要写入主分区信息)的空间(称之为扩展分区)拿出来指向另外一个分区。也就是说,扩展分区其实并不是一个真正的分区,而更像是一个占用16字节分区表空间的指针—一个指向另外一个分区的指针。这样一来,用户一般会选择使用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足多分区(大于4个)的需求。当然,就目前来讲大家只要明白为什么主分区不能超过4个就足够了。主分区、扩展分区、逻辑分区可以像图6-4那样来规划。
-
所谓扩展分区,严格地讲它不是一个实际意义的分区,而仅仅是一个指向其他分区的指针,这种指针结构将形成一个单向链表。因此扩展分区自身不能存储数据,用户需要在其指向的对应分区(称之为逻辑分区)上进行操作。512 字节 10g =10240m=(10240x1024)k =(10240x1024x1024)字节/512=扇区数
图6-4 硬盘分区的规划 2w 1-1000 1001-2000 2001-5000 5001-20000 (扩展分区)5001-8001 sda5 逻辑分区
大家可以试着解读一下/dev/hdc8代表着什么? (答案模式)
**答案:**这是第3块IDE设备(现在比较少见)中编号为8的逻辑分区。
注意!!! hdf3 ide 6块 3主分区 sde8 scsi sata 5块 第8个逻辑分区 vdc3 三块 第三个主分区
看到类似于/dev/vda、/dev/vdb这样的设备。这种以vd开头的设备叫作Virtio设备,简单来说就是一种虚拟化设备。像KVM、Xen这种虚拟机监控器(Hypervisor)默认就都是这种设备,等大家步入工作岗位后可能会见到更多。
4、磁盘分区表MBR 和GPT的区别
- MBR的意思就是主引导记录,目前我们使用的硬盘绝大部分都是512字节的一个扇区,MBR分区表中逻辑地址以32位二进制表示,所以最大只能表示232(2的32次方)个地址,最大单分区容量为232*512(2的32次方乘于512)字节=2048GB,也就是我们通常说的MBR单分区最大支持2TB
- GPT的意思是GUID Partition Table,即“全局唯一标识磁盘分区表”,是源自EFI标准的一种较新的磁盘分区表结构的标准,GPT提供了更加灵活的磁盘分区机制。支持大于2TB单分区、多分区、分区表自带备份。而GPT是另一种更先进的磁盘系统分区方式,它的出现弥补了MBR这个缺点,最大支持18EB的硬盘,是基于UEFI使用的磁盘分区架构
1、MBR格式分区
- 主分区数量不能超过4个;
- 分区大小无法超过2TB容量;
- 支持安装所有的Windows操作系统;
2、GPT格式分区
- 磁盘分区数量几乎无限制,但是Windows系统只允许最多128个分区;
- 支持2TB以上容量的硬盘;
- 仅支持安装64位操作系统,因为UEFI引导启动只支持64位操作系统,如果想要用EFI引导32位系统,貌似必须主板开启CSM兼容模块支持;
- GPT格式分区表自带备份;
3、mbr和gpt分区最大支持多大容量
- MBR分区表的硬盘最大只能划分为4个主分区,当然逻辑分区是可以支持分到四个以上的,并且最大支持2TB的硬盘,如果需要分区的硬盘容量超过了2TB容量,例如3TB、4TB、6TB、8TB、10TB等以上容量,则需要使用GPT分区表类型,不会受到硬盘容量大小、分区数量的限制,不过在Windows系统上由于系统的限制,支持最多128个GPT磁盘分区,并且gpt格式是没有主分区和逻辑分区这个概念的。
如果对伙伴们有帮助,感谢关注支持**「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。