Linxu磁盘体系知识介绍及磁盘介绍

​​ (转)Linxu磁盘体系知识介绍及磁盘介绍_柱面

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面

Linu磁盘设备基础知识指南

磁盘

速度快具备的条件:

1)主轴的转速5400/7200/10000/15000   2)接口sata/sas/scsi/ide   3)读写更灵敏的磁头

(转)Linxu磁盘体系知识介绍及磁盘介绍_linux_03

磁盘知识的体系结构

企业服务器多磁盘的知识体系结构

磁盘的外部结构

机械磁盘:3.5英寸   笔记本磁盘:2.5英寸   固态硬盘 ssd

(转)Linxu磁盘体系知识介绍及磁盘介绍_基础_04

磁盘接口、控制电路板及固定面板

(1)磁盘接口。接口包含 电源接口和数据接口两部分,电源接口就是和主机电源连接,为磁盘提供电力保证。数据接口是磁盘数据和主板数据接口连接,数据电缆一般为40针,80芯的接口电缆,早期数据接口 有IDE和SCSI接口,当前主流的硬盘结构为SATA硬盘或者SCSI接口

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁道_05

关于buffer和cached两个区别

buffer:缓冲区

  高速缓冲区cpu和内存之前的块存储设备

cached:缓存区

  高速缓存区 数据传输在内存和磁盘之前,数据存储在磁盘上

查看centos系统 内存方法:

free -m 查看内存

[root@oldboy ~]# free -m              total       used       free     shared    buffers     cached Mem:           981        407        573          0        150        148 -/+ buffers/cache:        108        872  Swap:         1499          0       1499  [root@oldboy ~]#

提示:


 1)linux系统的特性是将系统不用的物理内存作为缓存区和缓冲区使用,因此,573不是系统的真实的内存
 2)系统真实的内存是872M
 3)buffer作为高速缓冲区 sync将缓冲区数据写入磁盘
 4)cached为读取数据的缓存区
 5)硬盘是机械的,无论是写入还是读取都太慢了,所以读取和写入用是了缓存技术
 6)门户架构网站架构都会用到缓存技术,来让用户写入读取尽可能不接触磁盘


磁盘的内部结构

(转)Linxu磁盘体系知识介绍及磁盘介绍_linux_06

磁头组件:读写磁头、传动手臂、传动轴部分组成;磁头是硬盘技术中最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,它采用非接触式头、盘结构,加电后在告诉旋的磁盘表面移动的,磁盘之间的间隙只有0.1~0.3um(微米),现在7200转一般都低于0.3um ;

磁盘读取数据的工作原理是利用特定的磁粒子的极性来记录数据,磁头在读取数据的时候,将磁粒子的极性换为不同的电脉冲信号,在利用数据转换器来讲这些原始信号变成电脑可以使用的数据,写的操作正好与此相反

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁盘_07

磁盘的接口类型

IDE磁盘和IDE接口:

主板IDE接口:

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_08

磁盘的IDE接口:

(转)Linxu磁盘体系知识介绍及磁盘介绍_基础_09

SATA、SAS串口

可靠、简单、热插拔、性能高

主板SATA接口

SCSI磁盘与SCSI接口

SCSI全称为 小型计算机接口和IDE(ATA)是完全不同的接口,IDE接口是早期普通PC的标准接口,SCSI并不是专门为计算机设计的接口,是一种广泛应用于小型机高速数据传输技术,SCSI接口具有应用范围广,多任务、带宽大、CPU占用率低,以及热插拔等

说明:我们在使用WMWARE做虚拟化时发现选择的就是SCSI接口的模式

实例对应关系

SCSI   驴---淘汰
SATA   马
SAS   骡子

SAS磁盘和SAS接口

  安装简单,更好的兼容性

  总的来说 SAS技术是结合了SATA与SCSI两者的优点而诞生的,同时串行SCSI(SAS)是点到点结构;

企业生产环境主流磁盘的相关信息对比:

企业生产场景及程度:SAS>SATA>SSD   单位容量对比性能和价格 SSD>SAS>SATA(一块SSD和一块SATA)   单位价格购买磁盘容量:SATA>SAS>SSD

机械盘和固态盘简单对比及门户网站动态调度的方案案例

光纤通道

  光纤通道的主要特性有:热插拔性、高速带宽、远程连接数、连接设备数量大等

