From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Wed 24 Sep 2003 - 14:24:42 BST
On Wed, Sep 24, 2003 at 10:48:40AM +0200, Stephan Sachse wrote:
> Hi Herbert,
>
> when i have run one vserver with quota all works fine
> same with two running vservers with quota
>
> but whith three vserver (2 quota, 1 without) a "vserver vserverwithquota
> stop" hangs at the end auf the script.
but you don't have this issuues with 2 or three quota
servers? sounds interesting to me ...
> i do a "vserver <name> exec quotaoff -avgu" in the post-stop section of
> the vserver.sh. "vps ax" shows a hanging "quotaoff -avgu" in the
> vserver. /proc/mounts says
I know where it hangs, but I don't know why, guess
I have to review the quota code line by line again
> i dont understand the quotaoff problem in vserver.sh post-stop because
> doing this by hand works fine...
maybe there is a problem with this kind of
recursion, triggering some still present quota
issue ...
> here is the vservername.sh script that doing the job
>
> > #!/bin/sh
> >
> > REALBLOCKDEVICE=
> > S_CONTEXT=
> >
> > if [ -f /etc/vservers/$2.conf ] ; then
> > . /etc/vservers/$2.conf
> > fi
> >
> > case $1 in
> > pre-start)
> > if [ ! -z $S_CONTEXT ] ; then
> > if [ ! -z $REALBLOCKDEVICE ] ; then
> > echo "turning quota on"
> > vserver $2 exec quotaon -vagu
> > fi
> > fi
> > ;;
> >
> > post-start)
> > ;;
> >
> > pre-stop)
> > ;;
> >
> > post-stop)
> > if [ ! -z $S_CONTEXT ] ; then
> > if [ ! -z $REALBLOCKDEVICE ] ; then
> > echo "turning quota off"
> > vserver $2 exec quotaoff -vagu
> > sleep 2
> > fi
> > fi
> > ;;
> >
> > *)
> > echo "usage: $0 [pre-start|post-start|pre-stop|post-stop]"
> > ;;
> > esac
>
>
> i have make 2 "showTasks" with SysRq
>
> http://www.teg-clan.de/bilder/misc/ksymoops.vserver-hang.20030924
> http://www.teg-clan.de/bilder/misc/ksymoops.vserver-hang.20030924.1
>
> since new patchset i notice some logmessages like this during stoping a
> vserver without quota
>
> > DQUOT_DROP: inode without dqh!DQUOT_DROP: inode without dqh!
that is another thing which should not happen
in normal operation, I will investigate this ...
> and during stoping a vserver some times coms following messages
>
> > Can't exec /usr/lib/vserver/vserverkillall (Permission denied)
hmm, that OTOH seems unrelated, check with
lsctx (patched e2fsprogs) if this has changed
context (it should be context zero) ...
the following should be noted:
it is advantageous (guess even necessary) to
put the vserver data on a separate partition, because
the scripts currently in use, write to some files
(especially /var/run/vservers from within a context
and this leads to strange ctx tagging of those files
so having vservers on a separate partition, allows
with the tagctx option to _only_ select this partition
for context tagging ...
HTH,
Herbert
> ls -la /usr/lib/vserver/vserverkillall
> -rwxr-xr-x 1 root root 948 Sep 8 16:49
> /usr/lib/vserver/vserverkillall
>
> cya later
> /stephan
>
> --
> "Signatur wurde wegen Faulheit entlassen"