[Users] convert to ploop

Kir Kolyshkin kir at openvz.org
Fri Oct 24 16:31:57 PDT 2014


On 10/24/2014 02:50 PM, Nick Knutov wrote:
> Hello all,
>
> trying to convert CT from simfs to ploop. vzctl convert ended with error
>
> Error in ploop_resize_image (ploop.c:2477): Unable to change image size
> to 83877888 sectors, minimal size is 502423144
> Unmounting file system at /vz/private/101.ploop/root.hdd/root.hdd.mnt
> Unmounting device /dev/ploop37776
> Failed to resize image: Error in ploop_resize_image (ploop.c:2477):
> Unable to change image size to 83877888 sectors, minimal size is
> 502423144 [38]
>
>
> Why this happened? What I'm doing wrong?
>
> If it does matter - CT was:
> vzctl set ${ve} --diskspace  40G --quotatime 600 --save

[Just a side note -- quotatime doesn't make sense for ploop,
as it's only related to vzquota. Harmless but totally useless.]

> vzctl set ${ve} --diskinodes 1000000000:1000000000 --save

^^^^^^^^ This ^^^^^^^^^^

While with simfs option --diskinodes is just a limit and can be set 
arbitrarily high,
with ploop it affects the actual file system being created. By default, 
ext4 allocates
1 (one) inode per each 16 KB of data (this is practically the same as to 
assume that
the average file size will be 16KB).

Now, let's do some simple math. 40GB of disk space means 2621440 inodes
(40 * 1024 * 1024 / 16). Apparently you think it won't be enough for you and
set diskinodes to 1,000,000,000, i.e 1G (which by the way means you assume
the average file size inside containers will be 40 bytes).

Previously, we didn't support setting diskinodes for ploop, but later we 
found
a way to implement it (NOTE: for vzctl create and vzctl convert only).
The trick we use it we create a file system big enough to accomodate the
requested number of inodes, and then use ploop resize (in this case 
downsize)
to bring it down to requested amount.

In this case, 1G inodes requirements leads to creation of 16TB filesystem
(remember, 1 inode per 16K). Unfortunately, such huge FS can't be downsized
to as low as 40G, the minimum seems to be around 240G (values printed in
the error message are in sectors which are 512 bytes each).

Solution: please be reasonable when requesting diskinodes for ploop.

PS I would be much obliged if you can put this on OpenVZ wiki

> and there are about 20Gb of files inside this CT.
>
> 2.6.32-042stab093.5 and latest ploop.
>
>



More information about the Users mailing list