首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查dm节点的内容?

如何检查dm节点的内容?
EN

Unix & Linux用户
提问于 2020-08-30 12:39:11
回答 1查看 609关注 0票数 1

是否可以以某种方式检查LVM的dm(即dm-0、dm-1、dm-2、dm-3等)的含量?节点?

我之所以问这个问题,是因为我迫切需要从我的Linux系统中恢复大量数据,我想我可以在这些节点中找到它。

(如果我的数据不在其余可见的dm节点中,我将假设我必须雇用一名法医IT技术人员来扫描所有硬盘。)

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-08-30 15:14:13

如果您需要知道各个/dev/dm-*节点对应的是什么,dmsetup ls -o blkdevname会告诉您。

如果您需要知道每个dm-X节点涉及哪个物理设备(S),dmsetup ls --tree -o blkdevname应该是有帮助的。

如果您的dmsetup已经足够老到不支持-o blkdevname选项,您可以省略它,然后您将看到(major:minor)表单中的设备编号。只需运行ls -l /dev/dm-*,您将看到设备编号代替major, minor表单中的文件大小。

要识别每个映射的类型,dmsetup table可能会有所帮助。

每个dm-X设备节点的“内容”就是通过映射查看的底层设备(S)的内容。您可以使用file -s /dev/dm-X来尝试和标识文件系统的类型(可能是标签和UUID)。如果设备上有一个文件系统,您可以简单地挂载它,然后像往常一样访问它--假设一切都正常工作。但是既然你提到了恢复这个词,我怀疑你有什么东西,像一个失败的磁盘复杂的情况。

因此,这里有一些提示,以备您在康复情况下需要它们时:

如果失败的系统仍在运行,请尝试在重新启动系统之前获取dmsetup table信息,如果可能的话。如果系统已经重新启动,/etc/lvm/backup将以人类可读的形式包含当前LVM配置的备份,而/etc/lvm/archive包含许多以前配置更改之前的配置备份。

linear是最简单的映射,它将一段磁盘块映射到其他磁盘设备上,并将大小相同的映射映射到其他磁盘设备上。LVM使用linear映射,除非在创建LV时显式地指定更高级的东西(如条纹或镜像)。

例如,如果您运行dmsetup table /dev/dm-3并且它告诉您如下:

代码语言:javascript
复制
0 293601280 linear 8:1 2048
293601280 209715200 linear 8:1 817891328

这意味着器件dm-3由两个线性映射组成。首先(从dm-3的块#0开始)是从块#2048开始线性映射到设备8:1 (块设备,主要数字8,小1= /dev/sda1)的293601280块的延伸。第二个映射从dm-3的第293601280块继续,扩展为209715200块,然后线性映射到/dev/sda1,从块817891328开始。这就是曾经扩展过的基本LVM逻辑卷在被视为dmsetup table时的样子。

若要将dm-3中包含的文件系统复制到映像文件或其他设备,可以运行两个dd命令:(如果磁盘故障,则运行ddrescue )。

代码语言:javascript
复制
dd if=/dev/sda1 bs=512 skip=2048 count=293601280 >/rescue/image
dd if=/dev/sda1 bs=512 skip=817891328 count=209715200 >>/rescue/image

在正常情况下,这完全等同于简单地做

代码语言:javascript
复制
dd if=/dev/dm-3 bs=512 >/rescue/image

首先。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/607056

复制
相关文章

相似问题

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