如何解决磁盘卸载失败问题?

在Red Hat Enterprise Linux (RHEL)系统中安全删除共享磁盘(如iSCSI、FC SAN等)需谨慎操作,避免数据丢失或系统故障,以下是详细步骤和命令:


前期检查

  1. 确认磁盘使用状态

    lsblk | grep -i "磁盘名"  # 查看磁盘是否存在(如sdb、sdc)
    df -h | grep "磁盘名"     # 检查是否被挂载
    pvs | grep "磁盘名"       # 检查是否属于LVM物理卷
    multipath -ll | grep "磁盘名"  # 检查是否被多路径管理
  2. 终止占用进程
    若磁盘被挂载或进程占用:

    fuser -m /dev/sdX  # 查看占用进程(替换sdX为实际设备名)
    kill -9 <进程ID>    # 结束进程
    umount /dev/sdX    # 卸载磁盘(若已挂载)

删除磁盘操作

场景1:普通磁盘(非LVM/多路径)

# 2. 从系统移除设备
echo 1 > /sys/block/sdX/device/delete  # 立即移除设备

场景2:LVM逻辑卷磁盘

# 1. 移除逻辑卷(若存在)
lvremove /dev/vg_name/lv_name  # 删除逻辑卷
# 2. 移除卷组
vgremove vg_name
# 3. 移除物理卷
pvremove /dev/sdX
# 4. 从系统移除设备
echo 1 > /sys/block/sdX/device/delete

场景3:多路径磁盘(DM-Multipath)

# 1. 停用多路径设备
multipath -f mpathX  # 刷新多路径设备(如mpatha)
# 2. 移除底层设备
echo 1 > /sys/block/sdX/device/delete  # 对每个sd设备执行
# 3. 更新多路径配置
multipath -F  # 清除所有多路径设备(谨慎使用)

存储端清理

  1. 存储阵列操作

    • 登录存储管理界面,解除LUN与主机的映射。
    • 示例(NetApp CLI):
      lun unmap -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name
  2. 重新扫描设备(可选)
    删除后刷新SCSI总线:

    echo "- - -" > /sys/class/scsi_host/hostX/scan  # 重新扫描

验证删除

lsblk | grep -i "磁盘名"  # 确认磁盘已消失
multipath -ll            # 检查多路径设备
lvs; pvs; vgs            # 检查LVM信息

关键注意事项

  1. 数据备份
    操作前务必备份数据:

    rsync -av /mnt/shared_disk/ /backup_path/
  2. 集群环境
    若在集群(如Red Hat HA)中使用:

    • 先停用集群资源:pcs resource disable <resource_name>
    • 确认无节点访问磁盘。
  3. 依赖服务
    确保数据库(如Oracle)、文件服务(NFS/Samba)已停止使用该磁盘。

  4. 多路径配置
    配置文件/etc/multipath.conf中移除相关设备,避免重启后自动加载。


引用说明

  • Red Hat官方文档
    LVM管理指南
    DM-Multipath配置
  • 存储厂商文档:参考对应存储设备操作手册(如Dell EMC、NetApp)。

重要提示:生产环境操作前应在测试环境验证,并制定回滚计划。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7417.html

(0)
酷番叔酷番叔
上一篇 5天前
下一篇 5天前

相关推荐

  • 如何快速搭建运行环境?轻松搞定!

    连接设备Console线连接:使用串口线连接电脑与H3C设备的Console口,通过终端软件(如PuTTY/Xshell)设置参数:波特率9600、数据位8、停止位1、无校验(默认),远程登录:若设备已配置IP,可通过SSH/Telnet登录: ssh username@设备IP # 推荐更安全的SSHteln……

    2025年6月22日
    1000
  • 如何快速进入命令行?

    在Windows中,通过开始菜单搜索并打开“命令提示符”或“PowerShell”,在macOS或Linux中,在“应用程序”中找到并启动“终端”程序,启动后即可输入命令。

    2天前
    500
  • CMD历史命令删不掉怎么办?

    删除当前行(未执行的命令)按 Esc 键:立即清空当前输入行的所有内容,按 Ctrl + C 键:取消当前输入的命令并清空该行,清除屏幕上的命令显示(已执行的命令)输入 cls 命令:清除整个屏幕内容(包括所有历史命令和输出),效果等同于“删除所有已显示的行”,适用场景:需要完全重置屏幕时,管理命令历史记录(防……

    2025年7月8日
    1100
  • Photoshop切片彻底清除技巧,3步搞定

    要彻底删除切片,使用切片选择工具全选后按Delete键,若需临时隐藏,进入“视图”菜单,取消勾选“显示额外内容”或“切片”选项即可。

    2天前
    700
  • 命令行复制文件如何快速掌握?

    在命令行中复制文件,Windows使用copy或xcopy命令,Linux/macOS使用cp命令,基本语法是命令 源文件路径 目标路径,可添加参数如/r(覆盖只读)或-v(显示详情)。

    2025年6月24日
    1000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信