有一种特殊的块设备叫loop device,这种loop device设备是通过影射操作系统上的正常的文件而形成的虚拟块设备。因为这种设备的存在,就为我们提供了一种创建一个存在于其他文件中的虚拟文件系统的机制.如果我们在使用一种集群需要使用其他盘符而没有新设备的时候可以采取这种方式,在虚拟机下需要设备的时候也可以采取这种方式:

第一步:用dd命令创建一个文件,文件大小即为你的新设备的大小

dd if=/dev/zero of=sd1 bs=4M count=1000

这样就创建了一个大小为4G的文件sd1

第二步:使用losetup命令创建一个loop 设备

losetup /dev/loop0 sd1

第三步:创建一个文件系统

mkfs.ext3 /dev/loop0

最后:如果要删除刚才创建的这些对象

losetup -d /dev/loop0

rm sd1

默认情况下linux支持的loop设备是8个

如果需要超过8个loop device,那么使用losetup命令的时候可能会遇到类似的错误 'no such device',这是因为超过了可用loop device设备的最大限制,依据你的Linux系统,可以通过修改

/etc/modprobe.conf

配置文件,增加如下参数的方式进行扩展

options loop max_loop=20 --比如我增加到20个

保存退出,如果要了马上生效的话,可以通过

modprobe -v loop

命令立即加载该模块。

[root@vm11g dev]# cat /etc/modprobe.conf|grep loop

options loop max_loop=20

[root@vm11g dev]# modprobe -v loop

insmod /lib/modules/2.6.39.4/kernel/drivers/block/loop.ko max_loop=20

[root@vm11g dev]# ls -ltr /dev/loop*

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