SSD硬盘

  由于固态磁盘技术与传统磁盘技术不同,所以产生了不到新兴存储厂商,厂商只需购买NAND存储器,在配合适当的控制芯片,就可以制造固态磁盘了。新一代的固态磁盘采用SATA-2接口及SATA-3接口

SSD固态磁盘分类:

固态磁盘的存储介质分为2种,一种是采用闪存(FLASH芯片)作为存储介质,另外一种是采用DRAM芯片的固态磁盘

SSD固态磁盘接口类型

SSD固态磁盘主流接口类型分为:

1)SATA接口:SATA\SATA2\SATA3.0   2)PATA(IDE接口)   3)PCI-E接口

固态磁盘的优点

1.启动快   2.读取延迟小   3.碎片不影响读取时间   4.写入速度快   5.无噪音   6.无机械故障   7.工作温度范围更大   8.体积小总量轻   9.抗震动

固态磁盘的缺点

1.成本高   2.容量低   3.易受外界影响   4.写入寿命有限   5.数据难以恢复   6.电池航程较短   7.能耗较高

企业生产工作中磁盘的选型

磁盘:

当前服务器市场:主流磁盘为SAS、SATA、SSD硬盘

1)企业级SAS硬盘(默认)

企业里常见的SAS硬盘是15000/分(这里是指主轴的转数)当前300G、600G、1000G

从具体的业务需求及性价比考虑,在工作中多用 300-600G的SAS硬盘

一般选6*300G 6*600G 单盘容量不要太大,除非纯备份

2)企业级SATA硬盘

企业级SATA硬盘 7200-10000/分,常见容量有1T 2T 4T 6T

优点是经济实惠、从具体业务需求及性价比考虑,老男孩考试在工作中多用SATA硬盘做 线下不提供服务的数据库存储或者并发业务访问不大的业务应用

比如站点程序及数据库、图片的线下备份等

特征:容量性价比较高,一般2T SATA磁盘较佳

磁盘选购小结:

1)线上的业务、用SAS磁盘   2)线下的业务,用SATA磁盘,磁带库   3)线上高并发、小容量的业务、SSD磁盘   4)思想:根据数据的访问热度,智能分析分层存储SATA+SSD

特别注意:


千万不要用SATA磁盘来做在线高并发数据的存储或者数据库业务,这是有血的教训的,某公司的采用SATA做数据库的存储盘,结果导致数据库连续宕机一个月
5台SATA盘做RAID5
解决:重新买5台,把磁盘从SATA(RAID5)换成SAS(RAID 10)结果6个月没事


SSD固态电子盘

特点:容量小 价格贵、速度快一般用于数据量小并且有超大规模并发的业务(这不是唯一的办法还可以通过 内存缓存技技术方式来解决这个大规模并发的问题)

  百度、腾讯、360核心业务都会采用SSD磁盘。应用层也必须做了各种缓存

特别提示:

大公司如taobao 某些业务可能会根据的热度综合使用分层存储,以达到性价比最佳的情况,

80G SSD +500GSATA

淘宝网CNN缓存存储策略案例

提出问题:

在存储数据中,18KB以下的对象数量占总数量80% 而其他存储占总量的不到40%同时,80%经常访问对象所占用的存储空间不到总量20%

分析问题:

以上的问题意味着 “热点数据” 即访问频次高的内容,需要更快的性能,而占的空间并不大,而“冷数据”访问频次低的数据所需求存储很大,对性能要求不需要高

解决问题:

  因此,服务器引入分层存储机制,单台服务器的硬盘可由一块80G的SSD硬盘和两块500G的SATA盘组成,然后把“热数据”存放在SSD盘上,“冷数据”存放在SATA盘上,冷数据可以动态调度,从而兼顾性能,容量和成本,另:分层存储调度软件有淘宝开发

上面的策略是搞笑,低成本的方案,这是我们运维工作需要重视的,实际工作中不可能不考虑成本,而无限的去提升性能;

磁盘的内部逻辑知识细节 盘片-磁道

(转)Linxu磁盘体系知识介绍及磁盘介绍_linux_10

(转)Linxu磁盘体系知识介绍及磁盘介绍_linux_11

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁道_12

磁盘的磁头

磁盘的每个盘片的每个有效盘面都会有一个读写的磁头,(磁头数=盘片个数*2)

