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

系统管理 / 2017-01-14 / 0 条评论 / 浴春风


Linu磁盘设备基础知识指南
磁盘
速度快具备的条件:

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


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

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


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

关于buffer和cached两个区别
buffer:缓冲区
  高速缓冲区cpu和内存之前的块存储设备
cached:缓存区
  高速缓存区 数据传输在内存和磁盘之前,数据存储在磁盘上

查看centos系统 内存方法:
free -m 查看内存

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

提示:

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

磁盘的内部结构

磁头组件:读写磁头、传动手臂、传动轴部分组成;磁头是硬盘技术中最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,它采用非接触式头、盘结构,加电后在告诉旋转的磁盘表面移动的,磁盘之间的间隙只有0.1~0.3um(微米),现在7200转一般都低于0.3um ;
磁盘读取数据的工作原理是利用特定的磁粒子的极性来记录数据,磁头在读取数据的时候,将磁粒子的极性转换为不同的电脉冲信号,在利用数据转换器来讲这些原始信号变成电脑可以使用的数据,写的操作正好与此相反

磁盘的接口类型
IDE磁盘和IDE接口:
主板IDE接口:

磁盘的IDE接口:

SATA、SAS串口
可靠、简单、热插拔、性能高
主板SATA接口

SCSI磁盘与SCSI接口
SCSI全称为 小型计算机接口和IDE(ATA)是完全不同的接口,IDE接口是早期普通PC的标准接口,SCSI并不是专门为计算机设计的接口,是一种广泛应用于小型机高速数据传输技术,SCSI接口具有应用范围广,多任务、带宽大、CPU占用率低,以及热插拔等
说明:我们在使用WMWARE做虚拟化时发现选择的就是SCSI接口的模式
实例对应关系

  1. SCSI   驴---淘汰
  1.  SATA     
  1. SAS   骡子

SAS磁盘和SAS接口
  安装简单,更好的兼容性
  总的来说 SAS技术是结合了SATA与SCSI两者的优点而诞生的,同时串行SCSI(SAS)是点到点结构;

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

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

机械盘和固态盘简单对比及门户网站动态调度的方案案例
光纤通道
  光纤通道的主要特性有:热插拔性、高速带宽、远程连接数、连接设备数量大等

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

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

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

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

固态磁盘的优点

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

固态磁盘的缺点

  1. 1.成本高
  2. 2.容量低
  3. 3.易受外界影响
  4. 4.写入寿命有限
  5. 5.数据难以恢复
  6. 6.电池航程较短
  7. 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. 1)线上的业务、用SAS磁盘
  2. 2)线下的业务,用SATA磁盘,磁带库
  3. 3)线上高并发、小容量的业务、SSD磁盘
  4. 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盘上,冷数据可以动态调度,从而兼顾性能,容量和成本,另:分层存储调度软件有淘宝开发
上面的策略是搞笑,低成本的方案,这是我们运维工作需要重视的,实际工作中不可能不考虑成本,而无限的去提升性能;

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


磁盘的磁头
磁盘的每个盘片的每个有效盘面都会有一个读写的磁头,(磁头数=盘片个数*2)
0磁道非常重要,我们知道,系统的引导程序就在0磁道0柱面1扇区的前446字节

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

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

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

提示:

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

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

扇区的第一个主要部分是标识符,标识符就是扇区头标,包括组成扇区三维地址的三个数字:
扇区所在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁道上的位置即扇区号。

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

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

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

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

柱面:磁道中,不同的盘片(或者盘面)相同半径的磁道轨迹从上到下所组成的圆柱形区域就称为柱面,柱面看起来就一个圆柱形
磁盘容量:
磁道大小*磁道数= 一个盘面的大小
一个磁盘的大小=盘面的大小*磁头数(盘面数)
磁盘的大小=磁道的大小(扇区数*512字节)*磁道数*磁头数

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

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

通过命令查看:

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

疑问:
不同的磁道上的扇区大小,看起来不一样大的,直观感觉靠外面的磁道扇区越大
可能有两个原因:

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

磁盘读写数据的工作原理深入浅出讲解
磁盘是机械式磁盘:

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

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

磁盘的工作原理:
机械磁盘读写磁盘数据的原理小结:
1)磁盘是按照柱面为单位读写数据的
2)不同磁头间的切换就是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换
3)寻道:机械的

计算实践:
磁盘的大小= 柱面数 Units* 一个柱面(cylinder)的大小
磁盘的大小= 柱面数Units * 一个柱面Cylinder的大小(柱面大小= 磁道大小*磁头数)
磁道的大小= 扇区*512字节
计算方法1:

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

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

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

16字节分区表的内容:

主引导记录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 的分区表进行设置;即只要                是划分起始以及结束磁头号、扇区号及柱面号

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

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

