注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

笑遍世界@网易博客

明天还会在路上……

 
 
 

日志

 
 
关于我

Stay hungry, stay foolish. 工作用脑,生活用心! 走过山重水复,必然迎来柳暗花明! 受苦的人没有悲观的权利,远征的人没有流泪的资格。 Live each day as if we should die tomorrow.

网易考拉推荐
 
 

“mount: could not find any free loop device”解决方案  

2011-10-17 23:38:50|  分类: Linux技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在一次关于KVM的测试中,这个命令:mount -o offset=16384 /share/xvs/var/tmep.img /mnt
得到如下错误提示信息:
mount: could not find any free loop device

表示loop Device以已经用完。最简单有效的方法是释放一些被占用的loop device,可以用如下命令:
losetup -d /dev/loop7 
(当然这里的loop7根据自己的情况来选择释放哪个loop device)

ll /dev/loop*   #查看有哪些loop deive
losetup -a   #show status of all loop devices
losetup /dev/loop0   #如果该设备loop已被使用,则会得到如下的提示
/dev/loop0: [0801]:266646 (/share/xvs/var/tmp-img_VTD_ASS_04_131), offset 16384
losetup /dev/loop6   #如果该设备loop未被使用,则会得到如下的提示
loop: can't get info on device /dev/loop6: No such device or address
losetup -d /dev/loop7     #detach the file or device associated with the specified loop device(s)

It is possible to increase the number of available loop devices. Free all loop devices, and add a line with the following to /etc/modprobe.conf(有的系统中是:/etc/modprobe.d/modprobe.conf):
options loop max_loop=64

或者直接运行命令(重启后将失效):
rmmod loop; modprobe loop max_loop=64

或者再grub中添加:
max_loop=64  #在kernel的启动行

和loop device相关的重要源代码文件为loop.c,里面有关于max_loop等的具体设置和实现:
drivers/block/loop.c

我用kvm时,loop device没有解除连接的问题,有人说qemu/KVM的问题,也有人说是mount工具自己的问题;有空再研究下吧,也许是qemu-kvm在guest关闭之时没有将资源释放完全。

参考资料:
https://github.com/dagwieers/mrepo/blob/master/docs/loop-devices.txt
http://lists.linuxcoding.com/rhl/2007q2/msg12780.html
  评论这张
 
阅读(3593)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017