HCRM博客

一键识别CentOS服务器硬盘数量的实用命令分享

CentOS一条命令查看服务器硬盘数量:运维老鸟私藏脚本,一眼看穿到底挂了几块盘

一键识别CentOS服务器硬盘数量的实用命令分享-图1

CentOS一条命令查看服务器硬盘数量

一键识别CentOS服务器硬盘数量的实用命令分享-图2

机房里新到一台裸机,上架前最慌的就是不知道里面到底塞了几块盘。拆机数盘太土,进BIOS又慢,还得重启业务。其实CentOS早就把答案写在系统里,只要一条命令,三秒就能让硬盘数量自己跳出来。

为什么df -h总对不上实盘

很多人第一时间敲df -h,结果只看到挂载后的分区,RAID卡背后藏的盘直接隐身;虚拟化场景里,一块盘被切成多份卷,df会把逻辑卷当成多块盘,数字瞬间虚高。想看到物理盘,必须绕过文件系统,直接问内核。

真正靠谱的命令只有一行

把下面整行粘进终端,回车即可:

lsblk -dp | grep -c '^/dev/sd\|^/dev/nvme\|^/dev/vd'

一键识别CentOS服务器硬盘数量的实用命令分享-图3

解释:lsblk列出块设备,-d去掉分区只留盘,-p给出完整路径;grep统计以/dev/sd、/dev/nvme、/dev/vd开头的行数,正好是系统识别的物理盘。SAS、SATA、NVMe、VirtIO通杀,虚拟机、物理机都适用。

命令返回数字不对怎么办

如果数字比预期少,先扫RAID卡:lspci | grep -i raid看到PERC、MegaRAID字样,说明盘被做阵列。装个megacliperccli,用megacli -PDList -aALL | grep 'Device Id'计数,就能把被RAID吃掉的盘找回来。云主机常见 virtio-scsi,盘符是/dev/vdX,上面命令已包含,无需额外处理。

想再懒一点写成别名

把下面这句扔进/etc/profile.d/diskcount.sh,下次登录直接敲disknum即可:

alias disknum='lsblk -dp | grep -c ^/dev/sd\|^/dev/nvme\|^/dev/vd'

多人共用机器也能一秒对齐信息,再也不用互相问“你那边几块盘”。

一条命令的局限与补救

lsblk读的是sysfs,如果硬盘掉线、RAID卡固件把盘标成Foreign,系统层面就看不到,命令返回会偏小。此时先dmesg | grep -i error看有没有I/O失败,再smartctl -a /dev/sda逐盘测健康,确认物理层问题。只要盘还在卡上,重新导入RAID配置就能让数字恢复。

实战场景:装机单验收

采购单写12块4T SAS,上架后插好线,直接ssh进BMC装CentOS,最小化安装完先不配置业务,第一时间跑这条命令,数字是12就签字,数字是11就现场拆箱找少的那块,全程不到五分钟,把后期“盘去哪了”的扯皮扼杀在摇篮。

CentOS一条命令查看服务器硬盘数量,核心就是绕过文件系统,直接让内核把盘交出来。记住lsblk -dp | grep -c '^/dev/sd\|^/dev/nvme\|^/dev/vd',三秒出结果,配合RAID工具交叉验证,再也不用拆机数盘。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/42004.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~