[Users] simfs challenge

Konstantin Khorenko khorenko at virtuozzo.com
Thu Feb 4 00:16:08 PST 2016


Hi Nick,

i haven't found a jira issue from you, have you filed it?

On 01/29/2016 05:04 AM, Nick Knutov wrote:
> Yes, the question is about ploop of course.
>
> How to get metadata of ploop image? `man what`?

If you are ok with a Container downtime, it's easy:

# e2image -r /dev/ploopXXXXXp1 - | bzip2 >/vz/image.e2i.bz2

There is an option to make this while CT is online, if you file a jira issue, i'll post details _there_.

--
Konstantin

> 28.01.2016 19:04, Konstantin Khorenko пишет:
>> Hi Nick,
>>
>> i believe it's not the question about vzpbackup, but about
>> ploop compact which in your case works not that efficient.
>>
>> Yes, we do work on improving ploop compact and would appreciate in case
>> you can provide us metadata of that "bad" ploop image.
>>
>> Please, file an issue at bugs.openvz.org, i'll post instructions there.
>> (No real user data is needed, only fs metadata, which blocks are
>> filled which are not, etc)
>>
>> Thank you.
>>
>> --
>> Best regards,
>>
>> Konstantin Khorenko,
>> Virtuozzo Linux Kernel Team
>>
>> On 01/28/2016 02:42 PM, Nick Knutov wrote:
>>> Hello,
>>>
>>> One of big reasons to prefer simfs over ploop is disk space overhead in
>>> ploop after using snapshots (for backups for example).
>>> It can be really huge - we have one CT which takes 120Gb instead of 60Gb
>>> (df -h inside) after daily backups with vzpbackup (*) tool. It's
>>> after(!) ploop merge & compact.
>>>
>>> Do you plan to make some improvements for this case?
>>>
>>> (*) https://github.com/andreasfaerber/vzpbackup
>>>
>>> 28.01.2016 14:27, Konstantin Khorenko пишет:
>>>> Hi All,
>>>>
>>>> so, this is the current situation with simfs:
>>>>
>>>> First of all we cannot implement as it was previously (in OpenVZ 6,
>>>> 2.6.32-x kernels).
>>>> This is because there is no vzfs in Virtuozzo 7, but all quota related
>>>> code used by simfs
>>>> was shared between vzfs and simfs, and maintaining that code for simfs
>>>> only is definitely
>>>> not the thing we'd be happy to do.
>>>> Yes, we definitely want to reuse some mainstream (or write a
>>>> mainstream-able) code for it.
>>>>
>>>> So, how this could be implemented?
>>>>
>>>> "Old" simfs fs without quota - is just a bindmount => this is a start
>>>> point.
>>>> 1st level quota for simfs-based Containers (the quota for the
>>>> Container as a whole) can be
>>>> implemented using project quota which is going to be accepted to
>>>> mainstream sooner or later.
>>>>
>>>> As for the 2nd level quota (per-user quota inside a CT), we had not
>>>> found any good solution
>>>> during our internal discussions, so ideas from community are very
>>>> welcome.
>>>>
>>>> So what do we have at the moment: you can create a simfs-based
>>>> Container in Virtuozzo 7
>>>> (see instructions below), but cannot manage quota for it.
>>>>
>>>> What should be done further (that's what you can help us with):
>>>>
>>>> 1. Take project quota kernel patches (which Stas Kinsbursky alredy
>>>> ported to vz7 kernel
>>>> some time ago), apply them to current vz7 kernel - you'll get the
>>>> kernel able to manage
>>>> project quota.
>>>>
>>>> 2. Need to add project quota support to appropriate userspace tools:
>>>> quota-tools and e2fsprogs
>>>> see details at https://bugs.openvz.org/browse/OVZ-6619
>>>>
>>>> Hope that helps to understand our plans on simfs in Virtuozzo 7
>>>> and looking forward for a hero who could drive this forward! :)
>>>>
>>>>
>>>>
>>>> More formal feature description is below:
>>>>
>>>> ===========================================================================================
>>>>
>>>>
>>>> 1. Feature
>>>> simfs filesystem for Virtuozzo 7 Containers
>>>>
>>>>
>>>> 2. Description
>>>> https://bugs.openvz.org/browse/OVZ-6613
>>>> https://jira.sw.ru/browse/PSBM-40730
>>>>
>>>> Differences between recommended Containers disk backend (ploop) and
>>>> simfs:
>>>> https://openvz.org/CT_storage_backends
>>>>
>>>> Unlike previous versions of OpenVZ, simfs layout in Virtuozzo 7 is
>>>> based on bindmounts.
>>>> This means once you start a simfs-based Container, effectively
>>>> "private" area of a Container is bindmounted to the "root" Container
>>>> area.
>>>> That's it.
>>>>
>>>> How to create a simfs-based Container:
>>>> * set VEFSTYPE=simfs in the /etc/vz/vz.conf
>>>> # vzctl create $VEID
>>>>
>>>> 3. Products
>>>> Virtuozzo 7, libvzctl-7.0.170
>>>>
>>>>
>>>> 4. Testing
>>>> just a validation:
>>>> - create a Container
>>>> - start/stop the Container
>>>> - destroy the Container
>>>>
>>>> 5. Known issues
>>>> * quota for simfs-based Containers is not implemented
>>>>     - 1st level quota (for the Container as a whole) is planned to be
>>>> implemented via project quota
>>>>       https://bugs.openvz.org/browse/OVZ-6619
>>>>
>>>>     - 2nd level quota (per-user quota inside a Container) is not planned
>>>>
>>>> * online migration of a simfs-based Container is not implemented
>>>>
>>>>
>>>> 6. Feature owner
>>>> Kernel part:    Stanislav Kinsbursky <skinsbursky at virtuozzo.com>
>>>> Userspace part: Igor Sukhih <igor at virtuozzo.com>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>>
>>>> Konstantin Khorenko,
>>>> Virtuozzo Linux Kernel Team
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at openvz.org
>>>> https://lists.openvz.org/mailman/listinfo/users


More information about the Users mailing list