如何监控Linux服务器上的每秒磁盘寻道

如何监控Linux服务器上的每秒磁盘寻道,第1张

Windows性能计数器--磁盘性能析Disk
Physical Disk:
单IO
AvgDisk Bytes/Read
AvgDisk Bytes/Write
IO响应间
AvgDisk sec/Read
AvgDisk sec/Write
IOPS
DiskReads/sec
DiskWrites/sec
DiskTransfers/sec
IO吞吐率
DiskBytes/sec
DiskRead Bytes/sec
DiskWrite Bytes/sec
磁盘两重要参数:Seek time、Rotational latency
I/O计数:①1000/(Seek time+Rotational latency)075范围内属达85%I/O计数则基本认已经存I/O瓶颈理论情况磁盘随机读计数125、 顺序读计数225于数据文件言随机读写志文件顺序读写数据文件建议存放于RAID5志文件存放于RAID10或 RAID1
附:
15000 RPM:150随机IOPS
10000 RPM:110随机IOPS
5400 RPM:50随机IOPS
面假设4块硬盘RAID5观察Physical Disk性能象部值:
Avg DiskQueue Length 12 队列度
Avg DiskSec/Read 035 读数据所用间ms
Avg DiskSec/Write 045 写数据所用间ms
DiskReads/sec 320 每秒读数据量
DiskWrites/sec 100 每秒写数据量
Avg DiskQueue Length12/4=3每块磁盘平均队列建议超2
Avg DiskSec/Read般要超11~15ms
Avg DiskSec/Write般建议于12ms
面结我看磁盘本身I/O能力满足我要求原量请求才导致队列等待能SQL语句导致量表扫描所致进行优化能达要求面公式帮助计算使用几块硬盘满足并发要求:
Raid 0 -- I/Os per disk = (reads +writes) / number of disks
Raid 1 -- I/Os per disk = [reads +(2 writes)] / 2
Raid 5 -- I/Os per disk = [reads +(4 writes)] / number of disks
Raid 10 -- I/Os per disk = [reads +(2 writes)] / number of disks
我结:(320+400)/4=180根据公式①磁盘I/O值假设现I/O计数125达结:720/125=576说要用6块磁盘才能达要求
面Disk Reads/secDisk Writes/sec难确估算值能系统比较忙概估算平均值作计算公式依据另难客户Seek time、 Rotational latency参数值能用理论值125进行计算
前言
作数据库管理员关注系统性能重要工作所关注各面性能能IO性能却令痛块面着各种涩参数令眼花缭乱新奇术语再加存储厂商忽悠总让我种云雾觉本系列文章试图基本概念始磁盘存储相关各种概念进行综合归纳让家能够IO性能相关基本概念IO性能监控调整比较全面解
部我先舍弃各种结构复杂存储系统直接研究单独磁盘性能问题藉解各衡量IO系统系能各指标及间关系
几基本概念
研究磁盘性能前我必须先解磁盘结构及工作原理再重复说明关系硬盘结构工作原理信息参考维基百科面相关词条——Hard disk drive(英文)硬盘驱器(文)
读写IO(Read/Write IO) *** 作
磁盘用给我存取数据用说IO *** 作候存两种相应 *** 作存数据候应写IO *** 作取数据候应读IO *** 作
单IO *** 作
控制磁盘控制器接 *** 作系统读IO *** 作指令候控制器给磁盘发读数据指令并同要读取数据块址传递给磁盘磁盘读取数据传给控制器并由控制器返给 *** 作系统完写IO *** 作;同写IO *** 作类似控制器接写IO *** 作指令要写入数据并其传递给磁盘磁盘数据写入完 *** 作结传递控制器再由控制器返给 *** 作系统完写IO *** 作单IO *** 作指完写IO或者读IO *** 作
随机访问(Random Access)与连续访问(Sequential Access)
随机访问指本IO所给扇区址IO给扇区址相差比较磁两IO *** 作间需要作比较移作才能重新始读/写数据相反IO给扇区址与IO结束扇区址致或者接近磁能快始IO *** 作IO *** 作称连续访问尽管相邻两IO *** 作同刻发请求扇区址相差能称随机访问非连续访问
顺序IO模式(Queue Mode)/并发IO模式(BurstMode)
磁盘控制器能磁盘组发连串IO命令磁盘组能执行IO命令称顺序IO;磁盘组能同执行IO命令称并发IO并发IO能发由磁盘组磁盘组单块磁盘能处理IO命令
单IO(IO ChunkSize)
熟悉数据库都概念数据库存储基本块(Block Size)管SQL ServerOracle默认块都8KB数据库每读写都8k单位于数据库应用发固定8k单读写写磁盘层面呢于读写磁盘说单IO *** 作 *** 作数据少呢固定值答案确定首先 *** 作系统提高 IO性能引入文件系统缓存(File System Cache)系统根据请求数据情况自IO请求先放缓存面再性提交给磁盘说于数据库发8K数据块读 *** 作能放磁盘读IO处理于些存储系统提供缓存(Cache)接收 *** 作系统IO请求 *** 作系统 IO请求合并处理管 *** 作系统层面缓存磁盘控制器层面缓存目都提高数据读写效率每单独IO *** 作都主要取决于系统于数据读写效率判断
IO *** 作比较候我IO *** 作比说1K4K8K;IO *** 作数据量比较候称IO *** 作比说32K64K甚至更
我说块(Block Size)候通我接触类似概念像我面提数据库面数据管理单位Oralce称块(Block)般8KSQL Server称页(Page)般8k文件系统面我能碰文件系统块现Linux系统都4K(通 /usr/bin/time -v看)作用其实跟数据库面块/页都便数据管理说单IO跟些块都没直接关系英文单IO通称IO Chunk Size说IO Block Size
IOPS(IO per Second)
IOPSIO系统每秒所执行IO *** 作数重要用衡量系统IO能力参数于单磁盘组IO系统说计算IOPS件难事情要我知道系统完IO所需要间我能推算系统IOPS
现我推算磁盘IOPS假设磁盘转速(Rotational Speed)15K RPM平均寻道间5ms传输速率40MB/s(读写速度视实际差别比较)
于磁盘说完整IO *** 作进行:控制器磁盘发IO *** 作命令候磁盘驱臂(ActuatorArm)带读写磁(Head)离着陆区(LandingZone位于内圈没数据区域)移要 *** 作初始数据块所磁道(Track)程称寻址(Seeking)应消耗间称寻址间(SeekTime);找应磁道能马读取数据候磁要等磁盘盘片(Platter)旋转初始数据块所扇区(Sector)落读写磁才能始读取数据等待盘片旋转 *** 作扇区程消耗间称旋转延(RotationalDelay);接随着盘片旋转磁断读/写相应数据块直完IO所需要 *** 作全部数据程称数据传送(DataTransfer)应间称传送间(TransferTime)完三步骤IO *** 作完
我看硬盘厂商宣传单候我经能看3参数别平均寻址间、盘片旋转速度及传送速度三参数提供给我计算述三步骤间
第寻址间考虑读写数据能磁盘任意磁道既能磁盘内圈(寻址间短)能磁盘外圈(寻址间)所计算我考虑平均寻址间磁盘参数标明平均寻址间采用前10krmp硬盘5ms
第二旋转延寻址磁定位磁道能要读写扇区候需要额外额延立刻读写数据坏情况确实要磁盘旋转整整圈磁才能读取数据所我考虑平均旋转延于10krpm磁盘(60s/15k)(1/2)= 2ms
第三传送间磁盘参数提供我传输速度要达种速度难度速度却磁盘纯读写磁盘速度要给定单IO我知道磁盘需要花费少间数据传送间IOChunk Size / Max Transfer Rate
现我计算单IO间公式:
IO Time = Seek Time + 60 sec/Rotational Speed/2 + IO ChunkSize/Transfer Rate
于我计算IOPS
IOPS = 1/IO Time = 1/(Seek Time + 60 sec/Rotational Speed/2 + IOChunk Size/Transfer Rate)
于给定同IO我面系列数据
4K (1/71 ms = 140 IOPS)
5ms + (60sec/15000RPM/2) + 4K/40MB = 5 + 2 + 01 = 71
8k (1/72 ms = 139 IOPS)
5ms + (60sec/15000RPM/2) + 8K/40MB = 5 + 2 + 02 = 72
16K (1/74 ms = 135 IOPS)
5ms + (60sec/15000RPM/2) + 16K/40MB = 5 + 2 + 04 = 74
32K (1/78 ms = 128 IOPS)
5ms + (60sec/15000RPM/2) + 32K/40MB = 5 + 2 + 08 = 78
64K (1/86 ms = 116 IOPS)
5ms + (60sec/15000RPM/2) + 64K/40MB = 5 + 2 + 16 = 86
面数据看单IO越候单IO所耗费间越少相应IOPS越
面我数据都比较理想假设理想情况磁盘要花费平均寻址间平均旋转延假设其实比较符合我实际情况随机读写随机读写每IO *** 作寻址间旋转延都能忽略计两间存限制IOPS现我考虑种相极端顺序读写 *** 作比说读取存储连续布磁盘文件文件存储布连续磁完读IO *** 作需要新寻址需要旋转延种情况我能IOPS值
4K (1/01 ms = 10000 IOPS)
0ms + 0ms + 4K/40MB = 01
8k (1/02 ms = 5000 IOPS)
0ms + 0ms + 8K/40MB = 02
16K (1/04 ms = 2500 IOPS)
0ms + 0ms + 16K/40MB = 04
32K (1/08 ms = 1250 IOPS)
0ms + 0ms + 32K/40MB = 08
64K (1/16 ms = 625 IOPS)
0ms + 0ms + 64K/40MB = 16
相比第组数据说差距非我要用IOPS衡量IO系统系能候我定要说清楚情况IOPS要说明读写式及单IO实际特别OLTP系统随机IO读写说服力
传输速度(Transfer Rate)/吞吐率(Throughput)
现我要说传输速度(另见说吞吐率)磁盘所表明传输速度或者说理想传输速度磁盘实际使用候磁盘系统总线流数据量IOPS数据我容易能计算应传输速度
Transfer Rate = IOPS IO Chunk Size
面第组IOPS数据我相应传输速度
4K: 140 4K = 560K / 40M = 136%
8K: 139 8K = 1112K / 40M = 271%
16K: 135 16K = 2160K / 40M = 527%
32K: 116 32K = 3712K / 40M = 906%
看实际传输速度总线利用率非
定要明确概念尽管面我使用IOPS计算传输速度实际传输速度IOPS没直接关系没缓存情况共同决定素都磁盘系统访问式及单IO磁盘进行随机访问候我利用IOPS衡量磁盘系统性能传输速度太;磁盘进行连续访问IOPS已经没参考价值候限制实际传输速度却磁盘传输速度实际应用用IOPS 衡量IO随机读写性能要衡量IO连续读写性能候要采用传输速度能IOPS
IO响应间(IOResponse Time)
关注能直接描述IO性能IO响应间IO响应间称IO延(IOLatency)IO响应间 *** 作系统内核发读或者写IO命令 *** 作系统内核接收IO应间注意要单IO间混淆单IO间仅仅指IO *** 作磁盘内部处理间IO响应间要包括IO *** 作IO等待队列所花费等待间
计算IO *** 作等待队列面消耗间衍于利托氏定理(Little’sLaw)排队模型M/M/1模型遵循由于排队模型算比较复杂现没搞太明白(谁M/M/1模型比较精通欢迎给予指导)罗列结面计算IOPS数据说:
8K IO Chunk Size (135 IOPS, 72 ms)
135 => 2400 ms
105 => 295 ms
75 => 157 ms
45 => 106 ms
64K IO Chunk Size(116 IOPS, 86 ms)
135 => 没响应……
105 => 886 ms
75 => 246 ms
45 => 146 ms
面数据看随着系统实际IOPS越接近理论值IO响应间非线性增越接近值响应间变越且比预期超般说实际应用70%指导值说IO读写队列队列于IOPS70%候IO响应间增加相说让比较能接受旦超70%响应间戏剧性暴增所系统IO压力超承受压力70%候必须要考虑调整或升级
另外补充说70%指导值适用于CPU响应间实践证明旦CPU超70%系统变受慢意思东西
篇文章计算我看15k转速磁盘随机读写访问情况IOPS竟140左右实际应用我却能看标5000IOPS甚至更高存储系统IOPS存储系统呢要归结于各种存储技术使用些存储技术使用广高速缓存(Cache)磁盘冗余阵列(RAID)本文探讨缓存磁盘阵列提高存储IO性能
高速缓存(Cache)
各种存储产品按照速度快慢应该内存>闪存>磁盘>磁带速度越快意味着价格越高闪存虽说发展势目前说却价格问题普及现磁盘作霸王代与CPU内存速度相比磁盘速度疑计算机系统瓶颈所必须使用磁盘想提高性能情况想磁盘嵌入块高速内存用保存经访问数据提高读写效率折解决块嵌入内存称高速缓存
说缓存东西应用现已经处处于层应用 *** 作系统层再磁盘控制器CPU内部单磁盘内部都存缓存所些缓存存目都相同提高系统执行效率我关跟IO性能相关缓存与IO性能直接相关几缓存别文件系统缓存(FileSystem Cache)、磁盘控制器缓存(DiskController Cache)磁盘缓存(DiskCache,称DiskBuffer)计算磁盘系统性能候文件系统缓存考虑内我重点考察磁盘控制器缓存磁盘缓存
管控制器缓存磁盘缓存所起作用主要三部:缓存数据、预读(Read-ahead)写(Write-back)
缓存数据
首先系统读取数据缓存高速缓存再需要读取相同数据候用访问磁盘直接缓存取数据使用数据能缓存永久保留缓存数据般采取LRU算进行管理目间用数据清除缓存些经访问却能直保留缓存直缓存清空
预读
预读指采用预读算没系统IO请求候事先数据磁盘读入缓存系统发读IO请求候实现检查看看缓存面否存要读取数据存(即命)直接结返候磁盘再需要寻址、旋转等待、读取数据序列 *** 作能节省间;没命则再发真读取磁盘命令取所需要数据
缓存命率跟缓存关系理论缓存越所能缓存数据越命率自越高缓存能太毕竟本呢容量存储系统配备读缓存候问题比较缓存数据量非相比整存储系统说比例非低随机读取(数据库系统数情况)候命率自低缓存能提高效率(绝部读IO都要读取磁盘)反每匹配缓存浪费间
执行读IO *** 作读取数据存于缓存数量与全部要读取数据比值称缓存命率(ReadCache Hit Radio)假设存储系统使用缓存情况随机IO读取能达150IOPS缓存能提供10%缓存命率实际IOPS达150/(1-10%)=166

