我正在尝试将一个从旧 EC2 中获取的卷安装到新的 EC2 实例上,但是,这个卷有一个“LVM2_member”的文件系统类型未知。我用原始卷尝试了所有这些,然后我从快照中创建了一个卷,以为它不会是 LVM2_member,但它是相同的,但没有卷的嵌套结构。我找到了一些说明这里但显然这并不完全适用于这个,因为它没有被视为一个组或者我的语法是错误的,或者是其他完全不同的东西。无论我从哪里找到页面尝试的所有内容都由于这样或那样的原因而不起作用。有一点需要注意,这个卷的主人说他认为这最初是与另一个同事共享的卷。那位同事有一个名称相似的卷,但没有安装在他的 EC2 上,他忽略了它。我不知道这种情况应该是多久以前发生的。我尝试安装的这个人的卷已成功安装,他认为他正在使用它。
我将介绍我尝试过的步骤。
步骤1:附加卷
第2步: lsblk
# 将显示根卷和我尝试过的其他卷。我的是
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme4n1 259:6 0 100G 0 disk
步骤3: blkid
# 获取卷的 UUID 并显示类型
/dev/nvme4n1: UUID="n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12" TYPE="LVM2_member"
步骤4:如果我尝试安装它:mount n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12 /data
mount: special device n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12 does not exist
步骤5:查找该消息表明我需要确保它在我的 /etc/fstab 文件中。
vim /etc/fstab
是的,它在那里,因为我把它放在那里,但类型“LVM2_member”不是绿色,因为其他卷的类型是绿色。因此未知类型错误可能是因为类型未被识别。
UUID=n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12 /home/ec2-user/data LVM2_member defaults,nofail 0 2
步骤6: pvs
# 显示我设备上的物理卷
PV VG Fmt Attr PSize PFree
/dev/dsa12 VolGroup00 lvm2 a-- 99.53g 19.00g
/dev/sdi VolGroup00 lvm2 a-- <100.0g <27.00g
[unknown] VolGroup00 lvm2 a-m 19.53g 0
我知道 /dev/sdi 是我要附加的卷。所以我们看到有一个重复的卷组名称,而且我已经知道它们有不同的 UUID。
步骤7: lvs VolGroup00 --config 'devices { filter=["a|/dev/sdi|", "r|.*|"]}'
Couldn't find device with uuid c61234-9Mab-P12a-kabc-nab1-Fabc1-t1abcd.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
auditVol VolGroup00 -wi-----p- 8.53g
dataVol VolGroup00 -wi-a----- 5.00g
homeVol VolGroup00 -wi-----p- 20.00g
logVol VolGroup00 -wi-----p- 4.00g
rootVol VolGroup00 -wi-----p- 40.00g
swapVol VolGroup00 -wi-----p- 2.00g
tmpVol VolGroup00 -wi------- 4.00g
varVol VolGroup00 -wi-----p- 9.00g
/dev/sda12 显示类似信息,但没有“找不到 xxx”。
步骤8: vgs -o +vg_uuid --config 'devices {filter = ["a|/dev/sdi|", "r|.*|" ]}'
# 获取卷 ID
VG #PV #LV #SN Attr VSize VFree VG UUID
VolGroup00 2 8 0 wz-pn- <119.53g <27.00g jmt123-iabc-babc-Uabc-rabc-habc-gabcdef.
步骤9: vgrename jmt123-iabc-babc-Uabc-rabc-habc-gabcdef volnew
# 使用 uuid 重命名卷
Couldn't find device with uuid c61234-9Mab-P12a-kabc-nab1-Fabc1-t1abcd.
Cannot change VG VolGroup00 while PVs are missing.
Consider vgreduce --removemissing.
Cannot process volume group VolGroup00
步骤10: vgreduce --removemissing jmt123-iabc-babc-Uabc-rabc-habc-gabcdef
# 删除缺失的 PV
Cannot process volume group jmt123-iabc-babc-Uabc-rabc-habc-gabcdef
步骤11: vgreduce jmt123-iabc-babc-Uabc-rabc-habc-gabcdef c61234-9Mab-P12a-kabc-nab1-Fabc1-t1abcd
# 我甚至尝试使用丢失的 PV 的 id 来执行该命令。
Volume group "jmt123-iabc-babc-Uabc-rabc-habc-gabcdef" not found
Cannot process volume group jmt123-iabc-babc-Uabc-rabc-habc-gabcdef
步骤12:我找到了这个关联讨论了恢复 Linux 的 LVM 元数据。 # 它显示了某些执行(例如和对卷 id、n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12 的引用)cat /etc/lvm/archive/* | grep -i “jmt123-iabc-babc-Uabc-rabc-habc-gabcdef”
之前卷组的历史记录。vgchange
vgimport
步骤13: pvcreate --uuid "n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12" --restorefile /etc/lvm/backup/VolGroup00 /dev/sdi
Couldn't find device with uuid n91234-wabc-Ua12-kabc-cabc-Gabc-oabc12.
Can't find uuid in backup file /etc/lvm/backup/VolGroup00
我认为该文件中没有任何内容。我实际上无法 cd 到备份文件夹,但如果我,ls /etc/lvm/backup
它会显示VolGroup00
。因此,vim 到文件名 VolGroup00 显示它是空的。
现在我已经没有主意了,也找不到其他页面/线程可以为我提供进一步的想法,以便在他的 EC2 实例上继续安装这个卷。
我的最终目标是创建数据的 tar 文件并将其上传到 S3 存储桶,然后终止该卷。