挂载 LVM2 卷给我“挂载:您必须指定文件系统类型”

Jon*_*sVH 2 debian mount lvm xen

我有一个 LVM2 卷组“vgXEN”,其中有一个名为“test-disk”的逻辑卷。
这是lvdisplay的输出:

--- Logical volume ---
LV Path                /dev/vgXEN/test-disk
LV Name                test-disk
VG Name                vgXEN
LV UUID                lHSgfx-wnY2-OtRO-zw7l-9SFA-mnht-KgK9MO
LV Write Access        read/write
LV Creation host, time DRAKE, 2013-08-26 12:02:08 +0200
LV Status              available
# open                 0
LV Size                10.00 GiB
Current LE             2560
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     4096
Block device           253:4
Run Code Online (Sandbox Code Playgroud)

这是lvscan的输出:

ACTIVE            '/dev/vgXEN/test-disk' [10.00 GiB] inherit
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用命令挂载此逻辑卷时,出现错误:

mount /dev/vgXEN/test-disk /mnt/test
mount: you must specify the filesystem type
Run Code Online (Sandbox Code Playgroud)

我的操作系统是“Linux DRAKE 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux”。
搜索互联网,但找不到任何有用的东西。有人能指出我正确的方向吗?谢谢 !

更新

整个问题与存储 XEN 图像以及我想备份它们的方式有关(通过快照/挂载)。您可以在下面阅读我做错了什么以及应该如何做。

我做错了什么我为
每个 XEN 映像创建了 1 个逻辑卷,从而将磁盘和交换分区存储到 1 个 LV:

逻辑卷-A

xvda1(磁盘)
xvda2(交换)

当您尝试挂载此 LV 时,它会告诉您“挂载:您必须指定文件系统类型”,当然没有任何反应。这是因为挂载程序不知道如何读取 LV 内的分区表,如以下答案中所述。

实现方法为
每个分区创建 1 个逻辑卷,从而将磁盘存储到 1 个 LV,将分区存储到 1 个 LV:

逻辑卷-A

xvda1(磁盘)

逻辑卷-B

xvda2(交换)

现在可以格式化这些逻辑卷并将它们用作图像存储。格式化后,您还可以使用这个简单的命令挂载它们

mount /dev/vgXEN/test-disk /mnt/test
Run Code Online (Sandbox Code Playgroud)

jof*_*fel 6

Xen 映像可能包含一个或多个分区,因此包含一个分区表,因此您无法直接挂载它。

运行file -Ls /dev/vgXEN/test-disk以获取有关此信息。如果输出包含“引导扇区”和“分区”的内容,您可以尝试

kpartx -av /dev/vgXEN/test-disk
Run Code Online (Sandbox Code Playgroud)

它在 /dev/mapper 中为每个分区创建一个新设备。然后,您可以直接挂载这个新分区,或者如果映像中有 LVM 等,则需要执行进一步的步骤。可能还有一个无法挂载的交换分区。您可以从上面对它们运行 file 命令以获取更多信息。