运维Tips | 如何判断Linux服务器磁盘是否为SSD还是HDD?

全栈工程师修炼指南 2024-06-18 10:37:03 阅读 80

2b749339f05001c8d90dc376943cb66a.jpeg

a13590c7d3ab7474ed872d764590434e.gif

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路。]

大家好,我是【WeiyiGeek/唯一极客】一个正在向全栈工程师(SecDevOps)前进的技术爱好者  

作者微信:WeiyiGeeker  

公众号/知识星球:全栈工程师修炼指南  

主页博客: https://weiyigeek.top - 为者常成,行者常至

原文地址:

运维Tips | 如何判断Linux服务器磁盘是否为SSD还是HDD?如何判断Linux服务器磁盘是SSD还是HDD?此文介绍3种判断linux物理机磁盘类型的方法,方式1使用lsblk命令,方式2查看/sys/block/*/queue/rotational文件,方式3使用sysbench工具进行压力测试

icon-default.png?t=N7T8

https://mp.weixin.qq.com/s/601smodGl_udL_Nybmm_ug

如何判断Linux服务器磁盘是否为SSD还是HDD?

描述: 此处介绍3种常见的判断linux物理机磁盘类型的方法,方式1使用lsblk命令,方式2是查看/sys/block/*/queue/rotational文件,方式3是使用sysbench工具进行压力测试。

fe1e44f0cc33fd97bd585f78a42a00b4.jpeg

方式1.描述: 使用 lsblk 命令中 -o 参数输出指定的 rotational device 值,若为1则为HDD、反之则为SSD。

# 仅查看物理盘的名称、空间大小、SSD(0)? HDD(1)?, 设备供应商以及状态。lsblk -d -o NAME,SIZE,ROTA,VENDOR,STATE  # NAME   SIZE ROTA(重点) VENDOR   STATE  # sda  558.9G    1      MSCC     running  

方式2.描述: 查看 /sys/block/*/queue/rotational 的返回值(其中*为你的硬盘设备名称,例如sda、sdb等等),如果返回1则表示磁盘可旋转,那么就是机械硬盘HDD了;反之,如果返回0,则表示磁盘不可以旋转,那么就有可能是固态硬盘SSD了。

# 磁盘设备fdisk -l | grep "/dev"  # 磁盘 /dev/sda:600.1 GB, 600093712384 字节,1172058032 个扇区# 指定盘验证是否为SSDcat /sys/block/sda/queue/rotational# 批量验证grep ^ /sys/block/*/queue/rotational/sys/block/dm-0/queue/rotational:1/sys/block/dm-1/queue/rotational:1/sys/block/dm-2/queue/rotational:1/sys/block/dm-3/queue/rotational:1/sys/block/sda/queue/rotational:1     # 真实物理盘# 使用脚本if [ $(cat /sys/block/sda/queue/rotational) -eq 0 ];then echo "SSD"; else echo "HDD"; fi

来自`select *`网友:具体来说,rota表示磁盘是否是旋转磁盘(rotational disk)。如果rota的值是1,则表示该磁盘是旋转磁盘,也就是我们通常所说的机械硬盘(HDD)。这是因为机械硬盘内部有旋转的磁盘片和移动的读写头。

相反,如果rota的值是0,则表示该磁盘不是旋转磁盘,它通常是一个固态硬盘(SSD)。固态硬盘没有旋转的磁盘片,而是通过存储芯片(如NAND闪存)来存储数据。

方式3.描述: 使用磁盘压测工具 sysbench 进行相应测试,通常读写次数在2万~4万间,吞吐量在300~600M/s,可以判定磁盘为SSD。

# 安装sysbenchyum install -y sysbench# 选择要测的磁盘路径 /mnt/disk1cd /mnt/disk1# 创建测试文件# 准备阶段:IO测试,线程数为40,创建大小为500M的测试文件64个,共32G,使用了随机读写模式(rndrw)测试300s,执行完后会在当前目录下生成一堆小文件。sysbench --test=fileio --file-total-size=32G --file-test-mode=rndrw --time=300 --max-requests=0 --file-block-size=16K --file-num=64 --threads=40 prepare# 测磁盘io# 运行阶段sysbench --test=fileio --file-total-size=32G --file-test-mode=rndrw --time=300 --max-requests=0 --file-block-size=16K --file-num=64 --threads=40 run# 输出结果File operations:    reads/s:                    36369.44    writes/s:                   24246.29    fsyncs/s:                   38802.60Throughput:    read, MiB/s:                  568.27written, MiB/s:               378.85General statistics:    total time:                  300.0042s    total number of events:      29824059Latency (ms):         min:                         0.00         avg:                         0.37         max:                         8.21         95th percentile:             1.96         sum:                  11174442.44

温馨提示:作者最近正在整理自己10年笔记,全栈系列从门到实践教程将会逐步持续同步到公众号内,若需要在线实时浏览作者笔记的童鞋,请添加作者[WeiyiGeeker],当前价格¥168,获取在网络、安全、运维、开发(Sec、Ops、Dev)中的所有学习实践笔记,和问题答疑以及远程技术支持,希望大家多多支持!

0e55f3259bbb5beb1711c62ee9087b53.png

至此完毕,更多技术文章,请持续关注公众号并添加星标,获取及时文章推送!

作者博客: https://blog.weiyigeek.top


如果此篇文章对你有帮助,请你将它分享给更多的人! 

07993bf1b173d8302b041353071595a2.gif

b9028678565adaa32eaac86365d4b206.png

 学习推荐 往期文章 

d488eb1dfb1703c1f24a649d64b7b64a.png

🔥【最新】Ops实践 | 从零开始:落实企业网络审计日志采集留存,等保合规!

🔥【必备】网络安全攻击防护及等级保护(过保)落地实践

🚀【实战】企业国产化操作系统、云原生Kubernetes系列学习实践

🚀【实战】企业持续化集成与交付 Jenkins 系列学习实践

🚀【实战】企业资源系统监控预警 Prometheus 系列学习实践

🌟【学习】运维工程师学习之路指南(运维入门知识)

🌟【学习】前端开发学习之路指南(开发入门知识)

🌟【学习】数据库 Redis 运维到删库指南(dba入门知识)

📔【书籍】计算机科学导论学习笔记(计算机基础知识)

全栈工程师修炼指南】邀你加入学习交流群!

作者微信【WeiyiGeeker】,一起学习交流进步吧! 

b8d2bd697ac4e65f7461f7c8f902a4c2.gif

5b984c644b2b783e4da3c79a5019f64c.gif

此文,为作者原创文章,希望大家多多支持,若对看友您有帮助请帮忙转发,点👍、在看,若有疑问的小伙伴,可在文末留言哟!

原文地址: 运维Tips | 如何判断Linux服务器磁盘是否为SSD还是HDD?如何判断Linux服务器磁盘是SSD还是HDD?此文介绍3种判断linux物理机磁盘类型的方法,方式1使用lsblk命令,方式2查看/sys/block/*/queue/rotational文件,方式3使用sysbench工具进行压力测试

icon-default.png?t=N7T8

https://mp.weixin.qq.com/s/601smodGl_udL_Nybmm_ug



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。