Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Man/ploop.8

8,155 bytes added, 18:51, 28 November 2016
Bot: Automated import of articles *** existing text overwritten ***
[<b>-t&nbsp;</b><i>fstype</i>]
[<b>-b&nbsp;</b><i>blocksize</i>]
[<b>-B&nbsp;</b><i>fsblocksize</i>] [<b>--nolazy</b>]<i>delta_file</i></p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<b>-m</b> <i>mount_point</i> | <i>DiskDescriptor.xml</i> |
<i>image_file</i> }</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="20%">
 
<p style="margin-top: 1em"><b>ploop&nbsp;replace</b></p></td>
<td width="69%">
 
<p style="margin-top: 1em">{ <b>-u</b> <i>uuid</i> |
<b>-l</b> <i>level</i> | <b>-o</b> <i>cur_image_file</i> }
[<b>--keep-name</b>] <b>-i</b> <i>image_file
DiskDescriptor.xml</i></p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
</table>
<p style="margin-left:11%;">[<b>-u&nbsp;</b><i>uuid</i>]<i>DiskDescriptor.xml</i></p> <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0"><tr valign="top" align="left"><td width="11%"></td><td width="17%"> <p style="margin-top: 1em"><b>ploop&nbsp;check</b></p></td><td width="72%"> <p style="margin-top: 1em">[<b>--force</b>]
[<b>--hard-force</b>] [<b>--check</b>] [<b>--ro</b>]
[<b>--silent</b>] [<b>--drop-inuse</b>] [<b>--raw</b>]
[<b>--blocksize&nbsp;</b><i>size</i>]
[<b>--repair-sparse</b>] <i>DiskDescriptor.xmlimage_file</i> |<i/p>image_file</itd></p> <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0"tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="1517%">
<p style="margin-top: 1em"><b>ploop&nbsp;info</b></p></td>
<td width="2%"></td><td width="3572%">
<p style="margin-top: 1em">[<b>-s</b>] [<b>-d</b>]<i>DiskDescriptor.xml</i></p> </td><td width="37%"></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="1517%">
<p style="margin-top: 1em"><b>ploop&nbsp;list</b></p></td>
<td width="2%"></td><td width="3572%">
<p style="margin-top: 1em">[<b>-a</b>]</p></td><td width="37%"></td></tr>
</table>
<p style="margin-top: 1em"><b>ploop&nbsp;snapshot-merge</b></p> </td>
<td width="5157%">
<p style="margin-top: 1em">[<b>-u&nbsp;</b><i>uuid&nbsp;</i>[<b>-U&nbsp;</b><i>uuid2</i>]&nbsp;|&nbsp;<b>-A</b>][<b>-n&nbsp;</b><i>new_delta</i>]<i>DiskDescriptor.xml</i></p> </td><td width="6%"></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<p style="margin-top: 1em"><b>ploop&nbsp;snapshot-switch</b></p> </td>
<td width="5157%">
<p style="margin-top: 1em"><b>-u</b> <i>uuid
DiskDescriptor.xml</i></p> </td><td width="6%"></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<p style="margin-top: 1em"><b>ploop&nbsp;snapshot-delete</b></p> </td>
<td width="5157%">
<p style="margin-top: 1em"><b>-u</b> <i>uuid
DiskDescriptor.xml</i></p> </td><td width="6%"></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<p style="margin-top: 1em"><b>ploop&nbsp;snapshot-list</b></p> </td>
<td width="51%"></td><td width="657%">
</td></tr>
</table>
<p style="margin-left:11%;">[<b>-H</b>]
[<b>-u&nbsp;</b><i>uuid</i>] [<b>-s</b>]
[<b>-o&nbsp;</b><i>field</i>[,<i>field</i>...]]
<i>DiskDescriptor.xml</i></p>
<p style="margin-top: 1em"><b>ploop&nbsp;copy</b></p></td>
<td width="2%"></td>
<td width="5772%">
<p style="margin-top: 1em"><b>-s</b> <i>device</i>
[<b>-F&nbsp;</b><i>stop_command</i>]{[<b>-d&nbsp;</b><i>file</i>]|[<b>-o&nbsp;</pb><i> output_fd</tdi>][<td width="15%"b>-f&nbsp;</b><i>feedback_fd</i>] }</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<p style="margin-top: 1em"><b>ploop&nbsp;copy</b></p></td>
<td width="2%"></td>
<td width="5772%">
<p style="margin-top: 1em"><b>-d</b> <i>file</i>[<b>-i&nbsp;</pb><i>input_fd</tdi>][<td width="15%"b>-f&nbsp;</b><i>feedback_fd</i>]</p></td></tr>
</table>
<p style="margin-top: 1em"><b>ploop&nbsp;balloon&nbsp;discard</b></p> <td width="45%"></td>
<td width="5550%">
<p style="margin-top: 1em">[<b>--automount</b>]
[<b>--to-free&nbsp;</b><i>size</i>]
[<b>--min-block&nbsp;</b><i>min_size</i>] [<b>--defrag</b>]<i>DiskDescriptor.xml</i></p> </td><td width="5%"></td></tr></table> <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0"><tr valign="top" align="left"> <p style="margin-top: 1em"><b>ploop&nbsp;restore-descriptor</b></p> <td width="49%"></td><td width="51%"> <p style="margin-top: 1em"><b>-f</b> <i>format</i>[<b>-b&nbsp;</b><i>blocksize</i>] <i>disk_dirdelta_file</i></p> </td></tr>
</table>
[<b>-t&nbsp;</b><i>fstype</i>]
[<b>-b&nbsp;</b><i>blocksize</i>]
[<b>-B&nbsp;</b><i>fsblocksize</i>] [<b>--nolazy</b>]<i>delta_file</i></p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<p style="margin-left:28%;">Filesystem block size, in
bytes. Default is 4096 bytes.</p>
 
