我想将一些带有文件系统的映像文件添加到 LVM 卷组中。如果我将它们作为循环设备提供,那么变化非常大,有一天脚本会由于使用的循环设备数量不断增加而被损坏。我不想增加循环设备的数量,而是希望使用循环设备功能(就像我用 来设置它一样losetup
)使用唯一的名称(例如 )来提供该文件/dev/program/my_unique_name
,这样mount -t atype /dev/program/my_unique_name /path/to/mount_point
就可以实现与 一样的功能mount -t atype /dev/loopX /path/to/mount_point
。
背景:我试图通过增加循环设备的数量来实现我想要的东西,X
并开始分配/dev/loopX
,/dev/loopX-1
等等,这看起来很有希望,只要
X - number of images I want to use
系统上使用的循环设备数量少于[1]- 内核性能不会因循环设备数量的增加而受到影响
- 没有人需要类似的功能并开始从最高编号开始分配循环设备 -> 这使脚本代码变得复杂,增加了测试必要性并降低了可维护性
使用可变循环设备是没有问题的,即只需使用 查询下一个空闲块设备losetup -f
,分配文件并使其在唯一名称下可用。
[1] 超过 X 的概率很低,因此在唯一名称下提供资源而不是在 inverval [0;X] 中的数字下提供资源更多是一个优雅的问题