首先说用于写功能部缓存称写缓存(WriteCache)套写缓存打存储 *** 作系统所发系列写IO命令并挨执行些写IO命令先写入缓存再性缓存修改推磁盘相于些相同IO合并连续 *** 作IO合并IO随机写IO变组连续写IO能减少磁盘寻址等 *** 作所消耗间提高磁盘写入效率
读缓存虽效率提高明显所带问题比较严重缓存普通内存掉点数据全部丢失 *** 作系统发写IO命令写入缓存即认写入功实际数据没真写入磁盘掉电缓存数据永远丢失应用说灾难性目前解决问题给缓存配备电池保证存储掉电缓存数据能数保存
读写缓存存写缓存命率(WriteCache Hit Radio)读缓存命情况尽管缓存命能实际IO *** 作免掉合并已
控制器缓存磁盘缓存除面作用外承着其作用比磁盘缓存保存IO命令队列功能单磁盘能处理IO命令却能接收IO命令些进入磁盘未处理命令保存缓存IO队列
RAID(Redundant Array Of InexpensiveDisks)
位数据库管理员或者经接触服务器RAID应该熟悉作廉价存储解决案RAID早已服务器存储普及RAID各级别应RAID10RAID5(RAID5已经基本走RAID6崛起看看解原)应用广面RAID0RAID1RAID5RAID6RAID10几种级别RAID展说磁盘阵列于磁盘性能影响阅读面内容前必须各级别RAID结构工作原理要熟悉才行才至于满雾水推荐查看wikipedia面条目:RAIDStandardRAID levelsNested RAID levels