<p style="margin-left:11%;"><b>-n</b>, <b>--nolazy</b></p>
 
<p style="margin-left:28%;">Disable lazy mkfs
initialization (which is enabled by default). Currently that
means if this flag is set, <b>mkfs.ext4</b>(8) is called
with <b>-Elazy_itable_init=0,lazy_journal_init=0</b>
options.</p>
<table width="100%" border="0" rules="none" frame="void"
</td></tr>
</table>
 
==== replace ====
 
<p style="margin-top: 1em">Replaces a ploop image by a
different (but identical) one, on a running ploop device.
Only a read-only image (e.g. a non-top one in a stacked
configuration) can be replaced. An image to be replaced is
specified by either one of level, UUID, or the current image
file.</p>
 
<p style="margin-top: 1em">If a new image is not identical
to the old one (i.e. its content differs) or not suitable
for ploop in any other way (e.g. it is sparse, or resides on
a file system not supported by ploop), the result is
undefined.</p>
 
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="20%">
 
<p style="margin-top: 1em"><b>ploop&nbsp;replace</b></p></td>
<td width="1%"></td>
<td width="68%">
 
<p style="margin-top: 1em">{ <b>-u</b> <i>uuid</i> |
<b>-l</b> <i>level</i> | <b>-o</b> <i>cur_image_file</i> }
[<b>--keep-name</b>] <b>-i</b> <i>image_file
DiskDescriptor.xml</i></p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="20%">
 
<p><b>-u</b> <i>uuid</i></p></td>
<td width="1%"></td>
<td width="68%">
 
<p>A <i>uuid</i> of an image to be replaced.</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="20%">
 
<p><b>-l</b> <i>level</i></p></td>
<td width="1%"></td>
<td width="68%">
 
<p>A level of image to be replaced. A level is a distance
of an image from the base delta.</p></td></tr>
</table>
 
<p style="margin-left:11%;"><b>-o</b>
<i>cur_image_file</i></p>
 
<p style="margin-left:32%;">A current image file (the one
to replace).</p>
 
<p style="margin-left:11%;"><b>-k</b>,
<b>--keep-name</b></p>
 
<p style="margin-left:32%;">A flag to keep the same image
file name. If this flag is set, after the image is replaced,
a new <i>image_file</i> is renamed to the old one (removing
the old, now unused, image), so no modification to
DiskDescriptor.xml is required.</p>
 
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="20%">
 
<p><b>-i</b> <i>image_file</i></p></td>
<td width="1%"></td>
<td width="37%">
 
<p>A new replacement image.</p></td>
<td width="31%">
</td></tr>
</table>
 
<p style="margin-left:11%;"><i>DiskDescriptor.xml</i></p>
 
