Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
nbdkit-sparse-random-plugin(1)	    NBDKIT	nbdkit-sparse-random-plugin(1)

NAME
       nbdkit-sparse-random-plugin - make sparse random	disks

SYNOPSIS
	nbdkit sparse-random [size=]SIZE [seed=SEED]
			     [percent=N] [runlength=N]
			     [random-content=true]

DESCRIPTION
       "nbdkit-sparse-random-plugin" is	a plugin for nbdkit(1) which makes
       disks containing	sparse blocks of random	data.  These disks have	a
       similar shape to	virtual	machine	disks, and this	plugin can be used to
       benchmark disk copying tools like nbdcopy(1).  To get a non-sparse
       random disk, see	nbdkit-random-plugin(1).  For a	plugin containing a
       predictable test	pattern	see nbdkit-pattern-plugin(1).

       The size	of the virtual disk must be specified using the	"size"
       parameter.  If you specify the "seed" parameter then you	will get the
       same random data	over multiple runs with	the same seed.

       The "percent" parameter controls	the percentage of the disk which
       contains	random data versus sparse empty	space.

       The plugin does not generate random data	spread evenly over the disk.
       Instead to make it look more like a real	virtual	machine	disk, it tries
       to create runs of data and runs of empty	space.	The "runlength"
       parameter controls the average length of	each run of random data.

       The data	in each	block normally consists	of the same random non-zero
       byte repeated over the whole block.  If you want	fully random content
       within each block use "random-content=true".  This is not the default
       because earlier testing of this plugin showed that a great deal of time
       was spent generating random content.  The random	content	is generated
       using a method which is not cryptographically secure.

   Writes and testing copying
       Writes to the disk verify that the data written is the same as the data
       read (if	not, returning EIO).  Thus when	testing	copies you can use a
       single instance of this plugin for both read and	write:

	nbdkit sparse-random size=1T --run 'nbdcopy "$uri" "$uri"'

       "qemu-img convert" could	be used	in place of nbdcopy.  See also
       nbdkit-checkwrite-filter(1).

PARAMETERS
       percent=N
	   Specify the approximate percentage of the disk which	contains
	   random data versus sparse empty space.  The default is 10 (10%).
	   "percent=0" will create a completely	empty disk and "percent=100"
	   will	create a completely full disk.

       random-content=true
	   By default a	single random non-zero byte is repeated	over the whole
	   block, which	is fast	to generate and	check.	If you want blocks
	   where each byte is random, use this setting.

       runlength=N
	   Specify the average length of runs of random	data.  This is
	   expressed in	bytes and the usual modifiers can be used.  The
	   default is 16M, meaning that	(on average) data runs will be 16
	   megabytes in	length.

       seed=SEED
	   Specify the random seed to get repeatable data over multiple	runs.

	   If not specified then a random seed is chosen.

       [size=]SIZE
	   Specify the virtual size of the disk	image.

	   This	parameter is required.

	   "size=" prefix may be omitted in most cases.	 See "Magic
	   parameters" in nbdkit(1).

FILES
       $plugindir/nbdkit-sparse-random-plugin.so
	   The plugin.

	   Use "nbdkit --dump-config" to find the location of $plugindir.

VERSION
       "nbdkit-sparse-random-plugin" first appeared in nbdkit 1.24.

SEE ALSO
       nbdkit(1), nbdkit-plugin(3), nbdkit-data-plugin(1),
       nbdkit-full-plugin(1), nbdkit-null-plugin(1), nbdkit-ones-plugin(1),
       nbdkit-pattern-plugin(1), nbdkit-random-plugin(1),
       nbdkit-zero-plugin(1), nbdcopy(1), qemu-img(1).

AUTHORS
       Richard W.M. Jones

COPYRIGHT
       Copyright Red Hat

LICENSE
       Redistribution and use in source	and binary forms, with or without
       modification, are permitted provided that the following conditions are
       met:

          Redistributions of source code must retain the above	copyright
	   notice, this	list of	conditions and the following disclaimer.

          Redistributions in binary form must reproduce the above copyright
	   notice, this	list of	conditions and the following disclaimer	in the
	   documentation and/or	other materials	provided with the
	   distribution.

          Neither the name of Red Hat nor the names of	its contributors may
	   be used to endorse or promote products derived from this software
	   without specific prior written permission.

       THIS SOFTWARE IS	PROVIDED BY RED	HAT AND	CONTRIBUTORS ''AS IS'' AND ANY
       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
       LIABLE FOR ANY DIRECT, INDIRECT,	INCIDENTAL, SPECIAL, EXEMPLARY,	OR
       CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
       SUBSTITUTE GOODS	OR SERVICES; LOSS OF USE, DATA,	OR PROFITS; OR
       BUSINESS	INTERRUPTION) HOWEVER CAUSED AND ON ANY	THEORY OF LIABILITY,
       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
       OTHERWISE) ARISING IN ANY WAY OUT OF THE	USE OF THIS SOFTWARE, EVEN IF
       ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

nbdkit-1.46.0			  2026-03-04	nbdkit-sparse-random-plugin(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nbdkit-sparse-random-plugin&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help