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

在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)
酷番叔酷番叔
上一篇 2025年7月15日 14:52
下一篇 2025年7月15日 15:00

相关推荐

  • 如何高效修改MATLAB命令行设置?

    修改命令行窗口的显示样式通过预设调整字体、颜色等:点击MATLAB顶部菜单栏的 主页 → 预设(Preferences),在左侧选择 MATLAB → 字体 或 颜色,字体设置:选择“命令行窗口”(Command Window)修改字体、大小(如Consolas 12pt更清晰),颜色设置:选择“工具……

    2025年6月19日
    13600
  • ASP如何同时验证多个密码?

    在Web开发中,密码验证是确保用户账户安全的重要环节,当系统需要用户设置多个密码(如登录密码、支付密码、二次验证密码等)时,如何高效、安全地实现多重密码验证成为开发者需要解决的问题,本文将围绕ASP(Active Server Pages)环境下的多密码验证实现方法展开讨论,涵盖技术原理、代码实现、安全注意事项……

    2025年11月21日
    7200
  • 在ASP中如何同时链接两个数据库?实现步骤与注意事项是什么?

    在Web开发中,ASP(Active Server Pages)作为一种经典的服务器端脚本技术,常用于构建动态网页和数据驱动的应用,当业务场景需要同时操作多个数据库时,比如从主数据库读取用户信息,从辅数据库获取订单数据,实现ASP链接两个数据库便成为常见需求,本文将详细介绍其技术原理、实现步骤及注意事项,帮助开……

    2025年11月15日
    7200
  • ASP页面传参实例中,参数传递的具体实现步骤和方法有哪些?

    在Web开发中,页面间数据传递是构建动态应用的核心功能之一,ASP(Active Server Pages)作为经典的Web开发技术,提供了多种页面传参方式,以满足不同场景下的数据交互需求,本文将通过具体实例,详细介绍ASP页面传参的常用方法,包括URL传参、表单传参、Session传参、Application……

    2025年11月18日
    7700
  • Linux如何打开命令提示符?

    图形界面(GUI)打开方式快捷键启动(最快捷)按下组合键:Ctrl + Alt + T(适用于Ubuntu、Debian、Mint等大多数桌面环境)应用程序菜单GNOME桌面(Ubuntu默认):点击屏幕左上角“活动” → 搜索栏输入 终端 或 Terminal → 点击图标启动,KDE Plasma(Kubu……

    2025年7月15日
    13600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信