Article ID: 117734, created on Oct 6, 2013, last review on May 8, 2014

  • Applies to:
  • Virtuozzo
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor


In a container based on EZ templates with VZFS system (not stored in a ploop-image), the following error could occur upon creating/updating a file in some directory, e.g. for the container #56001 it is /var/log/ in our example:

CT-56001-bash-3.2# touch /var/log/file
touch: cannot touch `/var/log/file': Input/output error


The file-system is not consistent, there is an improper symbolic link for a directory in the container's private area pointing to a directory located in the template area, for the container #56001:

[root@pvc47 ~]# ( VEID=56001; . /etc/vz/conf/$VEID.conf; ls -l $VE_PRIVATE/fs/root/var/log )
lrwxrwxrwx  1 root root 76 Oct  6 11:41 /root/private/56001/fs/root/var/log -> ////centos/5/x86_64/bash-3.2-32.el5_9.1.x86_64/usr/share/doc/bash-3.2/bashdb
[root@pvc47 ~]# 


Since this is the file-system corruption, the file-system on the server should be checked. Schedule the maintenance window and check the file-system on the host server.

  • The best way is to restore the container from the backup which was created before the issue occurred.

  • If restoring is not an option then perform the following actions (however, the consistency of the file-system is not guaranteed; moreover, manual modifications in the private area should be avoided):

    1. ensure there is a fresh backup or a clone of the container since the actions include removal of data;

    2. stop the container - any operation in the private area must be performed while quota is not running for the container:

      ~# vzctl stop 56001
    3. drop quota information for this container, if it complains that there are running processes holding the private area - terminate those processes and drop quota:

      ~# vzctl umount 56001
      ~# vzquota drop 56001
    4. remove the wrong symbolic link and recreate the proper directory structure (check it in the similar container):

      ~# VEID=56001; . /etc/vz/conf/$VEID.conf; cd $VE_PRIVATE/fs/root
      ~# rm var/log
      ~# mkdir -p var/log/{httpd,mail,samba}

      NOTE: the paths should be relative in these commands.

    5. check other directories which could be affected in the same way and fix them in the appropriate way:

      ~# find . -type l -lname '////*' ! -name ._vzlnk_. -ls

      If the link name and the target name (being a directory) do not match then check and correct the situation.

    6. leave the private area of the container (mandatory):

      ~# cd /root
    7. start the container, the quota information will be recalculated from scratch.

Search Words

input/output error

e8e50b42231236b82df27684e7ec0beb 2897d76d56d2010f4e3a28f864d69223 d02f9caf3e11b191a38179103495106f a26b38f94253cdfbf1028d72cf3a498b 0dd5b9380c7d4884d77587f3eb0fa8ef

Email subscription for changes to this article
Save as PDF