Wednesday, 28 January 2015

Working procedure of VZ containers

EZ templates are part and parcel of the Parallels Virtuozzo Containers philosophy because theyprovide a way of sharing resources among lots of Containers, thus enabling huge savings in terms of disk space and memory. For example, when you install and cache an OS template on the Hardware Node, Parallels Virtuozzo Containers creates the /vz/template/<name_of_the_OS> directory containing all the OS files that can be shared among Containers. When a Container based on this template is created, it contains only symlinks
to the OS template files. These symlinks occupy very little space on the hard disk. They are situated in the so-called private area of the Container. The corresponding directory is /vz/private/<CT_ID>. The private area of a Container contains not only symlinks to the necessary template files, but also the copy-on-write area of the Container (the area for storing the information about those changes that the Container makes to the template files; this information
pertains only to the given directory) and all the private Container files. When the Container is started, this private area is mounted as Virtuozzo File System (VZFS) to the /vz/root/<CT_ID> directory. This directory is seen as the root directory from within the Container. And, which is the pivot of it all, thanks to the VZFS, the symlinks of the Container private area are seen as real files
there!

Thus, the most important directories in the /vz partition are the following:
/vz/template - contains OS and application files shared among Containers;
/vz/private - contains VZFS symlinks to template files;
/vz/root - contains Container mounted symlinks and all other Container files.
The relation of these directories may be represented as below:

/vz/template (real files)  /vz/private (symlinks)  /vz/root (symlinks seen as real files in / for the Container)

No comments:

Post a Comment