linux增加loop设备上限
一般在linux中会有8个loop设备,一般是/dev/loop0~loop7,可用通过losetup -a查看所有的loop设备,如果命令没有输出就说明所有的loop设备都没有被占用。而如果8个loop设备不够用,会提示”mount: could not find any free loop device”,但可以通过修改内核启动参数,增加loop设备的数量的。由loop设备的增加比较简单,本篇就先介绍下如何增加loop设备,后面再介绍loop设备的作用。
一、loop设备的增加
找到/boot/grub/grub.cfg(rhel6、centos6下)、boot/grub2/grub.cfg(rhel7、centos7下)文件,找到如下内容部分:
1linux16 /vmlinuz-0-rescue-993ea53b6af54870b20c82807c2719a3 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet
2initrd16 /initramfs-0-rescue-993ea53b6af54870b20c82807c2719a3.img
修改其中linux16部分的最后,增加max_loop=64 ,就会将loop设备上限改为64个。
1linux16 /vmlinuz-0-rescue-993ea53b6af54870b20c82807c2719a3 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb max_loop=64 quiet
2initrd16 /initramfs-0-rescue-993ea53b6af54870b20c82807c2719a3.img
修改完重启OS生效。
二、loop设备的作用
loop设备是一种伪设备,是使用文件来模拟块设备的一种技术。其经常应用在两个场景下:1、光盘挂载(iso文件挂载);2、dd创建的img文件的挂载。
1[root@361way opt]# mount CentOS-7-x86_64-Minimal-1604.iso /mnt
2mount: /dev/loop0 is write-protected, mounting read-only
由于我这里使用的是比较新的OS版本,在一些老的版本里必须还要使用mount -t iso9660 -o loop xxx.iso /mnt这样的方式去挂载。对于这个img镜像文件,可以按如下方法进行挂载:
1dd if=/dev/zero of=ftp.img bs=1M count=2000
2losetup /dev/loop0 ftp.img
3mkfs.ext4 /dev/loop0
4mkdir /ftptest
5mount -o loop ftp.img /ftptest
其实上面的步骤还可以精简为如下:
1dd if=/dev/zero of=ftp.img bs=1M count=2000
2mkfs.ext4 ftp.img
3mkdir /ftptest
4mount -o loop ftp.img /ftptest
这样挂载的时候,系统会自动给其分配loop设备。
三、loop设备的查看和删除
可以通过如下方法查看挂载的loop设备
1lsblk |grep loop0
2losetup -a
删除loop设备可以使用下面的命令:
1losetup -d /dev/loop0
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/linux-max-loop/5981.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.