之前一直使用vbox虚拟了很多系统,安装一些开发中常用的工具,不同的项目进行不同的划分。但最近突然因为物理磁盘IO异常导致虚拟硬盘无法正常读取,更不要说系统正常启动了。于是便想利用另外一个能启动的系统,把这个虚拟盘挂载上去,看看能不能读取到数据。

1、在新的vbox上添加原有虚拟硬盘,并启动新虚拟机

2、查看硬盘设备fdisk -l

显示如下:磁盘 /dev/sda:1099.5 GB, 1099511627776 字节,2147483648 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000cde78

设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      411647      204800   83  Linux

/dev/sda2          411648  2147483647  1073536000   8e  Linux LVM

磁盘 /dev/sdb:1099.5 GB, 1099511627776 字节,2147483648 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000cde78

设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1   *        2048      411647      204800   83  Linux

/dev/sdb2          411648  2147483647  1073536000   8e  Linux LVM

磁盘 /dev/mapper/centos-root:1082.1 GB, 1082117849088 字节,2113511424 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:17.2 GB, 17179869184 字节,33554432 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

可以看到原有硬盘应该为sdb,于是乎,想通过mount进行挂载:mount /dev/sdb2 /old/

结果显示:mount: 未知的文件系统类型“LVM2_member”

2、因为Linux(笔者环境为Centos7)安装时使用LVM2导致无法直接挂载。执行以下命令安装lvm2的工具yum install -y lvm2

安装完成以后,可以执行以下命令查看逻辑卷属性lvdisplay

显示:WARNING: found device with duplicate /dev/sdb2

WARNING: Disabling lvmetad cache which does not support duplicate PVs.

WARNING: Scan found duplicate PVs.

WARNING: Not using lvmetad because cache update failed.

WARNING: Not using device /dev/sdb2 for PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.

WARNING: PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi prefers device /dev/sda2 because of previous preference.

--- Logical volume ---

LV Path                /dev/centos/swap

LV Name                swap

VG Name                centos

LV UUID                g5h0m2-JoYP-6Fdl-ds6d-B4Cs-XESA-aBkVNs

LV Write Access        read/write

LV Creation host, time localhost, 2018-02-08 02:54:19 +0800

LV Status              available

# open                 2

LV Size                16.00 GiB

Current LE             4096

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     8192

Block device           253:1

--- Logical volume ---

LV Path                /dev/centos/root

LV Name                root

VG Name                centos

LV UUID                66oHyc-me8P-C3c0-gh0D-xjI9-Q72H-6ciKCJ

LV Write Access        read/write

LV Creation host, time localhost, 2018-02-08 02:54:19 +0800

LV Status              available

# open                 1

LV Size                1007.80 GiB

Current LE             257997

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     8192

Block device           253:0

发现两块硬盘"LV Name"是一样的,这也就是导致旧硬盘无法挂载的原因。

同时执行以下命令查看有关卷组的信息vgs

显示:WARNING: Not using lvmetad because duplicate PVs were found.

WARNING: Use multipath or vgimportclone to resolve duplicate PVs?

WARNING: After duplicates are resolved, run "pvscan --cache" to enable lvmetad.

WARNING: Not using device /dev/sdb2 for PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.

WARNING: PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi prefers device /dev/sda2 because device is used by LV.

VG     #PV #LV #SN Attr   VSize    VFree

centos   1   2   0 wz--n- 1023.80g    0

或者执行以下命令输出格式化的物理卷信息报表pvs

显示:WARNING: Not using lvmetad because duplicate PVs were found.

WARNING: Use multipath or vgimportclone to resolve duplicate PVs?

WARNING: After duplicates are resolved, run "pvscan --cache" to enable lvmetad.

WARNING: Not using device /dev/sdb2 for PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.

WARNING: PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi prefers device /dev/sda2 because device is used by LV.

PV         VG     Fmt  Attr PSize    PFree

/dev/sda2  centos lvm2 a--  1023.80g    0

三者输出差不多,都是提示”WARNING: PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi prefers device /dev/sda2 because device is used by LV.“,同”lvdisplay“输出信息一样。

根本原因是因为它们的卷名称一样导致的。

3、重命名旧硬盘卷名称vgimportclone -n newcentos /dev/sdb2

输出:WARNING: Not using device /dev/sdb2 for PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.

WARNING: PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi prefers device /dev/sda2 because device is used by LV.