<p style="margin-left:32%;">Path to the DiskDescriptor.xml
file with information about images.</p>
==== resize ====
<p style="margin-top: 1em">Check the internal consistency
of (and possibly repair) a ploop image (or images). Note
that image(s) to be tested should not be in use. If</p> <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0"><tr valign="top" align="left"><td width="11%"></td><td width="17%"> <p style="margin-top: 1em"><b>ploop&nbsp;check</b></p></td><td width="1%"></td><td width="43%"> <p style="margin-top: 1em">[<b>-u&nbsp;</b><i>uuid</i>]<i>DiskDescriptor.xml</i> is supplied, </p> </td><td width="28%"></td></tr></table> <p style="margin-top: 1em">Check all the images in<i>DiskDescriptor.xml</i> up to the one denoted bytheone <i>uuid</i> (or default top delta, if UUID is notspecified). Default built-in check options are used, and theones specified on the command line, if any, are checkedignored.</p>
<table width="100%" border="0" rules="none" frame="void"
</table>
<p>Show When run without any options, show information about disk space and inodes usage andlimits on the inner ploop filesystem, somewhat similar to[[Man/vzquota.8|<b>vzquota</b>(8)]] <b>stat</b> or <b>show</b> commands.</p>
<table width="100%" border="0" rules="none" frame="void"
<p style="margin-top: 1em"><b>ploop&nbsp;info</b></p></td>
<td width="2%"></td>
<td width="3243%">
<p style="margin-top: 1em">[<b>-s</b>] [<b>-d</b>]
<i>DiskDescriptor.xml</i></p> </td>
<td width="4029%">
</td></tr>
</table>
<p>Show Either one or both options can be used together. Option<b>-s</b> is used to show information about ploop device size, block size,and format version. Option <b>-d</b> isused to show a corresponding ploop block device, itavailable. file.</p>
==== list ====
With option <b>-a</b> it also shows a mount point (third
column).</p>
 
==== restore-descriptor ====
 
<p style="margin-top: 1em">Create DiskDescriptor.xml file
suitable for <i>delta_file</i> and put it into
<i>disk_dir</i>.</p>
 
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="37%">
 
<p style="margin-top: 1em"><b>ploop&nbsp;restore-descriptor</b></p> </td>
<td width="1%"></td>
<td width="51%">
 
<p style="margin-top: 1em"><b>-f</b> <i>format</i>
[<b>-b&nbsp;</b><i>blocksize</i>] <i>disk_dir
delta_file</i></p> </td></tr>
</table>
 
<p style="margin-top: 1em">Read image header in case of
ploop1 format or check raw image size and generate proper
DiskDescriptor.xml file. You can specify blocksize for raw
images. If it&rsquo;s not specified it will be choosen
automatically - largest possible value between 32K and 1M.
Raw image size must be aligned to blocksize.</p>
 
<p style="margin-top: 1em">This command works only for base
images. Snapshots are not supported.</p>
=== Working with snapshots ===
<p style="margin-top: 1em">Snapshots are identified by a
unique UUID. A snapshot can be mounted using <b>ploop mount
-u</b> <i>UUIDuuid</i> command, see above.</p>
==== snapshot ====
<p style="margin-top: 1em">Merge a snapshot with its
parent. That is, contents of the delta file corresponding tothe snapshot is merged to a parent delta, then the file isremoved. Parent snapshot UUID is lost (as it is replacedwith the <i>uuid</i> specified). All snapshots having thelost one as a parent are updated to have the <i>uuid</i> asits parent.</p>
<table width="100%" border="0" rules="none" frame="void"
<td width="57%">
<p style="margin-top: 1em">[<b>-u&nbsp;</b><i>uuid&nbsp;</i>[<b>-U&nbsp;</b><i>uuid2</i>]&nbsp;|&nbsp;<b>-A</b>][<b>-n&nbsp;</b><i>new_delta</i>]
<i>DiskDescriptor.xml</i></p> </td></tr>
<tr valign="top" align="left">
<td width="57%">
<p>Specify a single snapshot <i>uuid</i> to merge. If this optionis not specified, the top delta will be used.</p></td></tr><tr valign="top" align="left"><td width="11%"></td><td width="31%"> <p><b>-U</b> <i>uuid2</i></p></td><td width="1%"></td><td width="57%"> <p>Together with <b>-u</b> <i>uuid</i>, specify that allsnapshots in the range <i>uuid</i>...<i>uuid2</i> are to bemerged.</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
snapshots have more than a single child, they will be
impossible to merge.</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="31%">
 
<p><b>-n</b> <i>new_delta</i></p></td>
<td width="1%"></td>
<td width="57%">
 
<p>If this option is set, instead of merging the child
delta into its parent, both the parent and the child deltas
are merged into a newly created file <i>new_delta</i>, which
replaces the parent delta. Both deltas are then removed.</p></td></tr>
</table>
<p style="margin-top: 1em">[<b>-H</b>]
[<b>-u&nbsp;</b><i>uuid</i>] [<b>-s</b>]
[<b>-o&nbsp;</b><i>field</i>[,<i>field</i>...]]
<i>DiskDescriptor.xml</i></p> </td></tr>
<p style="margin-left:42%;">Filter the output to a
specified <i>uuid</i>.</p>
 
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="21%">
 
<p><b>-s</b>, <b>--snapshot</b></p></td>
<td width="10%"></td>
<td width="58%">
 
<p>List in terms of snapshots. By default (i.e. without
this option) the command lists all deltas, and top delta is
marked as current. When this option is used, top delta is
not listed, and the snapshot which is the parent of top
delta is marked as current.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>-o</b>, <b>--output</b>
<p style="margin-top: 1em"><b>ploop&nbsp;copy</b></p></td>
<td width="2%"></td>
<td width="5772%">
<p style="margin-top: 1em"><b>-s</b> <i>device</i>
[<b>-F&nbsp;</b><i>stop_command</i>]{[<b>-d&nbsp;</b><i>file</i>]|[<b>-o&nbsp;</pb><i> output_fd</tdi>][<td width="15%"b>-f&nbsp;</b><i>feedback_fd</i>] }</p></td></tr>
</table>
in-kernel write tracker for the specified ploop
<i>device,</i> then sends all the data blocks from the top
delta image to a pipe specified by the <i>output_fd</i>argument (<b>stdout (</b>, i.e. <b>1</b> by default),supposedly read by destination<b>ploop copy</b>) , or a <i>file</i>. After that, ititeratively gets the list of the modified data blocks fromthe kernel and sends those blocks again. After a number ofiterations (or when the list is empty), it executes the<i>stop_command</i> (this could be <b>vzctl stop</b> or<b>vzctl chkpnt</b>) and does the last iteration of sendingthe modified data blocks. Finally, it checks that the datawere not modified, error is returned otherwise.</p> <p style="margin-top: 1em">If <i>feedback_fd</i> isspecified, it is used to read back from the ploop copyreceiving side. The feedback channel is currently used towait for <b>fdatasync</b>(2) completion.</p>
==== copy (receiving) ====
<p style="margin-top: 1em"><b>ploop&nbsp;copy</b></p></td>
<td width="2%"></td>
<td width="1058%">
<p style="margin-top: 1em"><b>-d</b> <i>file</i>[<b>-i&nbsp;</b><i>input_fd</i>][<b>-f&nbsp;</b><i>feedback_fd</i>]</p></td><td width="6214%">
</td></tr>
</table>
<p style="margin-top: 1em">Reads the data block blocks (providedby the source <b>ploop copy</b>) from the file descriptor<i>input_fd</i> (<b>stdin</b> , i.e. <b>0</b> by default) and
writes them to the <i>file</i>.</p>
 
<p style="margin-top: 1em">If <i>feedback_fd</i> is
specified, it is used to send status back to the ploop copy
sending side.</p>
=== Ballooning ===
<p style="margin-top: 1em"><b>ploop&nbsp;balloon&nbsp;discard</b></p> </td>
<td width="2%"></td>
<td width="5550%">
<p style="margin-top: 1em">[<b>--automount</b>]
[<b>--to-free&nbsp;</b><i>size</i>]
[<b>--min-block&nbsp;</b><i>min_size</i>] [<b>--defrag</b>]<i>DiskDescriptor.xml</i></p> </td><td width="5%"></td></tr>
</table>
<b>--automount</b> option to automatically mount ploop for
the duration of the operation.</p>
 
<p style="margin-top: 1em">Option <b>--defrag</b> can be
used to run a filesystem defragmentation utility (currently
e4defrag2 on ext4 only) before the main operation.</p>
<p style="margin-top: 1em">Option <b>--to-free</b> can be
<p style="margin-left:22%;">Error from <b>fsck</b>(8).</p>
 
<p style="margin-left:11%;"><b>43</b>,&nbsp;<b>SYSEXIT_NOSNAP</b></p>
 
<p style="margin-left:22%;">Can&rsquo;t find specified
snapshot UUID.</p>
== SEE ALSO ==