云平台迁移磁盘格式化磁盘,重做pv后(cant open /dev/vde exclusively mounted ilesystem)问题处理

本文主要是介绍云平台迁移磁盘格式化磁盘,重做pv后(cant open /dev/vde exclusively mounted ilesystem)问题处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、dmsetup命令

dmsetup 命令是一个用来与 Device Mapper 沟通的命令行封装器(wrapper)。可使用 dmsetup 命令的 info、ls、status、table 和 deps 选项查看 LVM 设备的常规信息
dmsetup:用于创建和管理设备映射。可以通过dmsetup命令创建设备映射器、设置映射、删除映射等操作。例如,可以使用dmsetup create命令创建设备映射器,并使用dmsetup table命令查看映射的配置。


[root@master1 ~]# dmsetup ls
klas-swap       (252:1)
klas-root       (252:0)
klas-backup     (252:2)[root@master1 ~]# dmsetup status 
klas-swap: 0 8421376 linear 
klas-root: 0 204021760 linear 
klas-backup: 0 99614720 linear [root@master1 ~]# dmsetup table
klas-swap: 0 8421376 linear 253:3 2048
klas-root: 0 204021760 linear 253:3 108038144
klas-backup: 0 99614720 linear 253:3 8423424[root@master1 ~]# dmsetup deps
klas-swap: 1 dependencies       : (253, 3)
klas-root: 1 dependencies       : (253, 3)
klas-backup: 1 dependencies     : (253, 3)[root@master1 ~]# dmsetup info
Name:              klas-swap
State:             ACTIVE
Read Ahead:        8192
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      252, 1
Number of targets: 1
UUID: LVM-ObmKDk9AGFnCn8eFDi8m4DStXTJIxrA7LovkAzaPWBTAAzQGYmWfAPNvpTjjSixrName:              klas-root
State:             ACTIVE
Read Ahead:        8192
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      252, 0
Number of targets: 1
UUID: LVM-ObmKDk9AGFnCn8eFDi8m4DStXTJIxrA7qHMk6hDnwY8YfFw0nYZ5iZzvcFJvQBunName:              klas-backup
State:             ACTIVE
Read Ahead:        8192
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      252, 2
Number of targets: 1
UUID: LVM-ObmKDk9AGFnCn8eFDi8m4DStXTJIxrA73y4Rd6xu1MP6PlRwh9udbe9uT3qBQgpz[root@master1 ~]#

背景:A服务器磁盘需要扩容,但是云平台资源不够
了,从B服务器上面"拆下"一块磁盘挂载到了A服务器上,操作类似于把这个u盘插到了另一个电脑上,所以在扩容之前lsblk,pvdisplay,vg,lv查看磁盘的时候发现磁盘原来的lvm信息还存在,那需先删除原有的信息才能继续扩容。执行 dd if=/dev/zero of=/dev/ved bs=1M cout=1 格式化磁盘,拒绝我们 提示 : cant open /dev/vde exclusively mounted filesystem
通过vmvare复现该问题

2、B服务器(迁移前状态):

[root@localhost ~]# dmsetup table
test-lvol0: 0 41934848 linear 8:16 2048   #新增
centos-swap: 0 4194304 linear 8:2 2048
centos-root: 0 35643392 linear 8:2 4196352
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part ├─centos-root 253:0    0   17G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─test-lvol0    253:2    0   20G  0 lvm  /test    #新增
sr0              11:0    1  4.4G  0 rom  
[root@localhost ~]#

3、A服务器状态(迁移前)


[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part ├─centos-root 253:0    0   17G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─test-lvol0    253:2    0   20G  0 lvm      #依然带有原来信息
sr0              11:0    1  4.4G  0 rom  
[root@localhost ~]# pvscan PV /dev/sdb    VG test            lvm2 [<20.00 GiB / 0    free]  #依然带有原来信息PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]Total: 2 [38.99 GiB] / in use: 2 [38.99 GiB] / in no VG: 0 [0   ]
[root@localhost ~]# vgscan Reading volume groups from cache.Found volume group "test" using metadata type lvm2               #依然带有原来信息Found volume group "centos" using metadata type lvm2
[root@localhost ~]# lvscan ACTIVE            '/dev/test/lvol0' [<20.00 GiB] inheritACTIVE            '/dev/centos/swap' [2.00 GiB] inheritACTIVE            '/dev/centos/root' [<17.00 GiB] inherit

4、解决方案一(推荐)

依次删除lv vg

[root@localhost ~]# lvremove /dev/test/lvol0
Do you really want to remove active logical volume test/lvol0? [y/n]: yLogical volume "lvol0" successfully removed[root@localhost ~]# vgremove testVolume group "test" successfully removed此时查看 lv vg 就没有对应信息了 lsblk也没有对应信息了 问题解决继续扩容操作就可以了

5、解决方案二


dd if=/dev/zero of=/dev/sdb bs=10M count=1 
其实这条命令是将磁盘前面的元数据信息冲掉,但是这个操作 不能被系统立即识别,可能需要重启或者什么刷新操作。
然后就用到了这个文章的标题命令“dmsetup”当执行了dd命令之后 查看 lv vg scan 都没有变化依然存在
vgchange -ay 执行这条命令 查看 lv vg scan 信息没有了 但是lsblk 还是有信息存在dmsetup table 查看会看见lvm信息dmsetup remove lvm信息 lsblk lv vg pv scan 就全都没有了 干干净净一块盘。

这篇关于云平台迁移磁盘格式化磁盘,重做pv后(cant open /dev/vde exclusively mounted ilesystem)问题处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094089

相关文章

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM