在Red Hat Enterprise Linux (RHEL)系统中安全删除共享磁盘(如iSCSI、FC SAN等)需谨慎操作,避免数据丢失或系统故障,以下是详细步骤和命令:
前期检查
-
确认磁盘使用状态
lsblk | grep -i "磁盘名" # 查看磁盘是否存在(如sdb、sdc) df -h | grep "磁盘名" # 检查是否被挂载 pvs | grep "磁盘名" # 检查是否属于LVM物理卷 multipath -ll | grep "磁盘名" # 检查是否被多路径管理
-
终止占用进程
若磁盘被挂载或进程占用: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 # 清除所有多路径设备(谨慎使用)
存储端清理
-
存储阵列操作
- 登录存储管理界面,解除LUN与主机的映射。
- 示例(NetApp CLI):
lun unmap -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name
-
重新扫描设备(可选)
删除后刷新SCSI总线:echo "- - -" > /sys/class/scsi_host/hostX/scan # 重新扫描
验证删除
lsblk | grep -i "磁盘名" # 确认磁盘已消失 multipath -ll # 检查多路径设备 lvs; pvs; vgs # 检查LVM信息
关键注意事项
-
数据备份
操作前务必备份数据:rsync -av /mnt/shared_disk/ /backup_path/
-
集群环境
若在集群(如Red Hat HA)中使用:- 先停用集群资源:
pcs resource disable <resource_name>
- 确认无节点访问磁盘。
- 先停用集群资源:
-
依赖服务
确保数据库(如Oracle)、文件服务(NFS/Samba)已停止使用该磁盘。 -
多路径配置
配置文件/etc/multipath.conf
中移除相关设备,避免重启后自动加载。
引用说明
- Red Hat官方文档:
LVM管理指南
DM-Multipath配置 - 存储厂商文档:参考对应存储设备操作手册(如Dell EMC、NetApp)。
重要提示:生产环境操作前应在测试环境验证,并制定回滚计划。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7417.html