原创文章转载请注明:转载自:Linxu磁盘体系知识介绍及磁盘介绍

(转)Linxu磁盘体系知识介绍及磁盘介绍的更多相关文章

  1. YUM源、磁盘基础知识 CDN概念

    第1章 YUM源 1.1 什么是yum源 Yellowdog Updater, Modified 一个基于RPM包管理的字符前端软件包管理器.能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性 ...

  2. linux磁盘设备知识

    linux分区数字编号: 1.分区数字编号1至4留给主分区或扩展分区使用,逻辑分区编号从5开始. 2.IDE硬盘设备名均以/dev/hd开头,不同硬盘编号依次是/dev/hda/./dev/hdb./ ...

  3. linux_磁盘体系

    未曾习艺先学礼,未曾学武先习德 当今磁盘都是温室磁盘,原理是一样的,高速转动的的盘,磁头做径向运动 当今磁盘的发展趋势: 体积更小.速度更快.容量更大.使用更安全 速度更快: 主轴转速: 10000/ ...

  4. Linux 磁盘介绍(磁盘、分区、MBR、GPT)

    原文:https://www.linuxidc.com/Linux/2013-06/85717.htm 1. CHS(Cylinder-Head-Sector): was an early metho ...

  5. 磁盘分区知识与linux系统分区实践

    一.磁盘存储逻辑结构图 回忆: (1)什么是分区? 磁盘分区就相当于给磁盘打隔断. (2)磁盘在linux里的命名 IDE    /dev/hda  hdb SCSI   sda     sdb 分区 ...

  6. 12、Linux磁盘设备基础知识(2)

    12.4.计算磁盘容量: 磁盘的大小=盘面大小*磁头数 盘面的大小=磁道大小*磁道数 磁道大小=512字节*扇区数 磁盘的大小=512字节*扇区数*磁道数*磁头数 磁盘的大小=柱面大小*柱面数 柱面大 ...

  7. C# 基础知识 (四).C#简单介绍及托管代码

            暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了非常多东西,也学到了非常多东西,也认识到了非常多不足之处!闲暇之余我准备又一次进一步巩固C#相关知识,包含 ...

  8. Linux 的磁盘格式化、挂载、磁盘检验、df、du、fdisk、free命令的使用

    df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量fdisk:用于磁盘分区 free:查看内存占用情况 一.df命令列出系统的整体磁盘使用量 df命令参数功能:检查文件系统的磁盘空间占用情况. ...

  9. raid知识梳理及其详细介绍

    1 raid级别 生产环境常用到的raid级别有raid0,raid1,raid5,raid10.所以侧重学习这几种raid级别即可. 1.1 raid0条带卷 raid0示意图: raid0特点介绍 ...

随机推荐

  1. PHP中调用接口

    引用:http://zhidao.baidu.com/question/454935450.html&__bd_tkn__=67bd5d3a742a8b244e09a86fb8b824aa95 ...

  2. win7 jdk1.7配置环境变量

    1.安装目录,C:\Program Files\Java

  3. c macro pair

    成对使用的macro, 不过也有机会用错, 死都不知道怎么死的, 这宏... #define pthread_cleanup_push(func, val) \ { \ struct __darwin ...

  4. 发挥到极致的Asterisk SS7 解决方案【转】

    基于SS7的开源解决方案在国内已经安装了很多.很多用户都使用chan_ss7 开源协议栈作为呼叫中心,400电话,计费结算的系统.随着国内对开源Asterisk的认可程度越来越高. Asterisk让 ...

  5. ambari 维护模式及reset API 操作

    Ambari 的维护模式(Maintenance Mode)介绍 Ambari 提供的 Maintenance Mode,是为了让用户在调试或者维护 Service 的时候,抑制不必要的告警(Aler ...

  6. usg6500

  7. 使用ubuntu自带的Remmina Remote Desktop Client远程登录服务器配置

    1.配置:点击new , 配置服务器ip地址.名称.密码 2.打开本机终端执行一下命令: echo xfce4-session>.session echo xfce4-session>.x ...

  8. bzoj1072Perm——状压DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1072 数字串最多只有10位,所以考虑用状压: 压缩的状态是哪些数字被用过,这样可以从一种状态 ...

  9. sql 的基础语句

    USE day15; -- 创建表CREATE TABLE teacher( id INT, NAME VARCHAR(20))-- 查看所有表SHOW TABLES; DESC student; D ...

  10. Python中正则匹配使用findall时的注意事项

    在使用正则搜索内容时遇到一个小坑,百度搜了一下,遇到这个坑的还不少,特此记录一下. 比如说有一个字符串  "123@qq.comaaa@163.combbb@126.comasdf111@a ...