*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