扫描设备上的LVM物理卷和卷组,并指示lvmetad守护进程相应地更新其缓存状态:pvscan --cache

再次执行"pvs"命令,显示如下:PV         VG        Fmt  Attr PSize    PFree

/dev/sda2  centos    lvm2 a--  1023.80g    0

/dev/sdb2  newcentos lvm2 a--  1023.80g    0

可以看到sdb2的卷组名称已改为"newcentos"。

接下来使用vgchange命令将卷组状态改为活动的,命令如下:vgchange newcentos -ay

显示:2 logical volume(s) in volume group "newcentos" now active

这时再次使用"lvs"查看时显示:LV   VG        Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

root centos    -wi-ao---- 1007.80g

swap centos    -wi-ao----   16.00g

root newcentos -wi-a----- 1007.80g

swap newcentos -wi-a-----   16.00g

这样,原有硬盘的卷组也就重命名和设置为活动了

4、挂载原有硬盘

先查看硬盘信息,命令如下:fdisk -l

显示:磁盘 /dev/sda:1099.5 GB, 1099511627776 字节,2147483648 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000cde78

设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      411647      204800   83  Linux

/dev/sda2          411648  2147483647  1073536000   8e  Linux LVM

磁盘 /dev/sdb:1099.5 GB, 1099511627776 字节,2147483648 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000cde78

设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1   *        2048      411647      204800   83  Linux

/dev/sdb2          411648  2147483647  1073536000   8e  Linux LVM

磁盘 /dev/mapper/centos-root:1082.1 GB, 1082117849088 字节,2113511424 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:17.2 GB, 17179869184 字节,33554432 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/newcentos-swap:17.2 GB, 17179869184 字节,33554432 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/newcentos-root:1082.1 GB, 1082117849088 字节,2113511424 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

可以看到原有硬盘分区为"/dev/mapper/newcentos-root",执行以下命令将它挂载到"/old"目录下:mount /dev/mapper/newcentos-root /old/

本想没什么问题了,但却还是无法挂载,显示如下:mount: 文件系统类型错误、选项错误、/dev/mapper/newcentos-root 上有坏超级块、

缺少代码页或助手程序,或其他错误

有些情况下在 syslog 中可以找到一些有用信息- 请尝试

dmesg | tail  这样的命令看看。

按它的提示,执行以下命令:dmesg | tail

显示:[    6.024016] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.

[    6.057797] Netfilter messages via NETLINK v0.30.

[    6.063125] ip_set: protocol 6

[    6.590940] floppy0: no floppy controllers found

[    6.590987] work still pending

[    7.299956] IPv6: enp0s3: IPv6 duplicate address fe80::afbb:c491:1873:8741 detected!

[    7.619362] IPv6: enp0s3: IPv6 duplicate address fe80::10d4:9f90:6570:93a2 detected!

[    8.641373] IPv6: enp0s3: IPv6 duplicate address fe80::b778:7075:b40:bc9f detected!

[ 2161.199751] XFS (dm-3): Filesystem has duplicate UUID c23bf14e-b7b7-4947-8b65-d73fe367d9b7 - can't mount

[ 2175.720687] XFS (dm-3): Filesystem has duplicate UUID c23bf14e-b7b7-4947-8b65-d73fe367d9b7 - can't mount

经查找方法如下:mount -o rw,nouuid /dev/mapper/newcentos-root  /old/

这样也就可以正常挂载硬盘分区了。不过笔者发现之前的数据在该目录中还是不存在,不知何故,后面继续研究。

参考:

https://www.cnblogs.com/skyshao/p/11663914.html

