刚接触统信UOS和麒麟KYLINOS时,我发现很多新手管理员面对存储告警第一反应就是重启服务器。其实完全没必要这么粗暴,掌握几个基础命令就能快速定位问题。记得有次凌晨3点接到报警,我用df -h命令10秒就发现是日志分区爆满,清理后系统立即恢复正常。
这两个国产操作系统虽然界面友好,但底层仍然是Linux内核,所以传统Linux磁盘管理工具都能完美兼容。先带大家认识几个必会的"急救命令":
bash复制# 查看系统版本(区分UOS和KYLINOS)
cat /etc/os-version
uname -a
# 查看CPU架构(影响部分命令使用)
lscpu
为什么要先看系统信息?因为不同版本的UOS和KYLINOS可能会有细微差异。比如麒麟V10的fdisk输出就和统信专业版略有不同,提前确认环境能避免误判。
大多数人只知道用df -h看磁盘空间,其实加上-T参数更实用:
bash复制sudo df -hT
这样不仅能看使用量,还能显示文件系统类型(ext4/xfs等)。有次我发现某个分区使用率才50%却报IO错误,就是通过-T参数发现挂载成了FAT32格式,换成ext4后性能立竿见影。
常见问题排查:
比fdisk更友好的设备列表工具,特别适合多硬盘环境:
bash复制sudo lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
加-o参数可以自定义显示字段,我最爱用这个组合:
当服务器有多块同型号硬盘时,靠设备名(sda/sdb)识别很容易出错。这时就要用blkid获取UUID:
bash复制sudo blkid
输出示例:
code复制/dev/sda1: UUID="5a1d-47a3" TYPE="ext4"
/dev/sdb2: UUID="k8s-data-01" LABEL="Kubernetes Storage"
建议把重要分区的UUID记在运维文档里,重组RAID或迁移数据时特别有用。
除了基本的fdisk -l,我更推荐用交互模式:
bash复制sudo fdisk /dev/sda
输入p查看详情,特别注意:
实战案例:有次扩容后系统识别不到新空间,就是用fdisk发现分区表还是旧的MBR格式,转成GPT后问题解决。
这个命令能挖出硬盘的"祖籍信息":
bash复制sudo lshw -class disk -class storage
输出包含:
特别适合采购验货时核对硬件参数,避免买到假标硬盘。
需要先安装工具包:
bash复制sudo apt install smartmontools
检查SSD健康度:
bash复制sudo smartctl -a /dev/nvme0n1
重点关注:
建议每月做次全面检测,把smartctl -a输出保存为日志,方便后续对比分析。
上周处理的一个典型案例:某财务服务器频繁卡顿,按这个流程定位问题:
初步检查:
bash复制df -h # 发现/var分区使用率98%
lsblk # 确认是/dev/sdb1分区
深度分析:
bash复制sudo smartctl -a /dev/sdb # 发现UDMA_CRC_Error计数超标
sudo lshw -class disk # 确认是SATA线松动
解决方案:
整个排查过程不到20分钟,这就是系统化工具链的价值。建议大家把常用命令写成脚本,比如:
bash复制#!/bin/bash
echo "===== 磁盘健康检查 ====="
date
echo "### 空间使用 ###"
df -hT
echo "### 设备列表 ###"
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
echo "### SMART状态 ###"
for disk in $(lsblk -d -o NAME -n); do
sudo smartctl -H /dev/$disk | grep "test result"
done
定时运行这个脚本,输出重定向到日志文件,就能建立完善的硬盘健康档案。