通过磁盘检测认证。
海康存储服务器认证第三方硬盘必须要先做检测,检测通过后才能用,检测的方法为选中所有“未认证”的磁盘,点击“检测按钮”。此时磁盘检测状态有三种:未提交、等待中、检测中。检测完成即认证成功,若检测未通过,请确认设备型号,序列号及硬盘信息,确认硬盘是否未lOT硬盘。
海康威视成立于2001年,是一家专注技术创新的科技公司,在安防、智能物联领域耕耘二十余年,业务覆盖全球150多个国家和地区。

[TOC]

本次使用IBM x3650 M3的服务器作为实验服务器使用LSI芯片RIAD卡 支持Web BIOS

这里推荐先检查服务器前信息板卡有无报错,在登陆服务器IPMI管理口查看服务器事件日志。
服务器事件日志在
Eventlog中查看

主要涉及两个指示灯(当硬件故障时告警会有提示)

发生硬盘驱动器错误,这个需要检查是否有硬盘有故障指示灯亮起。
如硬盘故障灯亮起。 则需要更换硬盘

下图为硬盘凉了的告急,如果没做的Raid你就凉透了

显示器也会出现如下报错(那你系统是悲剧了)

其实如果在部署的时候,配置了Riad 1、5、6、10可以直接将备件硬盘更换上即可。(这个时候raid卡会自动同步新盘的数据)

