Howto create Loop Device on REDHAT, CENTOS or FEDORA

This mini howto explain how to create more loop device on your operating system.You need to create more loop device in some case like encrypted file system or HVM xen virtualization.  By default there are 7 devices available, named /dev/loop0 through to /dev/loop7 .

INFORMATIONS

You can find the loop device like that :

# ls -al /dev/loop*
brw-r----- 1 root disk 7, 0 Mar 19 09:34 /dev/loop0
brw-r----- 1 root disk 7, 1 Mar 19 09:34 /dev/loop1
brw-r----- 1 root disk 7, 2 Mar 19 09:34 /dev/loop2
brw-r----- 1 root disk 7, 3 Mar 19 09:34 /dev/loop3
brw-r----- 1 root disk 7, 4 Mar 19 09:34 /dev/loop4
brw-r----- 1 root disk 7, 5 Mar 19 09:34 /dev/loop5
brw-r----- 1 root disk 7, 6 Mar 19 09:34 /dev/loop6
brw-r----- 1 root disk 7, 7 Mar 19 09:34 /dev/loop7

The creation of the loop device is very simple but you have 2 options for this creation one is without reboot and the other one is with a reboot.

HOT CREATION

Creation of loop8 :

# mknod -m640 /dev/loop8 b 7 8
-m640 define the permission of the device
/dev/loop8 define the name of the device
b for the creation of the special block device
7 8 the number 7 AND 8 define the MAJOR AND the MINOR

Check if the loop is created

# ls -l /dev/loop8
brw-r----- 1 root root 7, 8 Oct 3 14:54 /dev/loop8

Now you have the applied the good owner on this device

#chown root:disk /dev/loop8

Now you have to change the module limitation and reboot your system.

STANDARD CREATION

You have to modify this file /etc/udev/makedev.d/50-udev.nodes

#vim /etc/udev/makedev.d/50-udev.nodes
loop0
loop1
loop2
loop3
loop4
loop5
loop6
loop7
loop8
parport0
parport1
parport2
parport3
net/tun
ppp
console
null
zero

Now you have to change the module limitation and reboot your system.

MODULE LIMITATION

In the kernel, you have to allow more creation of loop device.

There is an absolute maximum of 256 devices limited in the kernel. The default limit is set to 8.

# modinfo loop
filename: /lib/modules/2.6.18-53.1.14.el5.centos.plusxen/kernel/drivers/block/loop.ko
alias: block-major-7-*
license: GPL
srcversion: 82DB6DB3DABF3B945D6394D
depends:
vermagic: 2.6.18-53.1.14.el5.centos.plusxen SMP mod_unload gcc-4.1
parm: max_loop:Maximum number of loop devices (1-256) (int)
module_sig: 883f35047d15787f0a982eee333b2d8112f51f09f68f09b79223a34983b3aef66820c08

cc6e8cd3709f6d7c56171e5a579ee1ca2ca56349c56b983a7c46

Now you have to change this value with the modprobe.conf file.

#vim /etc/modprobe.conf
 ...
options loop max_loop=64
...

TIPS & COMMAND

The commande line losetup is used for set up and control loop device.

# losetup
usage:
losetup loop_device # give info
losetup -d loop_device # delete
losetup -f # find unused
losetup -a # list all used
losetup -r # read-only loop
losetup [-e encryption] [-o offset] [-r] {-f|loop_device} file # setup

2 Comments

  1. I think everything published made a ton of sense.
    But, think about this, suppose you added a little content?
    I mean, I don’t want to tell you how to run your blog, however suppose you added a title that makes people desire more? I mean Howto create Loop Device on REDHAT, CENTOS or FEDORA

Leave a Reply

Your email address will not be published. Required fields are marked *