aoe-mkshelf man page

aoe-mkshelf — create special device files for one shelf address


aoe-mkshelf {device-dir} {shelf-address}
env n_partitions=1 aoe-mkshelf {device-dir} {shelf-address}


The aoe-mkshelf command is not needed on systems that have udev installed and  is incompatible with aoe drivers that have the aoe_dyndevs module parameter set to 1.

Systems lacking udev and having an aoe driver that uses static minor device numbers can use aoe-mkshelf to create the block special files necessary to access the AoE devices with the given shelf address.

All aoe drivers prior to aoe6-50 use static minor device numbers.  Versions 50 and up use dynamic minor device numbers when the module parameter aoe_dyndevs=1 is set.

If you are using static minor device numbers and your aoe driver supports only one partition per device (whole-disk  partitions), then the device files must match, and you should use the n_partitions environment variable described below.



This should be the name of the directory where the block device files will be created.


This is the AoE major address, or shelf address, for which to create device nodes.  For example, specifying a shelf address of 1 means that the e1.* device nodes will be created in device-dir.

Environment Variables

If the n_partitions variable is set in the environment, it will override the default number of partitions per aoe disk, namely 16.


In this example, the root user on a host named nai creates special files for using the aoe disks in shelf 7.  Then he remembers that the driver doesn't have partition support, so the command is called again with n_partitions set to 1.

nai:~# aoe-mkshelf /dev/etherd 7
nai:~# ls /dev/etherd/e7.* | wc -l
nai:~# rm /dev/etherd/e7.*        
nai:~# n_partitions=1 aoe-mkshelf /dev/etherd 7
nai:~# ls /dev/etherd/e7.* | wc -l

See Also

aoe-discover(8), aoe-interfaces(8), aoe-mkdevs(8), aoe-stat(8), aoetools(8), udev(7).


Ed L. Cashin (

Referenced By

aoecfg(8), aoe-mkdevs(8), aoeping(8), aoe-stat(8).