*1. Feature*
*
*prl_disk_tool for Virtuozzo 7

*2. Description
*
the package prl-disk-tool (binary /usr/sbin/prl_disk_tool)
is used to manage virtual machine and container disk images
can perform the following operations:

1. /resize//--size ...: /Resize image (in-place)
2. /resize --size ... --resize_partition /: Resize image and last
   partition to fit (copying)
3. /resize --info /: Display resize estimates (current size, minimum
   size, minimum size w/o resizing last partition) - *VM only*
4. /compact /: Compact image to occupy less space on host disk. (in-place)
5. /compact --info /: Display compact estimates (block count,
   allocated, used) - *VM only*
6. /merge /: Merge internal snapshots of image (in-place) - *VM only*
7. /merge --external /: Merge external snapshot of image (in-place) -
   *VM only*
8. /convert [--plain | --expanding] /: Convert image between plain and
   expanding modes (copying) - *VM only*

prl_disk_tool uses libguestfs, qemu-img to work.

The user has to install additional packages to use part of functionality:

prl-disk-tool resize --info (last partition: btrfs) -> btrfs-progs >= 4.2 (already in repo) prl-disk-tool resize {--info,--resize_partition} (last partition: ntfs) -> libguestfs-winsupport (already in repo) prl-disk-tool compact {--info,} (exists partition with ntfs) -> libguestfs-winsupport

prl_disk_tool locks an image passed as argument by flock(). So only multiple reads (compact|resize --info) OR a single write (others) are allowed.

FS-aware functions (resize --resize_partition|--info, compact [--info]) work for ext2/ext3/ext4/ntfs/btrfs/xfs.

prl_disk_tool uses qemu-img to perform fs-unaware operations. It is more powerful than qemu-img due to fs-aware operations performed with libguestfs. The main purpose of prl_disk_tool is to automate some frequent operations.

*3. Products

*Virtuozzo 7 beta2

Packages:*
*

 * prl-disk-tool >= 7.0.5
 * libguestfs >= 1.28.1-1.18
 * btrfs-progs >= 4.2 (optional)
 * libguestfs-winsupport >= 7.2.1 (optional)
 * libguestfs-xfs (in dependencies)
 * qemu-img >= 1.5.3-86

*4. Testing

*Need to test the following cases:

 * All functions work for qcow2 images.
 * Functions not tagged as *VM only *work for ploop images.
 * FS-aware functions (resize --resize_partition|--info, compact
   [--info]) work for ext2/ext3/ext4/ntfs/btrfs/xfs.

*5. Known issues
*

 * /resize --resize_partition /should be implemented in-place (due to
   limitations of qcow2, only for expanding)
 * all modifying operations have --dry-run option to not modify an
   image. The image is still opened for write, and exclusive lock is
   acquired.
 * only listed filesystems are supported
 * virt-resize, used by /resize --resize_partition, /leaves an empty
   block of ~3M at the end of image.
 * /convert --plain /fallocate()s space inaccurately (due to
   unawareness of qcow2 internal structures).
 * /resize [expand] /after/convert --plain /does not force allocation
   of new (bigger) chunk of space (we do not keep image type
   (plain/expanding) for now - so it is impossible to determine whether
   we should allocate space outside of /convert /operation)

--
С уважением, Максим Переведенцев
Your sincerely, Maxim Perevedentsev




_______________________________________________
Users mailing list
Users@openvz.org
https://lists.openvz.org/mailman/listinfo/users

Reply via email to