之前一直使用vbox虚拟了很多系统,安装一些开发中常用的工具,不同的项目进行不同的划分。但最近突然因为物理磁盘IO异常导致虚拟硬盘无法正常读取,更不要说系统正常启动了。于是便想利用另外一个能启动的系统,把这个虚拟盘挂载上去,看看能不能读取到数据。
1、在新的vbox上添加原有虚拟硬盘,并启动新虚拟机
2、查看硬盘设备fdisk-l
显示如下:磁盘/dev/sda:1099.5GB,1099511627776字节,2147483648个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘标签类型:dos
磁盘标识符:0x000cde78
设备BootStartEndBlocksIdSystem
/dev/sda1*204841164720480083Linux
/dev/sda2411648214748364710735360008eLinuxLVM
磁盘/dev/sdb:1099.5GB,1099511627776字节,2147483648个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘标签类型:dos
磁盘标识符:0x000cde78
设备BootStartEndBlocksIdSystem
/dev/sdb1*204841164720480083Linux
/dev/sdb2411648214748364710735360008eLinuxLVM
磁盘/dev/mapper/centos-root:1082.1GB,1082117849088字节,2113511424个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘/dev/mapper/centos-swap:17.2GB,17179869184字节,33554432个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
可以看到原有硬盘应该为sdb,于是乎,想通过mount进行挂载:mount/dev/sdb2/old/
结果显示:mount:未知的文件系统类型“LVM2_member”
2、因为Linux(笔者环境为Centos7)安装时使用LVM2导致无法直接挂载。执行以下命令安装lvm2的工具yuminstall-ylvm2
安装完成以后,可以执行以下命令查看逻辑卷属性lvdisplay
显示:WARNING:founddevicewithduplicate/dev/sdb2
WARNING:DisablinglvmetadcachewhichdoesnotsupportduplicatePVs.
WARNING:ScanfoundduplicatePVs.
WARNING:Notusinglvmetadbecausecacheupdatefailed.
WARNING:Notusingdevice/dev/sdb2forPVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.
WARNING:PVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWiprefersdevice/dev/sda2becauseofpreviouspreference.
---Logicalvolume---
LVPath/dev/centos/swap
LVNameswap
VGNamecentos
LVUUIDg5h0m2-JoYP-6Fdl-ds6d-B4Cs-XESA-aBkVNs
LVWriteAccessread/write
LVCreationhost,timelocalhost,-02-0802:54:19+0800
LVStatusavailable
#open2
LVSize16.00GiB
CurrentLE4096
Segments1
Allocationinherit
Readaheadsectorsauto
-currentlysetto8192
Blockdevice253:1
---Logicalvolume---
LVPath/dev/centos/root
LVNameroot
VGNamecentos
LVUUID66oHyc-me8P-C3c0-gh0D-xjI9-Q72H-6ciKCJ
LVWriteAccessread/write
LVCreationhost,timelocalhost,-02-0802:54:19+0800
LVStatusavailable
#open1
LVSize1007.80GiB
CurrentLE257997
Segments1
Allocationinherit
Readaheadsectorsauto
-currentlysetto8192
Blockdevice253:0
发现两块硬盘"LV Name"是一样的,这也就是导致旧硬盘无法挂载的原因。
同时执行以下命令查看有关卷组的信息vgs
显示:WARNING:NotusinglvmetadbecauseduplicatePVswerefound.
WARNING:UsemultipathorvgimportclonetoresolveduplicatePVs?
WARNING:Afterduplicatesareresolved,run"pvscan--cache"toenablelvmetad.
WARNING:Notusingdevice/dev/sdb2forPVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.
WARNING:PVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWiprefersdevice/dev/sda2becausedeviceisusedbyLV.
VG#PV#LV#SNAttrVSizeVFree
centos120wz--n-1023.80g0
或者执行以下命令输出格式化的物理卷信息报表pvs
显示:WARNING:NotusinglvmetadbecauseduplicatePVswerefound.
WARNING:UsemultipathorvgimportclonetoresolveduplicatePVs?
WARNING:Afterduplicatesareresolved,run"pvscan--cache"toenablelvmetad.
WARNING:Notusingdevice/dev/sdb2forPVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.
WARNING:PVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWiprefersdevice/dev/sda2becausedeviceisusedbyLV.
PVVGFmtAttrPSizePFree
/dev/sda2centoslvm2a--1023.80g0
三者输出差不多,都是提示”WARNING: PV rYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi prefers device /dev/sda2 because device is used by LV.“,同”lvdisplay“输出信息一样。
根本原因是因为它们的卷名称一样导致的。
3、重命名旧硬盘卷名称vgimportclone-nnewcentos/dev/sdb2
输出:WARNING:Notusingdevice/dev/sdb2forPVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWi.
WARNING:PVrYCqeK-0fJp-Fs32-7u30-hlvz-Utqa-h0jlWiprefersdevice/dev/sda2becausedeviceisusedbyLV.
扫描设备上的LVM物理卷和卷组,并指示lvmetad守护进程相应地更新其缓存状态:pvscan--cache
再次执行"pvs"命令,显示如下:PVVGFmtAttrPSizePFree
/dev/sda2centoslvm2a--1023.80g0
/dev/sdb2newcentoslvm2a--1023.80g0
可以看到sdb2的卷组名称已改为"newcentos"。
接下来使用vgchange命令将卷组状态改为活动的,命令如下:vgchangenewcentos-ay
显示:2logicalvolume(s)involumegroup"newcentos"nowactive
这时再次使用"lvs"查看时显示:LVVGAttrLSizePoolOriginData%Meta%MoveLogCpy%SyncConvert
rootcentos-wi-ao----1007.80g
swapcentos-wi-ao----16.00g
rootnewcentos-wi-a-----1007.80g
swapnewcentos-wi-a-----16.00g
这样,原有硬盘的卷组也就重命名和设置为活动了
4、挂载原有硬盘
先查看硬盘信息,命令如下:fdisk-l
显示:磁盘/dev/sda:1099.5GB,1099511627776字节,2147483648个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘标签类型:dos
磁盘标识符:0x000cde78
设备BootStartEndBlocksIdSystem
/dev/sda1*204841164720480083Linux
/dev/sda2411648214748364710735360008eLinuxLVM
磁盘/dev/sdb:1099.5GB,1099511627776字节,2147483648个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘标签类型:dos
磁盘标识符:0x000cde78
设备BootStartEndBlocksIdSystem
/dev/sdb1*204841164720480083Linux
/dev/sdb2411648214748364710735360008eLinuxLVM
磁盘/dev/mapper/centos-root:1082.1GB,1082117849088字节,2113511424个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘/dev/mapper/centos-swap:17.2GB,17179869184字节,33554432个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘/dev/mapper/newcentos-swap:17.2GB,17179869184字节,33554432个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):512字节/512字节
I/O大小(最小/最佳):512字节/512字节
磁盘/dev/mapper/newcentos-root:1082.1GB,1082117849088字节,2113511424个扇区
Units=扇区of1*512=512bytes
扇区大小(逻辑/物理):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:filteringviaarp/ip/ip6tablesisnolongeravailablebydefault.Updateyourscriptstoloadbr_netfilterifyouneedthis.
[6.057797]NetfiltermessagesviaNETLINKv0.30.
[6.063125]ip_set:protocol6
[6.590940]floppy0:nofloppycontrollersfound
[6.590987]workstillpending
[7.299956]IPv6:enp0s3:IPv6duplicateaddressfe80::afbb:c491:1873:8741detected!
[7.619362]IPv6:enp0s3:IPv6duplicateaddressfe80::10d4:9f90:6570:93a2detected!
[8.641373]IPv6:enp0s3:IPv6duplicateaddressfe80::b778:7075:b40:bc9fdetected!
[2161.199751]XFS(dm-3):FilesystemhasduplicateUUIDc23bf14e-b7b7-4947-8b65-d73fe367d9b7-can'tmount
[2175.720687]XFS(dm-3):FilesystemhasduplicateUUIDc23bf14e-b7b7-4947-8b65-d73fe367d9b7-can'tmount
经查找方法如下:mount-orw,nouuid/dev/mapper/newcentos-root/old/
这样也就可以正常挂载硬盘分区了。不过笔者发现之前的数据在该目录中还是不存在,不知何故,后面继续研究。
参考:
/skyshao/p/11663914.html