Changes

Jump to: navigation, search

Ploop/Getting started

1,495 bytes added, 22:30, 25 December 2015
Marked this version for translation
<translate>
<!--T:1-->
This article describes how to use container-in-a-file technology aka [[ploop]]
== Requirements ==<!--T:2-->
* OpenVZ kernel 042stab052.8 or later* vzctl <!--T:3.1 or later-->* The following is required for ploop-lib 1.1 or laterto work:
== Making a CT <!--T:4--># [[Download/kernel/rhel6|RHEL6-based OpenVZ kernel]], i.e. 042stabXXX.# <code>/vz</code> partition formatted as <code>ext4</code> and mounted in ordered mode, or residing on NFSv3. No other filesystem is supported.# ploop ==library and tools installed (run <code>yum install ploop</code>).
=== Global configuration =Making a CT on ploop ==<!--T:5-->
=== Global configuration === <!--T:6-->
 
<!--T:7-->
In global VZ configuration file [[Man/vz.conf.5|/etc/vz/vz.conf]], set
<!--T:8-->VE_LAYOUT=ploop
<!--T:9-->
This means that all new containers you will create will have ploop layout by default.
<!--T:10-->
You don't have to set this option if you don't want ploop to be default. Alternatively, you can:
<!--T:11-->
* use <code>--layout</code> option of <code>vzctl create</code> command;
* convert existing container to ploop.
=== Creating a new CT ===<!--T:12-->
<!--T:13-->
To create a new container on ploop, use:
<!--T:14-->vzctl create ''CTID'' [--layout ploop] [--diskspace ''nnn''G] [--diskinodes ''mmm'']
<!--T:15-->
# You can omit <code>--layout</code> option if you have set <code>VE_LAYOUT=ploop</code> in {{Man|vz.conf|5}}
# You can specify initial file system size using <code>--diskspace</code> option (example: 10G for 10 gigabytes)
# If <code>--diskspace</code> is not specified, the size defaults to DISKSPACE limit value in sample CT config used
# If <code>--diskinodes</code> is not specified, 1 inode per 16K of disk space will be created (see [[../diskinodes/]] for more info)
=== Converting an existing CT ===<!--T:16-->
<!--T:17-->1. Set some sane diskspace value (which will be used as a size of newly created ploop image). Here is Stop the example to set diskspace to 10 gigabytescontainer: vzctl set stop ''CTID'' --diskspace 10G --save
<!--T:18-->2. Set some sane diskspace value, and reset the [[../diskinodes/]] value. New value for diskspace will be used as a size of newly created ploop image. Here is the example to set diskspace to 10 gigabytes: vzctl set ''CTID'' --diskspace 10G --diskinodes 0 --save <!--T:19-->3. Convert:
vzctl convert ''CTID''
== Resizing a ploop image ==<!--T:20-->4. Once your CT is well tested, you can free disk space by removing files that may have remained from the old container file system in /vz/root/''CTID''. VERY CAREFULLY (and after testing your converted container) you can stop, remove old files and start container again, e.g.: vzctl stop ''CTID'' rm -rf /vz/root/''CTID'';mkdir /vz/root/''CTID'' vzctl start ''CTID''
== Resizing a ploop image == <!--T:21-->
 
<!--T:22-->
Ploop image can be resized in both directions (i.e. either shrank or grown). Ploop also supports online/live resize so you don't have to stop a CT to do resize.
{{Note|<!--T:23-->To resize is potentially dangerous operationa ploop CT image, backup is recommended to have before you proceed.}}use
To resize a ploop CT image (either online or offline), use <!--T:24-->  vzctl set ''CTID'' --diskspace ''nnn''G --save
<!--T:25-->
Note that
* resize can safely be performed online (i.e. when container is running)
* there is no need to specify two values for diskspace (unlike simfs, there is no soft and hard quota).
* there is no way to limit or change the number of inodes available for a an existing container (i.e. option '''<code>--diskinodes''' </code> is ignored); see [[../diskinodes/]] for more details
== Showing disk space usage / limits ==<!--T:26-->
<!--T:27-->
You can use {{Man|vzlist|8}} to see CT disk space usage and limits in a uniform way for any containers (simfs or ploop, started or stopped).
<!--T:28-->
The field '''diskspace''' is showing the current disk space usage, and the fields '''diskspace.s''' and '''diskspace.h''' are showing the filesystem size (or disk space quotas, for simfs case).
<!--T:29-->
The field '''diskinodes''' is showing the current inodes usage, and the fields '''diskinodes.s''' and '''diskinodes.h''' are showing the filesystem size (or disk inodes quotas, for simfs case).
<!--T:30-->
Examples:
<!--T:31-->vzlist -o smart_name,diskspace.h,diskspace
vzlist -o smart_name,diskinodes.h,diskinodes
<!--T:32-->
On a lower level, same info can be obtained via '''ploop info''' command:
<!--T:33-->ploop info /vz/private/501/root.hdd/DiskDescriptor.xml
== Using disk quotas inside container ==<!--T:34-->
<!--T:35-->
If you want to use standard Linux per-user and per-group disk quota inside a container, you have to enable it using
<!--T:36-->vzctl set ''CTID'' --quotaugidlimit 1000 --save
<!--T:37-->
Note that:
* unlike with simfs, ''<code>--quotaugidlimit'' </code> argument can be any non-zero value;* enabling or disabling in-container disk quotas requires a container restart, so you can use vzctl's '''might find <code>--setmode''' </code> optionhelpful.
<!--T:38-->
See {{Man|vzctl|8}} for more details.
== See also ==<!--T:39-->
<!--T:40-->
* [[Ploop]]
* [[Ploop/backup]]
* {{Man|ploop|8}}
* {{Man|vz.conf|5}}
* {{Man|vzctl|8}}
</translate>
 
[[Category: Storage]]
[[Category: HOWTO]]

Navigation menu