问题描述

CentOS 6.5 (2.6.32-431.29.2.el6.x86_64)中正常启动时附带两块数据磁盘 A 和 B,大小为 10G 和 50G,分别对应 OS 中的 sdc 和 sdd。开机状态下,在很短时间内先后将磁盘 A 和 B 分离,再将磁盘 B 附加上去。此时系统中使用 fdisk,看到磁盘 B(50G)已经映射为盘符 sdc,但磁盘信息还是磁盘 A(10G)的信息。且无法对 B 磁盘的文件系统进行正常操作,如 mount。

操作前

从平台层面观察数据磁盘信息,注意磁盘名,LUN ID 和 Disk size 的对应。

复制
#fdisk -l

系统层面扫描到的磁盘信息

复制
#dumpe2fs

文件系统信息。

复制
#lsblk

查看块设备。注意 MAJ:MIN 和 SIZE 代表的主要:次要驱动号和磁盘尺寸。

操作后

在门户中连续执行分离磁盘 A 和 B,再附加磁盘 B 的操作。

从平台层面观察数据磁盘信息,注意磁盘名,LUN ID 和 Disk size 的变化,这表示该虚拟机只有一块 50GB 的数据磁盘。

系统内运行 mount 和 fdisk 查看挂载和磁盘信息。

sdd 还挂载在 /data 上。但已经无法正常工作,任何操作会报 IO 错误。

fdisk 显示数据磁盘 sdc 的大小还是磁盘 A 的信息(我们挂载的是磁盘 B)。 立即访问http://market.azure.cn

而对应该成为 sdc 的 B 磁盘进行挂载会发现读取不到文件系统信息。

#lsblk 信息也未更正。

问题分析

对磁盘进行分离和附加的操作间隔时间太小,该案例中 3 分钟内完成了三次操作;导致内核对磁盘的信息未得到及时更新。误认为被附加回的磁盘还是原来的磁盘,但因为磁盘的几何构造发生了变化,因此导致冲突。文件系统也无法正确识别出来。

解决方法

通过下面命令强制对该设备进行刷新,使内核重新读取其构造信息。

复制
echo 1 > /sys/class/scsi_device/<device>/device/rescan
Note

device 为磁盘的 SCSI 地址。

这里我们的测试结果。

转载于:https://www.cnblogs.com/zangdalei/p/7693624.html

如何解决虚拟机频繁分离和附加磁盘导致的识别错误相关推荐

  1. Nginx完美解决前后端分离端口号不同导致的跨域问题

    Nginx完美解决前后端分离端口号不同导致的跨域问题 参考文章: (1)Nginx完美解决前后端分离端口号不同导致的跨域问题 (2)https://www.cnblogs.com/PyKK2019/p ...

  2. 接上文 ,解决 虚拟机VM,U盘(磁盘)装有系统,将其中系统安装到另外一块磁盘的具体操作

    问题原因:接上文,将生成的vsdk格式的磁盘导入VM创建镜像,相关于U盘装载系统镜像,将U盘其中的镜像导入到磁盘里边,U盘是引导,会将系统最终装载到磁盘 出错原因是因为 没有新建第二块磁盘 解决 新增 ...

  3. 如何解决vscode频繁唤起git for Windows 导致电脑内存占用多大,cpu占用率飙升、风扇狂转问题

    亲爱的小伙伴,你是不是发现最近电脑风扇狂转,在打开任务管理器后发现 git for window 占用了大量的cup和内存.不要担心,一招教你解决这个问题. 1.打开vscode点齿轮图标,选择设置 ...

  4. Vmware 虚拟机提示:无法打开磁盘***.vmdk 无法启动虚拟机 解决办法

    Vmware 虚拟机提示:无法打开磁盘***.vmdk,导致无法启动虚拟机 原因: 之前挂载了多VMDK硬盘文件 解决办法如下: 在确定不需要挂载多余的VMDK硬盘文件情况下操作. 首先找到.vmx文 ...

  5. sql数据库分离附加_使用分离和附加方法移动SQL数据库

    sql数据库分离附加 This article explores the process of moving a SQL database using the detach and attach me ...

  6. 如何给DPM服务器附加磁盘?

    我们在这里只讨论DPM安装在Hyper-V的情况下如何附加磁盘 1. 首先将Hyper-V关机. 2. 在物理机上脱机一个磁盘 3. 给Hyper-V添加SCSI磁动器 4. 添加硬盘驱动器 5. 选 ...

  7. mysql数据库的分离_数据库分离和附加 (SQL Server)

    数据库分离和附加 (SQL Server)Database Detach and Attach (SQL Server) 06/30/2020 本文内容 适用于:Applies to: SQL Ser ...

  8. 诊断虚拟机频繁 OOM 的问题

    女主宣言 本文作者霍明明负责 360 HULK 云平台虚拟化和容器化服务的技术布道和解决方案推广等工作.本文主要探究的 OOM Killer 是一个内核功能,当宿主机内存不足时,会使用一系列启发式技术 ...

  9. linux 附加数据库文件,SQL Server 数据库分离与附加图文详解

    SQL Server 数据库分离与附加图文教程,需要的朋友可以参考一下. 一.概述 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数 ...

最新文章

  1. java oracle数据库高效分页查询_oracle高效分页查询总结
  2. Flutter 基础布局Widgets之Baseline、AspectRatio详解
  3. 什么是拉电流和灌电流?
  4. zabbix 监控 elasticsearch
  5. python dlib学习(二):人脸特征点标定
  6. eclipse为什么导入不了awt_为什么选择javafx?
  7. 启动mac版docker自带的k8s
  8. (软件工程)用例说明模板
  9. 【Flink】SASL encryption trust check: localHostTrusted = false, remoteHostT
  10. 拖拽 开发 easyui php,Easyui-Builder
  11. 礼物帮手项目(3) - 传id跳转详情页(尝试2种方法)
  12. 基于JAVAWeb美食网站设计计算机毕业设计源码+数据库+lw文档+系统+部署
  13. 2023常见的前端面试题(附加解答)
  14. 苹果电脑与xcode的快捷键
  15. 4种常见的鉴权方式及说明
  16. 读曾仕强《管理的方与圆》笔记三
  17. HyperAttentionDTI:基于注意机制的序列深度学习改进药物-蛋白质相互作用预测
  18. Ubuntu使用笔记——Synaptic
  19. 记一次CH552不识别无法下载解决办法
  20. Snort 预处理器 ——portscan

热门文章

  1. 学习动态性能表(3)--v$sqlv$sql_plan
  2. 技术随笔 查找速度最快的Google IP
  3. 整数行hdu 1244 Max Sum Plus Plus Plus(dp)
  4. oracle普通用户使用dbms函数,oracle使用DBMS_SCHEDULER调度作业
  5. python程序加密license_怎么解决pycharm license Acti的方法
  6. python unicodeencodeerror_解决 Python UnicodeEncodeError 错误
  7. python requests_Python爬虫之requests模块
  8. 如何给安卓应用添加权限
  9. HALCON选择标定板文件
  10. python网站设计开题报告_XX网站设计开题报告范文