news 2026/5/30 0:24:18

别再重启服务器了!Linux运维必备:一条echo命令让fdisk立刻识别新加的SCSI硬盘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再重启服务器了!Linux运维必备:一条echo命令让fdisk立刻识别新加的SCSI硬盘

Linux运维实战:无需重启服务器,一条命令让SCSI硬盘即刻上线

在虚拟化环境和云计算平台中,磁盘扩容是最常见的基础运维操作之一。无论是KVM、VMware还是公有云虚拟机,当业务数据增长导致存储空间告急时,管理员往往需要在不停机的情况下完成磁盘扩容。但许多运维工程师都遇到过这样的困境:在管理界面添加新磁盘后,登录系统执行fdisk -l却看不到新设备。传统解决方案可能建议重启服务器,但这在生产环境中几乎是不可接受的——尤其对那些要求99.99%可用性的关键业务系统而言。

1. SCSI热扫描的核心原理与操作

SCSI(Small Computer System Interface)是Linux系统连接存储设备的标准协议之一。当我们在虚拟化平台添加新磁盘时,本质上是在SCSI总线上新增了一个设备。Linux内核通过scsi_host子系统管理这些连接,每个物理或虚拟的SCSI控制器都对应/sys/class/scsi_host/目录下的一个hostX接口。

1.1 手动触发SCSI总线扫描

最直接的热扫描方法是向特定host发送扫描指令:

# 列出所有SCSI主机控制器 ls /sys/class/scsi_host/ # 假设输出为host0 host1 host2,则对每个host执行扫描 echo "- - -" > /sys/class/scsi_host/host0/scan echo "- - -" > /sys/class/scsi_host/host1/scan echo "- - -" > /sys/class/scsi_host/host2/scan

这三个连字符具有特定含义:

  • 第一个-表示扫描所有通道(channel)
  • 第二个-表示扫描所有SCSI目标ID(target)
  • 第三个-表示扫描所有LUN(Logical Unit Number)

1.2 自动化扫描脚本

手动逐个host尝试效率低下,我们可以编写一个简单的Shell脚本自动完成这个过程:

#!/bin/bash for host in /sys/class/scsi_host/host*/scan; do echo "- - -" > $host echo "Triggered scan on $host" done # 验证新磁盘是否出现 echo "New disks detected:" fdisk -l | grep -i "disk /dev/sd"

这个脚本会遍历所有SCSI主机控制器并触发扫描,最后列出所有检测到的磁盘设备。

2. 进阶工具与替代方案

虽然echo命令简单直接,但在复杂环境中可能需要更专业的工具。

2.1 rescan-scsi-bus.sh工具

许多Linux发行版自带rescan-scsi-bus.sh脚本,提供更全面的扫描功能:

# 安装工具(CentOS/RHEL) yum install sg3_utils -y # 执行扫描 rescan-scsi-bus.sh -a

该工具支持以下实用参数:

  • -a:扫描所有设备
  • -r:只扫描已移除的设备
  • -i:显示扫描进度
  • -l:只列出设备不执行扫描

2.2 不同虚拟化平台的注意事项

虚拟化平台热添加特性特殊要求
KVM/QEMU支持确保使用virtio-scsi控制器
VMware ESXi支持虚拟机配置中启用SCSI热插拔
Hyper-V支持使用SCSI控制器而非IDE
公有云实例视平台而定通常需要先在控制台挂载卷

3. 磁盘识别后的分区与管理

成功识别新磁盘后,接下来的操作取决于你使用的是传统分区还是LVM。

3.1 传统分区方式

对于直接使用分区的场景:

# 创建新分区 fdisk /dev/sdb # 交互式操作:n → p → 1 → 回车 → 回车 → w # 格式化分区 mkfs.ext4 /dev/sdb1 # 挂载使用 mkdir /data mount /dev/sdb1 /data

3.2 LVM逻辑卷管理

LVM提供了更灵活的存储管理方式:

# 创建物理卷 pvcreate /dev/sdb # 扩展卷组 vgextend vg_data /dev/sdb # 扩展逻辑卷 lvextend -l +100%FREE /dev/vg_data/lv_data # 调整文件系统大小 resize2fs /dev/vg_data/lv_data

4. 生产环境最佳实践

在关键业务系统中,磁盘扩容需要格外谨慎。以下是几个实用建议:

  • 操作前备份重要数据:即使只是添加新磁盘,也可能因误操作影响现有存储
  • 使用多路径IO(MPIO):对于高可用存储,配置多路径防止单点故障
  • 监控SCSI事件:通过dmesg -wjournalctl -f实时查看内核日志
  • 考虑UDEV规则:如果需要为新磁盘自动创建特定挂载点,可以配置UDEV规则
# 示例UDEV规则(/etc/udev/rules.d/99-data-disk.rules) ACTION=="add", KERNEL=="sd[b-z]", RUN+="/bin/mkdir -p /mnt/%k"

对于自动化运维环境,可以将这些操作集成到Ansible、SaltStack等配置管理工具中,实现磁盘扩容的完全自动化。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 0:16:11

电解电容的‘寿命焦虑’怎么破?从发热原理到选型散热,延长你的电源板使用寿命

电解电容寿命优化的工程实践:从热管理到材料革新在电源设计领域,电解电容的可靠性问题如同悬在工程师头顶的达摩克利斯之剑。某知名电源模块厂商的售后数据显示,超过60%的早期失效案例可追溯至电解电容性能衰退。这个圆柱形元件虽不起眼&…

作者头像 李华
网站建设 2026/5/30 0:14:20

Win10迁移用户目录后,Start Menu打不开?别慌,这是修复指南(附PowerShell万能命令)

Win10用户目录迁移后开始菜单失效的深度修复指南迁移用户目录是许多Win10用户为了释放C盘空间或优化文件管理而采取的常见操作。然而,这一看似简单的过程却可能引发一系列意想不到的系统问题,其中最令人头疼的莫过于开始菜单、搜索框和Cortana功能的突然…

作者头像 李华
网站建设 2026/5/30 0:13:01

如何用深度学习打破沟通壁垒:三小时搭建实时手语翻译系统

如何用深度学习打破沟通壁垒:三小时搭建实时手语翻译系统 【免费下载链接】Sign-Language-Interpreter-using-Deep-Learning A sign language interpreter using live video feed from the camera. 项目地址: https://gitcode.com/gh_mirrors/si/Sign-Language-I…

作者头像 李华