linux服务器挂硬盘无法启动不了怎么办,解决IO错误导致Linux无法启动-挂载原有硬盘...相关推荐

  1. linux服务器上tcp有大量time_wait状态的解决方法和原因解释

    在检查服务器时,发现有很多连接超时情况出现,用netstat命令查看,tcp的time_wait状态较多,需要进行优化. 1. 看一下现在time_wait的数量 netstat -an | grep ...

  2. 服务器运行失败win10音频,win10更新发生错误导致音频服务启动不了怎么办_win10音频服务无法启用的解决方法...

    最近有朋友问小编win10更新发生错误导致音频服务启动不了怎么办,对于这个问题,相信很多朋友都遇到过了,为什么win10系统更新发生错误导致音频服务启动不了呢?出现这种音频服务无法启用的问题应该如何解 ...

  3. 又一例SPFILE设置错误导致数据库无法启动

    --======================================== --又一例SPFILE设置错误导致数据库无法启动 --============================== ...

  4. linux服务器挂硬盘无法启动不了怎么办,Linux硬盘问题的八种解决技巧

    不能在Linux或者类UNIX系统的硬盘上写入数据?想解决服务器上磁盘损坏的问题吗?想知道你为什么总是在屏幕上看到"磁盘已满"的字眼吗?想学习处理这些问题的办法吗?试试一下这8个解 ...

  5. Linux服务器挂死案例分析

    问题现象: 在linux服务器上运行一个指定的脚本时,就会出现无数个相同进程的,而且不停的产生,杀也杀不掉,最后系统就陷入死循环,无法登陆,只能人工去按机器的电源键才可以.这够崩溃的吧? 问题分析过程 ...

  6. linux服务器定时关机重启,Ubuntu Server 10.10 每天定时开关机linux服务器应用 -电脑资料...

    Ubuntu Server 10.10定时开机方法: 按F2进入BIOS设置,设置每天定时开机, 容易出现问题: BIOS时间比系统时间慢8小时.在BIOS设置中设置时间或在Ubuntu系统中设置BI ...

  7. linux服务器清除cdn,Linux服务器中查找并删除大文件的五种方法,Linux系统清除文件内容的命令分享...

    很多时候,在处理Linux终端中的文件时,您可能希望清除文件的内容,而无需使用任何Linux命令行编辑器打开它.怎么能实现这一目标?在本文中,我们将借助一些有用的命令,通过几种不同的方式清空文件内容. ...

  8. linux怎么找到光盘路径,Linux服务器中如何查找rpm包及安装的方法步骤,Linux系统下应该如何挂载光盘...

    Linux 服务器系统在使用时候经常遇到需要安装软件,我们当然可以通过 yum 命令来在线安装,但是在线安装往往因为网络或其他问题造成安装失败.还有一种就是也可以通过下载好的 rpm 包来进行安装,但 ...

  9. jbd2 mysql_2018年第九周-解决因jbd2导致Linux性能过低问题

    问题 在很多MySQL实践中,或者压测中,特别是从centos官方下载DVD直接安装的linux,可能会遇到这样一个问题,为什么有些机子硬件性能很好的,数据库入库的速度比那些不好的机子还快.从MySQ ...

最新文章

  1. C语言库函数大全及应用实例二
  2. 京东AI战略宏图展现 不枉挖来这么多AI大牛
  3. vue list添加元素_Vue简单入门及组件的简单使用
  4. DEDE 5.7分类联动BUG
  5. 如何回答十个最棘手的面试问题(下)
  6. runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答
  7. 安全源于细节:云环境下如何保证应用安全
  8. c# .Net 缓存 使用System.Runtime.Caching 做缓存 平滑过期,绝对过期
  9. oracle em agent,ORACLE 11G EM 配置命令及问题处理
  10. 四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件
  11. python 倒数_【IT专家】python实现文件倒数N行读取
  12. python设计函数isleapyear_Python实战练习——打印日历教程
  13. javaEE项目发布方法
  14. 武汉.NET俱乐部12月活动图片及课件下载
  15. Coolite 换肤
  16. IDEA Jsp乱码大全
  17. 转发-分享手机游戏辅助编程开发教程
  18. Django验证码*异步方案Celery之Celery介绍和使用(Celery介绍、创建Celery实例并加载配置、加载Celery配置、定义发送短信任务、启动Celery服务、调用发送短信任务)
  19. uabntu镜像文件的后缀
  20. win7+ubuntu16.04以及win10+ubuntu18.04双系统安装

热门文章

  1. 控制导弹发射的计算机应用属于,计算机应用基础复习资料
  2. MSCKF(二)——预测部分
  3. c++版本cef详细使用
  4. 搭建 NS 域名解析服务器
  5. 计算机需要什么才能连接网络,计算机必须安装网卡,才可以连接到Internet 。
  6. Portraiture 4.0.3 for windows/Mac简体中文版(ps人像磨皮滤镜插件)
  7. maya腿的蒙皮旋转枢轴_MAYA动画:用驱动关键帧实现旋转门效果
  8. Spring Cloud Alibaba —— 服务注册与配置中心
  9. python的datetime.strptime_Python中的时间函数datetime.strptime()参数顺序的问题
  10. 优酷的视频地址获取接口