/dev/loop设备
所谓Loop,本意为循环,这里的“循环设备”在类Unix系统中指的是将一个镜像文件映射成为一个设备文件。最明显的用途就是虚拟光驱、虚拟软驱、挂载 ISO及文件、挂载磁盘映像等。
//生成一个块大小为512k, 且有100k个块(Blocks)的空白文件

显示被隐藏内容
1、 查看被使用的loop设备
# sudo /sbin/losetup -a
2、通 过进程状态查看被使用的loop设备
# ps -ef | grep loop
注意:loop是有内核拥有,因此如果某个loop设备出故障而不能正常删除时,将无法从内核中移除,从而导致该设备无法再被使用,而losetup可能 查看不到该设备在被使用,而使用ps却可以。这种情况将导致某些操作无法继续,如创建新的XEN虚拟机挂载磁盘文件等。
3、删除已停止的loop设备
# sudo /sbin/losetup -d /dev/loopx (x表示要被删除的loop设备编号)
4、查看某个loop设备的信息
# sudo /sbin/losetup /dev/loopx (x表示要被删除的loop设备编号)
5、查看已 被使用中的loop设备
# sudo /sbin/losetup -f
更多用法详见man losetup
6、loop设备数不够用时的处理
Linux老内核只支持8个loop设备被编译到内核,因此缺省情况下你只能在一个网络上共享8个CD,所以如果你想支持更多的loop设备,你必须修改 内核源码,并从新编译一个新的内核。
而从Linux 2.4的内核开始,内核运行通过编辑/etc/modules.conf或使用一个引导参数来修改支持的loop设备数。因此要修改内核支持的loop设 备数,首先请确认当前使用的内核版本:
# uname -a
或 # cat /proc/version
下面以新内核为例来添加支持更多的loop设备:
(1)通过编辑 /etc/modules.conf,添加以下内容
options loop max_loop = 64 # 让内核支持64个loop设备
用以下方式使设置生效
1)卸载所有使用中loop设置,以使用系统中的loop设备变为空闲且可用
2)#rmmod loop
3)#insmod loop
4)如果采用前三步没有成功的使用设置生效,那么请重新启动系统。
(2)通过设置引导参数实现
如果loop设备支持已经被编译到内核,但没有作为模块导入,则可以在安装时设定:
boot: linux max_loop=64
或者在引导参数/boot/grub.conf(这里以Grub引导管理为例)加入以下语句
append="max_loop=64"
(3) 通过重新编译内核实现
编辑内核源码文件/usr/src/linux/drivers /block/loop.c,找到以下语句并修改为打算支持的loop设备数:
#define MAX_LOOP 16
然后重新编译内核既可。
(4) 在/dev里创建loop设备
1)首先检测系统中已经有多少loop设备:
#ls -l /dev/loop*
2)创建新的loop设备(可创建的最大数为前面设置的 最大值):
#mknod -m660 /dev/loop8 b 7 8 # 这里以创建loop8为例
注意:mknod用于在/dev目录下创建设 备。loop设备有一个主版本号“7”,并且最小编号从0开始。
3)修改loop设备所属的用 户和组:

隐藏内容
该内容已经被作者隐藏,只有会员才允许查阅
登录 |
注册
#chown root.disk /dev/loop8
4)修改loop设备的权限:
#chmod 666 /dev/loop8