为具有唯一名称的常规文件提供循环设备功能

为具有唯一名称的常规文件提供循环设备功能

我想将一些带有文件系统的映像文件添加到 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] 中的数字下提供资源更多是一个优雅的问题

相关内容