LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3612|回复: 8

loop设备数量用尽了?[已解决]

[复制链接]
发表于 2009-7-31 11:31:23 | 显示全部楼层 |阅读模式
报错:
mount: could not find any free loop device

已经mount了8个iso,现在mount第9个iso时报上面的错。
何故?有解否?怎解?请大家指教,谢谢!
发表于 2009-7-31 13:22:44 | 显示全部楼层
Post by 糊涂;2011170
报错:
mount: could not find any free loop device

已经mount了8个iso,现在mount第9个iso时报上面的错。
何故?有解否?怎解?请大家指教,谢谢!


man losetup
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-31 18:07:05 | 显示全部楼层
Post by vsu;2011217
man losetup

LOSETUP(8)                                                     MAINTENANCE COMMANDS                                                    LOSETUP(8)



NAME
       losetup - 设 定 与 控 制 环回设备

总览 SYNOPSIS
       losetup [ -e encryption ] [ -o offset ] loop_device file
       losetup [ -d ] loop_device

描述
       losetup 用 来 将 loop device 与 档 案 或 block device 联 结 、 分 离 . 以 及 查 询 loop device 目 前 的 状 况 , 如 只 给 定 loop_device 的
       参 数 . 则 秀 出 loop device 目 前 的 状 况 .

选项 OPTIONS
       -d     将 某 个 档 案 或 装 制 与 loop 装 置 分 离

       -e encryption
              启 动 资 料 编 码 . 下 列 为 可 用 的 选 项 参 数 :启 动 资 料 编 码 . 下 列 为 可 用 的 选 项 参 数 :

              NONE   不 编 码 ( 定 义 值 ) .
              XOR    使 用 简 易 的 XOR 编 码
              DES    使 用 DES 编 码 . DES 编 码 须 在 kernel 上 加 上 DES 编 码 功 能 . DES 编 码 是 利 用 启 始 值 做 为 密 码 保 护 来 防   止
                     他 人 用 字 典 功 击 法 破 解 .

       -o offset
              资 料 开 启 时 资 料 平移(offset) 几 个 bytes 来 与 档 案 或 装 置 联 接

返回值 RETURN VALUE
       losetup  returns  0  on  success, nonzero on failure. When losetup displays the status of a loop device, it returns 1 if the device is not
       configured and 2 if an error occurred which prevented losetup from determining the status of the device.


文件 FILES
       /dev/loop0,/dev/loop1,...   loop devices [color="Red"](major=7)

看来我没救了!不甘心啊!
回复 支持 反对

使用道具 举报

发表于 2009-7-31 19:03:59 | 显示全部楼层
我看错了。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-31 19:41:01 | 显示全部楼层
Post by yourfriend;2011301
我看错了。。。。

老大,咱不带这么晃颠人的啊~~~~看见你跟帖了俺才跑回来~~~~
回复 支持 反对

使用道具 举报

发表于 2009-7-31 20:32:59 | 显示全部楼层
转发:
http://tilt.lib.tsinghua.edu.cn/node/310
  1. 昨天在mount镜像文件时,发生如下错误:
  2. mount: could not find any free loop device.
  3. 虽然系统中并没有挂载其他镜像文件,但仍然发生了这个错误,初步怀疑可能与在系统上运行Xen虚拟机有关。尽管如此,仍然在网上搜索了如何增加loop设备数量的方法,希望能够在线增加loop设备数量。
  4. RHEL 5和RHEL 4的方法:
  5. The loop module on RHEL 5 and RHEL 4 allows 8 loop devices by default. To increase the number of loop devices to 64, for example, add the following to /etc/modprobe.conf:
  6. options loop max_loop=64
  7. The maximum value of max_loop is 256.
  8. $ls -l /dev/loop* | wc -l
  9. 8
  10. On RHEL 5 and RHEL 4 systems, reloading the loop module will cause the changes (i.e., increasing or decreasing loop devices) in max_loop to take effect.
  11. #/sbin/rmmod loop
  12. #/sbin/modprobe loop
  13. RHEL 3的方法:
  14. he loop module allows 8 loop devices by default. To increase the number, add the following to /etc/modules.conf:
  15. options loop max_loop=64
  16. The maximum value of max_loop is 256.
  17. $ ls -ld /dev/loop* | wc -l
  18. 16
  19. /dev/loop only contains 16 devices, so we need to create additional /dev/loop entries.
  20. #for NUM in $(seq 16 63) ; do mknod -m 0660 /dev/loop$NUM b 7 $NUM ; chown root:disk /dev/loop$NUM; done
  21. The loop module must be removed and reloaded.
  22. #/sbin/rmmod loop
  23. #/sbin/modprobe loop
  24. 通过卸载并重新加载loop模块,理论上可以在线增加loop设备数量。但是系统可能由于运行虚拟机的原因,在执行rmmod loop的时候不成功,所以暂时先修改配置,等以后重启系统后再验证。
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-7-31 21:44:44 | 显示全部楼层
http://www.linuxquestions.org/qu ... vices-going-468123/
的兩個解答:
1.Try passing 'max_loop=64' to your kernel parameters, on 2.6 kernels.

