Day20-磁盘管理
- 1. cut 切:
- 2. 磁盘历史和内外部物理结构介绍
- 2.1 磁盘发展趋势和实现措施
- 2.2 磁盘知识的体系结构
- 2.3 机械磁盘的外部结构
- 2.4 SSD固态硬盘的外部结构
- 2.5 固态硬盘内部结构
- 2.6 缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速,量从小到大
- 2.7 企业生产环境主流磁盘的相关信息对:
- 2.8 SATA 磁盘与 SAS 磁盘区别
- 2.9 SSD 固态磁盘接口信息对比
- 2.10 SSD 固态磁盘与传统机械磁盘优劣势对比
- 2.11 企业生产工作中磁盘的选型
- 2.11.1 企业级 SAS 硬盘:
- 2.11.2 企业级 SATA 硬盘:
- 2.11.3 SSD 固态盘:
- 2.11.4 磁盘选购小结:
- 2.12 特别注意:老男孩老师企业故障案例:09年
- 2.13 淘宝网 CDN 缓存对象分级存储策略案例
- 2.14 磁道:track
- 2.15. 扇区:Sector
- 2.16. 柱面:Cylinder
- 2.17 记忆要点:
1. cut 切:
-d 指定分隔符(awk -F)
-f 数字指定哪列,多列可用逗号或-
-c 按字符取内容
指定冒号为分隔符,取第一列
cut -d: -f1 /etc/passwd
取多列:
cut -d ":" -f1,6,7 /etc/passwd
取连续多列(1-3列)
cut -d ":" -f1-3 /etc/passwd
??取出的列带有分隔符???
按字符取
[root@oldboy ~]# echo oldboy|cut -c 1-3 #取1-3个字符
old
[root@oldboy ~]# echo oldboy oldgirl|cut -c 1-3,8-10 #取1-3以及8-10字符
oldold
[root@oldboy ~]# echo oldboy oldgirl|cut -c 1-3,7-10
old old
[root@oldboy ~]# echo oldboy oldgirl|cut -c 1-3,7-
old oldgirl
2. 磁盘历史和内外部物理结构介绍
2.1 磁盘发展趋势和实现措施
发展趋势 | 实现措施 |
---|---|
体积更小 | 存储密度更高 |
速度更快 | 读写更灵敏的磁头,主轴转数更高,接口更先进 |
容量更大 | 存储密度更高、介质更好 |
使用更安全 | 数据保持保护技术 |
2.2 磁盘知识的体系结构
2.3 机械磁盘的外部结构
2.4 SSD固态硬盘的外部结构
2.5 固态硬盘内部结构
2.6 缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速,量从小到大
2.7 企业生产环境主流磁盘的相关信息对:
企业生产场景普及程度:SAS>SSD>SATA
单位容量对比性能和价格:SSD>SAS>SATA(一块 SSD和一块 SATA)
单位价格购买磁盘容量:SATA>SAS>SSD
2.8 SATA 磁盘与 SAS 磁盘区别
协议方面:
SATA(Serial Advanced Technology Attachment)串行高级技术附件,SAS(Serial AttachedSCSI)串行 SCSI,SAS 是新一代 SCSI技术。
SAS 接口兼容 SATA,实现 SAS 控制器直接操控SATA 硬盘。
速率方面:
SAS 接口理论传输速度为12Gb/s(300-500MB/S),SATA 理论传输速度为6Gb/s(90-150MB/s)。
硬盘方面:
SAS 硬盘内部盘面采用玻璃材料基板,玻璃基板平整度高,可实现高转速,SAS硬盘转速有两种:10000或 15000转每分钟,但玻材料存储密度低,一般常见容量规格有300GB、600GB、900GB、1.2T、1.8T.
SATA 硬盘内部采用盘面采用铝材料基板,有点事存储密度高,但材料表面平整度差,故 SATA 盘容量比较大,常见容量有 1T、2T、4T、6T、8T、10T,但转速较低,有两种5400 转或 7200 转每分钟。
2.9 SSD 固态磁盘接口信息对比
磁盘接口 | 速率 | 用途 |
---|---|---|
SATA 固态 | 6Gbps | 企业应用 |
SAS 固态 | 6Gbps | 企业应用 |
msata固态 | 6Gbps | 为超极本设计 |
m.2 固态 | 10-32Gbps | 笔记本电脑,NVME |
PCI-E 固态 | 20-32Gbps | 传输协议通道 AHCI |
2.10 SSD 固态磁盘与传统机械磁盘优劣势对比
项目 | 固态磁盘 | 传统机械磁盘 |
---|---|---|
容量 | 较小 | 大 |
价格 | 高 | 低 |
随机存取 | 极快 | 一般 |
写入次数 | 100-500W 次 | 无限制 |
盘内阵列 | 可 | 极难 |
工作噪音 | 无 | 有 |
工作温度 | 极低 | 较明显 |
防震 | 很好 | 较差 |
数据恢复 | 难 | 可以 |
重量 | 轻 | 重 |
上表是对固态磁盘和传统磁盘特性的一个比较。从中可以看出固态盘的优势和缺点
重要优势:随机存取速度,功耗,防震,重量方面优势很大,特别是存取性能。
重要缺点:容量、价格、写如寿命,数据恢复难。
2.11 企业生产工作中磁盘的选型
磁盘:当前服务器市场:主流磁盘为SAS、SATA、SSD硬盘。
2.11.1 企业级 SAS 硬盘:
当下企业里常见SAS硬盘是10000转或15000转/分。当前主流 300G、600G、1T、1.8T、2.4T,从具体的业务需求及性价比考虑,老男孩老师在早期工作中多用 300G、600G、1T 的SAS 硬盘,比如选 6*300G,6*600G,单盘容量不要太大,除非纯备份!
单盘容量小*多块盘满足需求。
至少3块盘一组:
1.5T 单盘 总容量 1.5T,不可以坏一块盘,读速度1块盘速度。
6*300G raid5 总容量 1.5T,可以坏一块盘。读速度小于6块之和。Web服务器
5*300G raid0 总容量 1.5T,不可以坏一块盘。读速度6块之和。Web服务器、应用服务器(没有单点,集群模式),缺点:维护麻烦。
10*300G raid10 总容量 1.5T,可以坏2块盘。读速度 10 块之和。数据库服务器,存储服务器
根据需求:性能、成本、冗余度
做好RAID满足容量的基础上尽量保持4块磁盘以上。
用途:用于提供生产线上的普通对外提供服务的业务服务器:
例如:生产线上的数据库业务、存储业务、图片业务及相关高并发业务(web http,cache服务),总的来说,如果没有特殊业务需求,SAS磁盘是生产环境首选的的磁盘配置。
2.11.2 企业级 SATA 硬盘:
企业级 SATA 硬盘,7200 转/分,常见的容量为 1T 和 2T、4T、8T,优点是经济实惠,容量大,从具体的业务需求及性价比考虑,老男孩老师在工作中多用SATA 磁盘做线下不提供服务的数据存储或者并发业务访问不是很大的业务应用,比如站点程序及数据库、图片的线下备份等。
特性:容量性价比高,一般2T的SATA 磁盘较佳。
选择 SATA 理由:
1、没钱。
2、数据量少,数据不需要给用户提供服务。
3、用于备份。
邮箱邮件:sata,百度云盘:sata
2.11.3 SSD 固态盘:
特点:容量小,价格贵,速度快。一般用于数据量小并且有超大规模高并发的业务(这不是唯一的办法,还可以通过磁盘加内存缓存的技术方式解决这个大规模并发的问题)
数据库适合使用固态盘。
百度、腾讯、360 核心业务都会采用SSD磁盘,应用层也必须做各种缓存。
大公司如 taobao,某些业务可能会根据数据的热度来综合使用分层存储,以达到性价比最佳的情况。80G SSD+500GSATA
2.11.4 磁盘选购小结:
1)线上业务,用 SAS 磁盘,比如常规业务,Web 服务及应用服务。
2)线下业务,用 SATA磁盘,备份数据,给用户提供邮箱、下载(百度云)
3)线上高并发、数据小容量的业务,SSD磁盘,比如数据库服务。
4)成本控制思想:根据数据的访问热度,智能分析分层存储。SATA+SSD
2.12 特别注意:老男孩老师企业故障案例:09年
不要用 SATA 磁盘来做在线高并发服务的数据存储或数据库业务,这是血的教训的。
某公司采用 SATA 做数据库的存储盘,结果导致数据库连续宕机一个月。
5 台服务器,一堆 SATA 盘,RAID5。
解决:重新买5台,把磁盘从SATA(RAID5)换成SAS(RAID10)。6个月内没事数据库集群。
1、主库改选择用 SAS RAID10(写),从库 SAS Raid(读)。
2、数据库使用的引擎是 MySAM 引擎,改成 Innodb 引擎。
2.13 淘宝网 CDN 缓存对象分级存储策略案例
提出问题:
在存储数据中,18KB以下的对象数量占总数量的80%,而其存储量占总量不到40%;同时,80%经常被访问的对象所占用的存储空间不到总量的20%。
分析问题:
以上的问题意味着“热点数据”(即访问频次高的内容)需要更快的性能,而占的空间并不大,而“冷数据”(访问频次低的内容)所需存储量很大,对性能要求不需要高。
解决问题:
因此,服务器引入分层存储机制,单台服务器(实际会多台)的盘可由一块80GB的 SSD 磁盘和两块 500GB 的 SATA 盘组成。然后把“热数据”存放在 SSD 盘上,“冷数据”存放在 SATA 盘上,冷热数据可以动态调度,从而兼顾性能、容量与成本。另:分层存储调度软件由淘宝开发。
上面的策略是高效,低成本方案,这是我们运维工作需要重视的,实际工作中不可能不考虑成本,而无限制的去提升性能
2.14 磁道:track
- 磁盘在格式化时被划分成许多同心圆,这些同心圆的轨迹叫做磁道(Track)。
- 磁道由盘面从外向内依次从0开始顺序编号。
- 磁盘的每一个盘面一般有300~1024个磁道
- 有多个扇区组成的。
- 磁道大小=扇区大小*扇区数
2.15. 扇区:Sector
- 盘面由圆心向四周画直线,不同的磁道被直线分成许多扇形(弧形)的区域,每个弧形的区域叫做扇区。
- 每个扇区大小一般为512字节。
- 扇区看起来就是圆弧或扇形。
- 磁盘存放数据的最小单位。
- 扇区是磁道上一段圆弧。
扇区三维地址的三个数字:
- 扇区所在的磁头、磁道以及扇区号。
- 存放数据的数据段,专门存放数据。
2.16. 柱面:Cylinder
- 柱面是相同半径,不同盘面的磁道组成。
- 柱面的编号和磁道编号一样。。0磁道组成的柱面叫做0柱面。
- 柱面大小=磁道大小*磁头数
为磁盘相关名词说明
英文: | 汉语 |
---|---|
Disk | 磁盘 |
Head | 磁头 |
Sector | 扇区 |
Track | 磁道 |
Cylinder | 柱面 |
Units | 单元块(一个柱面的大小) |
Block | 数据块 |
Inode | 索引书点 |
2.17 记忆要点:
- 一块磁盘有2-14个盘片,每个盘片有两个面,每个面对应一个读写磁头,用磁头号来区分盘面,即盘面数就是磁头数,盘片数*2=磁头数(盘面数)。
- 不同盘面的磁道被划分为多个扇形区域,每个区域就是一个扇区(Sector)。
- 同一个盘面,以盘片中心为圆心,每个不同半径的圆行轨迹就是一个磁道(Track)。
- 不同盘面相同半径的磁道组成一个圆柱面就是柱面(Cylinder)。
- 一个柱面包含多个磁道(这些磁道的半径相同),一个磁道包含多个扇区。
- 数据信息记录可表示为:某磁头,某磁道(柱面),某扇区。
一句话概括
磁道:
每个盘片有两个面,都可记录信息。盘片表面以盘片中心为圆心,用于记录数据的不同半径的圆形磁化轨迹就称为磁道。磁化轨迹是磁化区域,是看不见的。磁道看起来是一个平面圆周形。
扇区:
盘面由圆心向四周画直线,不同的磁道被直线分成许多扇形(弧形)的区域,每个弧形的区域叫做扇区,每个扇区大小一般为512字节,扇区看起来就是圆弧或扇形。
柱面:
磁盘中,不同的盘片(或盘面)相同半径的磁道轨迹从上到下所组成的圆柱型区域就称为柱面,柱面看起来是一个圆柱形。
今天内容:
问答题:全是了解。。。没有重点
1.什么是Disk磁盘?
2.机械磁盘哪些类型和接口?
3.机械磁盘内部结构?
4.固态磁盘接口类型?
5.固态磁盘内部结构?
6.什么是Head磁头?
7.什么是磁道Track?
8.什么是Sector扇区?
9.什么是柱面Cylinder
10.什么是Units单元块? (就是一个柱面的大小)
11.什么是Block?
12.什么是Inode?
13.生产环境如何选择磁盘类型?
14.磁盘的容量计算。
15.磁盘读写数据的原理。
磁盘大小计算:
方法1:
磁盘大小=柱面大小*柱面数
磁盘大小=柱面大小*磁道数
柱面大小=磁道大小*磁头数
磁盘大小=磁道大小*磁头数磁道数
磁道大小=扇区大小*扇区数
**磁盘大小=512字节*扇区数*磁头数磁道数**
方法2:
磁道大小=扇区大小*扇区数
盘面大小=磁道数*磁道大小
盘面大小=磁道数*扇区大小*扇区数
磁盘大小=盘面大小*磁头数
磁盘大小=512字节*扇区数*磁头数*磁道数
磁盘容量的计算算法
每个盘片有两个面,每个面有一个读写磁头,因此,一般我们习惯用磁头号来区分盘面。扇区,磁道(或柱面)和磁头数构成了磁盘结构的基本参数,通过这些参数可以得到磁盘的容量,
基计算公式为:
计算方法一:
存储容量=磁头数×磁道数(或柱面数)×每磁道的扇区数×每扇区的字节数
计算方法二:
存储容量=柱面大小(每磁道的扇区数×每扇区的字节数×磁头数)*柱面数(磁道数)
提示:一块磁盘的磁道数和柱面数的数量是永远相等的。
举个生产环境MYSQL数据库的磁盘大小计算例子:
[root@mysql-1-2 ~]# fdisk -l
Disk /dev/sda: 598.8 GB, 598879502336 bytes
255 heads, 63 sectors/track, 72809 cylinders
Units = cylinders of 16065(255*63) * 512 = 8225280 bytes
#单元Units(柱面单位)=255heads*63sectors/track= 16065*512bytes =8225280bytes
(盘面数)*(每磁道扇区数)
#达到容量的磁盘这个数都是固定的(目前测试1G以上是这个结果)。
#总容量==Units * 72809(cylinders)= 8225280 bytes * 72809 =598874411520bytes/(1000*1000)=598874.41152M=598.87441152G
#总容量=柱面大小(255heads磁头数*63sectors/track)\*柱面数
计算实践:
[root@oldboy ~]# echo "scale=2;(63*512*255*1305)/1000000000.00"|bc
10.73
[root@oldboy ~]# awk 'BEGIN{print (63*512*255*1305)/1000000000.00}'
10.734
[root@oldboy ~]# echo 512 63 2610 255|awk '{print $1*$2*$3*$4/1000000000}'
21.468
疑问:不同磁道上的扇区大小,看起来不一样大的。直观感觉越靠外面的磁道扇区越大。
可能有两个原因:
1)数据的存储密度在不同的磁道内可能不同。
2)磁道间隙的密度可能不同,外面小,里面大。
3)现代的硬盘技术更新很快,分布算法已升级。
磁盘大小:
方法1:
512字节*扇区数/每磁道=一个磁道的大小
512字节*扇区数*磁道数=一个盘面的大小
512字节*扇区数*磁道数*磁头数=磁盘的大小
磁盘的大小=磁道数*磁头数*512字节*扇区数
磁盘显示:
磁盘大小=柱面数*柱面大小
磁盘大小=磁道数*(磁道大小*磁头数)
磁盘大小=磁道数*磁头数*512字节*扇区数
磁盘是机械式磁盘:
1)盘片的旋转靠马达带动主轴,机械运动。
2)磁头的径向移动也是靠步进电机来完成的,机械运动。
3)所有的磁头同时同向移动的。
磁盘再读写数据时,尽可能让磁头不动,或者少移动磁头就能读到更多或全部的数据
机械磁盘读写磁盘数据的原理小结:
1)磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道,这个切换磁道的过程称为寻道。
2)不同磁头间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换。
磁头寻道是机械运动,切换磁头是电子切换。
今日内容:
1.什么是Disk磁盘?
2.机械磁盘哪些类型和接口?
3.机械磁盘内部结构?
4.固态磁盘接口类型?
5.固态磁盘内部结构?
6.什么是Head磁头?
7.什么是磁道Track?
8.什么是Sector扇区?
9.什么是柱面Cylinder
10.什么是Units单元块? (就是一个柱面的大小)
11.什么是Block?
12.什么是Inode?
13.生产环境如何选择磁盘类型?
14.磁盘的容量计算。
15.磁盘读写数据的原理。