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 <skinsbur...@virtuozzo.com>
Userspace part: Igor Sukhih <i...@virtuozzo.com>


--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team
_______________________________________________
Users mailing list
Users@openvz.org
https://lists.openvz.org/mailman/listinfo/users

Reply via email to