2.try to open /usr/src/linux/drivers/block/loop.c and change
    static int max_loop = 8;
to
    static int max_loop = 64;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-31 23:03:06 | 显示全部楼层
好!好!先谢谢楼上两位。我自己慢慢学,慢慢试,成功了再回来汇报
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-1 20:37:35 | 显示全部楼层

一次成功

已经成功了。方法:
编辑/etc/modprobe.conf.local,增加一行:

options loop max_loop=64

然后重启,即可,请看现在的情况(乱码请无视):
# mount | grep loop
/dev/loop0 on /home/abc/ftp/1/0.锟斤拷锟絀840r-H锟斤拷锟斤拷锟斤拷锟斤拷-V2.8 type iso9660 (rw,iocharset=gb2312)
/dev/loop1 on /home/abc/ftp/1/1.锟斤拷锟斤拷品锟斤拷锟斤拷锟斤拷锟斤拷-A系锟斤拷-V4.2 type iso9660 (rw,iocharset=gb2312)
/dev/loop2 on /home/abc/ftp/1/2.锟斤拷锟絊AS-RAID锟斤拷锟斤拷锟矫癸拷锟斤拷锟斤拷锟斤拷锟斤拷锟剿碉拷锟斤拷锟斤拷 type iso9660 (rw,iocharset=gb2312)
/dev/loop3 on /home/abc/ftp/1/3.锟斤拷锟斤拷锟斤拷锟斤拷锟竭癸拷锟斤拷 type iso9660 (rw,iocharset=gb2312)
/dev/loop4 on /home/abc/ftp/1/4.锟斤拷锟斤拷锟斤拷A系锟叫凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟絍4.5 type iso9660 (rw,iocharset=gb2312)
/dev/loop5 on /home/abc/ftp/1/5.锟斤拷锟斤拷锟斤拷A系锟叫凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟絍4.6 type iso9660 (rw,iocharset=gb2312)
/dev/loop6 on /home/abc/ftp/1/6.锟斤拷锟斤拷小锟酵伙拷锟斤拷锟斤拷V3.1 type iso9660 (rw,iocharset=gb2312)
/dev/loop7 on /home/abc/ftp/1/7.锟斤拷锟斤拷锟斤拷I系锟叫凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟絍5.5 type iso9660 (rw,iocharset=gb2312)
/dev/loop8 on /home/abc/ftp/1/8.锟斤拷锟芥储锟斤拷锟斤拷锟斤拷锟絍8.0 type iso9660 (rw,iocharset=gb2312)
/dev/loop9 on /home/abc/ftp/1/9.锟斤拷锟斤拷锟斤拷A系锟叫凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟絍4.7 type iso9660 (rw,iocharset=gb2312)

再看:
# ll /dev/loop*
brw-rw---- 1 root disk 7,  0 2009-08-01 20:21 /dev/loop0
brw-rw---- 1 root disk 7,  1 2009-08-01 20:21 /dev/loop1
brw-rw---- 1 root disk 7, 10 2009-08-01 20:21 /dev/loop10

......

brw-rw---- 1 root disk 7, 59 2009-08-01 20:21 /dev/loop59
brw-rw---- 1 root disk 7,  6 2009-08-01 20:21 /dev/loop6
brw-rw---- 1 root disk 7, 60 2009-08-01 20:21 /dev/loop60
brw-rw---- 1 root disk 7, 61 2009-08-01 20:21 /dev/loop61
brw-rw---- 1 root disk 7, 62 2009-08-01 20:21 /dev/loop62
brw-rw---- 1 root disk 7, 63 2009-08-01 20:21 /dev/loop63
brw-rw---- 1 root disk 7,  7 2009-08-01 20:21 /dev/loop7
brw-rw---- 1 root disk 7,  8 2009-08-01 20:21 /dev/loop8
brw-rw---- 1 root disk 7,  9 2009-08-01 20:21 /dev/loop9

环境:
# uname -a
Linux ABC 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686 i686 i386 GNU/Linux
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表