首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从包含luks加密卷组的.img中挂载逻辑卷

从包含luks加密卷组的.img中挂载逻辑卷
EN

Ask Ubuntu用户
提问于 2013-09-20 08:58:00
回答 2查看 4.7K关注 0票数 0

我在恢复加密文件系统的备份时遇到了一些问题。备份是一个包含单个磁盘分区的.img文件.此分区是一个逻辑卷组“vg”驻留的luks容器。在这个卷组中,我有两个逻辑卷,lv-crypt-root和lv-crypt-交换。

在我的新Ubuntu安装中,我按照以下步骤进行

代码语言:javascript
复制
cryptsetup luksOpen /media/lars/SHD/disk.img backup

帕斯沃德..。为了检查逻辑卷组是否被识别,我输入:

代码语言:javascript
复制
pvs

这告诉我:

代码语言:javascript
复制
  PV                 VG      Fmt  Attr PSize   PFree  
/dev/mapper/backup vgcrypt lvm2 a--  151,11g 196,00m
/dev/mapper/tphd   vgtphd  lvm2 a--  151,11g 116,00m

到目前为止,我的当前根卷(tphd或vgtphd)已经被识别,而我的备份vg (备份或vgcrypt)现在可以查看备份卷中的lv:

代码语言:javascript
复制
lvdisplay /dev/vgcrypt

..。

代码语言:javascript
复制
      --- Logical volume ---
  LV Path                /dev/vgcrypt/lv-crypt-root
  LV Name                lv-crypt-root
  VG Name                vgcrypt
  LV UUID                Nc4vsK-IcqB-l2S1-iyIJ-rSOj-vzqt-osGcn5
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-06-19 10:40:44 +0200
  LV Status              suspended
  # open                 0
  LV Size                147,12 GiB
  Current LE             37663
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:5

  --- Logical volume ---
  LV Path                /dev/vgcrypt/lv-crypt-swap
  LV Name                lv-crypt-swap
  VG Name                vgcrypt
  LV UUID                ExEizv-aHCn-ZG1Q-nqj5-jSQE-NKYG-2RKyVb
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-06-19 10:41:14 +0200
  LV Status              suspended
  # open                 0
  LV Size                3,80 GiB
  Current LE             973
 ..... bla bla

结论,左室是公认的。

这就是问题开始的地方,我尝试挂载lv:

代码语言:javascript
复制
mount /dev/vgcrypt/lv-crypt-root /mnt/lvm/

给我

代码语言:javascript
复制
mount: special device /dev/vgcrypt/lv-crypt-root does not exist

当确保它是活动的时候:

代码语言:javascript
复制
vgchange -ay /dev/vgcrypt

我拿到了这个:

代码语言:javascript
复制
  device-mapper: resume ioctl on  failed: Invalid argument
  Unable to resume vgcrypt-lv--crypt--root (252:5)
  device-mapper: resume ioctl on  failed: Invalid argument
  Unable to resume vgcrypt-lv--crypt--swap (252:6)
  2 logical volume(s) in volume group "vgcrypt" now active

我完全不知道这意味着什么,所以我开始搜索,也许我应该用vgexport导出灭活的vg,所以:

代码语言:javascript
复制
vgchange -an /dev/vgcrypt
  Attempted to decrement suspended device counter below zero.
  Attempted to decrement suspended device counter below zero.
  0 logical volume(s) in volume group "vgcrypt" now active

代码语言:javascript
复制
vgexport vgcrypt
  Volume group "vgcrypt" has active logical volumes

我觉得很矛盾。

谁能给我指明正确的方向?如能提供任何帮助,将不胜感激:)

P.S.刚刚查看了syslog,似乎与此相关,但对我来说没有什么意义:

(过滤掉wifi信息:)

代码语言:javascript
复制
cat /var/log/syslog | grep kernel | grep -v wlan | grep -v cfg80211 | tail -n 40 | cut -f 5-90 -d " "

kernel: [58297.025013] device-mapper: table: 252:8: linear: dm-linear: Device lookup failed
kernel: [58297.025023] device-mapper: ioctl: error adding target to table
kernel: [58297.026024] device-mapper: table: 252:8: linear: dm-linear: Device lookup failed
kernel: [58297.026030] device-mapper: ioctl: error adding target to table
kernel: [58297.026901] device-mapper: table: 252:8: linear: dm-linear: Device lookup failed
kernel: [58297.026907] device-mapper: ioctl: error adding target to table
kernel: [58297.077530] device-mapper: multipath: version 1.5.1 loaded
kernel: [59654.867358] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [59654.867994] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [59655.179856] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [59655.180623] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [59776.851223] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [59776.851860] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [59777.149049] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [59777.149561] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [60837.153424] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [60837.154789] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [61508.827915] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [61508.831243] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [61514.020906] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [61514.021532] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
kernel: [61514.311394] device-mapper: table: 252:5: dm-7 too small for target: start=2048, len=308535296, dev_size=284453912
kernel: [61514.311906] device-mapper: table: 252:6: dm-7 too small for target: start=308537344, len=7970816, dev_size=284453912
EN

回答 2

Ask Ubuntu用户

发布于 2013-09-20 11:19:15

LVM没有打开您的LVM,这在lvdisplay输出(挂起)中已经很明显了。设备-mapper输出还有一些额外的细节:两个设备因为其中一个组件丢失而无法激活;另外两个设备由于支持设备太小而无法激活。后面的消息具有与失败的vgchange匹配的设备编号。

我猜你的备份映像被截断了。

要获得更多信息:

代码语言:javascript
复制
sudo vgchange --refresh
sudo pvs --partial --verbose
sudo lvs --partial --segments -o+devices vgcrypt/lv-crypt-root
sudo blockdev --getsize64 /dev/mapper/backup
sudo pvdisplay --units=b /dev/mapper/backup

第一个命令强制重读存储在您的LV上的VG元数据,第二个命令列出了所有的LV,包括任何丢失的LV,第三个命令提供了更详细的LV和数据所在的信息。最后两个比较了PV的预期大小和实际大小。

票数 1
EN

Ask Ubuntu用户

发布于 2014-07-09 08:19:57

我用以下步骤解决了这个问题:

  • 检查物理分区的大小(分割)。/dev/sda5 5)小于lvm物理卷(PV扫描)
  • 禁用lvm pvchange -an
  • 使用fdisk -l,为每个分区编写起始块。
  • 用fdisk删除分区(即。/dev/sda5 5)并编写更改
  • 使用fdisk创建相同类型的新分区(主分区、逻辑分区),从与前一个块完全相同的块开始,并创建一个比以前更远的结束块(如果可以完成整个磁盘),然后将类型更改为Linux (8e),将更改写入磁盘。
  • 检查第1步的大小
  • 启用lvm pvchange -ay
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/347856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档