有时会发现加入磁盘无法同步,进入WEBBIOS 选择后加入的硬盘,将其设置"Make Unconfi good"后,再设置成热备盘就可以自动同步了。

Raid 控制器故障。若无法进入控制器建议重新更换控制器。

把Raid卡换了就可以了。更换后需要重新导入阵列信息。

==关机的情况下==将磁盘拔出,调换顺序,对阵列本身无任何影响。
但阵列卡设置中,会发现磁盘顺序变更。
这里的调换 包括硬盘的排列顺序和硬盘的位置。
这里虽然进入了系统 服务器 DASD在报错
这里是确认了服务器硬盘没有损坏,数据完整情况下。
如服务器出现:

阵列卡(同型号和不同型号)
将故障服务器关机,拆下硬盘,放入备用服务器开机后需要先进入WeBBIOS,进入后阵列卡会提示有新的阵列信息,是否需要导入(选择Preview导入)。

读取到阵列配置以后直接将硬盘阵列导入阵列卡即可恢复系统(选择improt )

当硬盘被意外拔出后会出现此状态

进入此状态硬盘,重新标记为Make Unconfi good 若还是此状态那你的盘就凉凉了

无法自动同步的情况下,需要重新启动服务器进入WebBioss使用手动重构的方式。(一般把盘激活后设置为HSP)

重构时候,可以点击进入查看进度。(此时可以重启服务器进入系统。无需在此界面等待)

服务器硬盘不同于PC上的硬盘,一般为SAS接口,鉴于服务对数据安全有较高要求,因此如果需要新增或更换硬盘,也都是从服务器原生产厂商购买,通常不存在质量问题,也就没有测试的必要性。如果想测试,可在服务器上直接安装常用的硬盘测试工具,一般均可使用。另外,某些厂商自带有硬盘诊断工具,也可做些基本测试。但从我个人角度不建议用第三方工具做测试,测试工具基本上都是大数据读写,变相消耗磁盘的寿命。服务器硬盘基本上不具备维修价值,一旦发现损坏,都是直接更换的,没有谁会冒风险。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12762987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存