设备映射器线性文档参数

设备映射器线性文档参数

以下是使用线性设备映射器的文档:https://www.kernel.org/doc/Documentation/device-mapper/linear.txt

我正在尝试理解这个文档。它说它需要两个参数:开发路径和偏移量。然而,我发现的所有示例都在 之前和之后显示了其他内容linear。您可以在文档和此处查看示例:http://pig.made-it.com/devicemapper.html

这是最后一个链接的示例:

echo 0 $(blockdev --getsize /dev/loop1) linear /dev/loop1 0 > /tmp/onedisk SIZE1=$(blockdev --getsize /dev/loop1) SIZE2=$(blockdev --getsize /dev/loop2) echo ${SIZE1} ${SIZE2} linear /dev/loop2 0 >> /tmp/onedisk dmsetup create twoasone /tmp/onedisk

据我所知,第一行正在获取一些内容的输出并将其放入 /tmp/onedisk 中。为什么 Linear 前面有东西,它有什么作用?

好吧,我已经研究这个有一段时间了。我的猜测是,这基本上是要回显的三个参数。

  1. 0
  2. $(blockdev --getsize /dev/loop1)
  3. linear /dev/loop1 0

echo 的输出然后存储在 /tmp/onedisk 中。 tmp/ondisk 的内容最终成为 dmsetup create 的参数。这是正确的吗?如果我想了解为什么 0 和大小存储在 /tmp/onedisk 的开头,我真的需要查看 dmsetup create 的文档吗?

答案1

在上面示例的第一行中,线性从未实际运行。这一切都只是被回响到/tmp/onedisk。我知道这一点是因为 的输出tmp/onedisk非常类似于

0 2048 线性 /dev/loop0 0

直到最后一行才使用线性。最后一行使用 create 命令运行 dmsetup。 Twoasone 是传递给 create 命令的设备名称。/tmp/onedisk也作为包含表格式传递给创建命令。所以线性实际上是一个表格格式选项。您可以通过运行从 dmsetup 手册中查看有关它的更多信息man dmsetup。在“表格格式”部分下查找“线性”。

相关内容