0磁道非常重要,我们知道,系统的引导程序就在0磁道0柱面1扇区的前446字节

磁盘的盘面:

磁盘的盘片一般是铝合金材料或玻璃做基片,磁盘的每一个盘片都有两个盘面,即上下盘面,每一个这样的有效盘面都可以储存数据,成为有效盘面,也有极个别的磁盘盘面数为单数。每一个这样的有效盘面都有一个盘面号,按顺序从上至下0开始依次编号,因为每一个有效盘都有一个对应读写磁头,盘面号右叫磁头号,磁盘的盘片组在2-14片不等,通畅在2~3个盘片,(300G15K SAS盘就是3个盘片),故盘面号(磁头号)为0~3 或0-5不等,注意,盘面的个数等于磁头的个数

磁盘的磁道:

磁盘在格式化时被划分为许多的同心圆,这些同心圆的轨迹叫做磁道(Track),磁道由盘面从外向内依次从0开始顺序编号

磁盘的柱面

一块磁盘的柱面数(或每个盘面的磁道数)取决于每条磁道的宽窄,(也会与磁头好的大小有关)这里的柱面数和前面的磁道数是一样的;

提示:

给磁盘分区实际就是划分柱面及扇区号   柱面是说有盘面(相同半径)的半径的所有(磁道)的集合,   柱面数= 一个盘面的磁道数

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_13

磁盘的扇区

操作系统是以扇区Sector为单位将信息储存在磁盘上的,一般情况下,每个扇区的大小是512字节,0.5k,一个扇区只要有两部分内容,储存数据地点的标识符合储存数据的数据段

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁道_14

扇区的第一个主要部分是标识符,标识符就是扇区头标,包括组成扇区三维地址的三个数字:

扇区所在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁道上的位置即扇区号。

磁道柱面扇区总括

磁盘最基本的组成部分,是由坚硬的金属材料涂以磁性介质的盘片(有很多层)不同的容量磁盘的盘片数不等

记忆要点:磁盘的计算大小

1)一块磁盘有20-14个盘片,每个盘片有两个面,每个面对应一个读写磁头,用磁头号来区分盘面,即盘面数就是磁头数,盘片数*2=磁头数(盘面数)   2)不同的盘面的磁道划分很多不同的扇形的区域,每个区域就是一个扇区(Sector)   3)同一个盘面,以盘片中心为圆心,每个半径不同的圆的轨迹就是一个磁道(Track )   4)不同磁道的的相同半径组成的一个圆柱面就是柱面(Cylinder)   5)一个柱面包含多个磁道(这些磁道半径相同)一个磁道包含多个扇区   6)数据信息记录可表示:某磁头、某磁道(柱面)、某扇区

磁道的一句话概括定义:

磁道:每个盘片有两个面,都可记录信息,盘片表面以盘片中心为圆心,用于记录数据的不容半径的圆形磁化轨迹就成为磁道,磁化区域是看不见的,磁道看起来就是一个平面圆周形;

柱面:磁道中,不同的盘片(或者盘面)相同半径的磁道轨迹从上到下所组成的圆柱形区域就称为柱面,柱面看起来就一个圆柱形

磁盘容量:

磁道大小*磁道数= 一个盘面的大小

一个磁盘的大小=盘面的大小*磁头数(盘面数)

磁盘的大小=磁道的大小(扇区数*512字节)*磁道数*磁头数

磁盘的大小=柱面大小*柱面数

柱面大小=磁道大小*磁头数

磁盘大小=磁道大小*磁道数*磁头数

磁盘大小=扇区数*512字节*磁道数*磁头数

通过命令查看:

[root@linux-node1-oldobyedu ~]# fdisk -l  Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000b31ab     Device Boot      Start         End      Blocks   Id  System /dev/sda1   *           1          26      204800   83  Linux Partition 1 does not end on cylinder boundary. /dev/sda2              26        2350    18668544   83  Linux /dev/sda3            2350        2611     2097152   82  Linux swap / Solaris [root@linux-node1-oldobyedu ~]#

疑问:

不同的磁道上的扇区大小,看起来不一样大的,直观感觉靠外面的磁道扇区越大

可能有两个原因:

1)数据的储存密度不同的磁道可能不同   2)磁道间隙的密码可能不同,外面小,里面大   3)现在的硬盘技术更新很快,可能很不算法已经升级

磁盘读写数据的工作原理深入浅出讲解

磁盘是机械式磁盘:

1)盘片的旋转靠马达带动主轴,带动盘片旋转   2)磁头的径向移动也是靠步进电机来完成的   3)所有的磁头同时同向移动的

磁盘再读写数据时,应尽可能让磁头不动,或者少移动磁头就能读到更多或全部的数据

磁盘的工作原理:

机械磁盘读写磁盘数据的原理小结:

1)磁盘是按照柱面为单位读写数据的

2)不同磁头间的切换就是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换

3)寻道:机械的

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁道_15

计算实践:

磁盘的大小= 柱面数 Units* 一个柱面(cylinder)的大小

磁盘的大小= 柱面数Units * 一个柱面Cylinder的大小(柱面大小= 磁道大小*磁头数)

磁道的大小= 扇区*512字节

计算方法1:

[root@oldboy ~]# echo "scale=2;(63*512*255*5221)/1000000000.00"|bc  42.94 计算方法2: [root@oldboy ~]# awk 'BEGIN{print (63*512*255*5221/1000000000.00)}' 42.9442 [root@oldboy ~]#

机械磁盘读写数据的原理小结:


1)磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道。读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一盘面的相同的半径的磁道。直到所有盘面的相同半径的磁道读取完之后,如果数据还没有读完,才会切换其他的不同半径磁道,这个切换磁道的过程称为寻道。
2)不同磁头的切换时电子切换,而不同得到磁道间的切换需要磁头做径向运动,这个径向运动还需要步进电机调节,这个动作是机械的切换
磁头寻道是机械动作,切换磁头是电子切换


(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_16

(转)Linxu磁盘体系知识介绍及磁盘介绍_linux_17

16字节分区表的内容:

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁盘_18

主引导记录MBR

磁盘的0磁头0磁道1扇区,是硬盘上的一个非常重要的位置,在这个扇区中,存放有硬盘的主引导记录MBR 和硬盘的分区表信息 DPT

linux:od -xa mbr.bin------去取二进制信息,

dd if=/dev/sda(来源) of=mbr.bin(生成目标文件) bs=512(块大小) count=1(数量)---------备份分区信息


磁盘分区的重点:

1. 给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节后面接下来64bytes 的分区表进行设置;即只要 是划分起始以及结束磁头号、扇区号及柱面号

2. 给磁盘分区的工具有fdisk (适合给小于2T的磁盘分区),parted(擅长于给大于2T的分区,可以对于小于2T的磁盘分区)首选fdisk 只有大于2T时才会去选择parted      补:一台服务器6块600G的磁盘,raid5后,总大小小3T,此时无法装系统,请问为什么?
解决办法:
方法1:是做RAID5后,不要重启系统,而是在RAID页面继续分1个小的虚拟磁盘vd 200G 用这个200G的虚拟磁盘转系统,装完系统后再把剩余2.8T通过parted分区。
方法2:先拿一块盘riad0,剩下5块再做raid5,在raid0装系统。
方法3:装系统时,选下gpt分区格式,即可安装系统。
3. 一块磁盘的分区表仅有64个bytes 大小,每个分区表都要占用16字节,因此一块磁盘仅支持4个分区表信息,即主分区+拓展分区的总量不超过4个 4. 磁盘分区是按照柱面(cylinder)来划分的。(从磁盘的读写原理角度可以理解) 5.拓展分区不能直接使用的,还需要在拓展分区的基础上创建逻辑分区才行 6.拓展分区有自己的分区表。因此拓展分区可以有很多个

磁盘在使用前一段一般需要进行分区,当然如果不分区直接格式化使用也是没有问题的,但是这不是常见情况,磁盘分区有主分区、拓展分区、和逻辑分区之分,一块硬盘做多可以有4个分区表信息,(磁盘本身限制,其中一个主分区的位置可以用一个拓展分区替换,且一块硬盘只有一个拓展分区(操作系统限制)在拓展分区可以划分多个逻辑分区\可以有多个

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_19

(转)Linxu磁盘体系知识介绍及磁盘介绍_基础_20

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁道_21

(转)Linxu磁盘体系知识介绍及磁盘介绍_基础_22

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_23

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁道_24

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_25

(转)Linxu磁盘体系知识介绍及磁盘介绍_磁盘_26

(转)Linxu磁盘体系知识介绍及磁盘介绍_柱面_27