Subject: Re: [vserver] chroot barrier problem when consolidating var and etc
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Thu, 2 Oct 2008 15:39:25 +0200

On Tue, Sep 30, 2008 at 07:31:05PM +0200, randall wrote:
> Martin Fick wrote:
> >--- On Tue, 9/30/08, randall <randall@songshu.org> wrote:
> >  
> >>the layout is 1 drbd block device with lvm partitions on
> >>top. i have tried  different variations but at least i can
> >>confirm that below (just tried it) gives  the rlimits error.
> >>
> >> 
> >>lvcreate -L5000 -n web2 drbdvg1
> >>mkfs.ext3 /dev/drbdvg1/web2
> >>mkdir  -p /VSERVERS/web2/etc
> >>mkdir -p /VSERVERS/web2/barrier/var
> >>newvserver --vsroot /VSERVERS/web2/barrier/var --hostname
> >>web2 --domain 
> >>unitedmembers.com --ip 212.123.250.128/24 --dist etch
> >>--mirror 
> >>http://212.123.250.81:3142/debian.apt-get.eu/debian
> >>--interface eth0
> >>    
> >
> >Hmm, I usually make do not use the --vsroot parameter
> >so I don't know how that affects things.  I usually
> >just let it make the vserver where the tool puts
> >it normally (under /var/lib/vservers/<guest>, I believe)
> >and then move/link it under the "joint" directory.  
> >I suppose it should work your way, I just can't vouch 
> >for it.
> >  
> i tried it without as well, but thought that the double symlink might 
> give problems so also tried it like this, and this would save some extra 
> copying (if it would work)
> >  
> >>mv /etc/vservers/web2 /VSERVERS/web2/etc/
> >>ln -s /VSERVERS/web2/etc/web2 /etc/vservers/
> >>    
> >
> >Again, this should probably work, but it does
> >add one extra directory level to the mix that I
> >don't have.  I usually instead make it more 
> >like this:
> >  
> hate to say it, tried that as well to have it direcly under /etc and /var
> >mv /etc/vservers/web2 /VSERVERS/web2
> >ln -s /VSERVERS/web2/etc /etc/vservers/web2
> >  
> ???? is this a typo
> >At this point my suggestion would be to use the
> >attribute tools to look at the status of the
> >following directories:
> >
> >/VSERVERS/
> >/VSERVERS/web2/
> >/VSERVERS/web2/etc/
> >/VSERVERS/web2/etc/web2
> >/VSERVERS/web2/
> >/VSERVERS/web2/barrier
> >/VSERVERS/web2/barrier/var
> >
> >to see if any of them have the barrier set on them.
> >I believe that only the barrier directory should.
> >  
> attribute tools? never heard of those, thanks for teaching a new trick.
> my guess is that the barrier is the one with the B right?
> in this case on /var because i added the extra directory /web2 under 
> var, but its 1 extra directory that shouldn't hurt
> 
> should this one be there?
> ----Bui- /VSERVERS/
> is this an old misstake from when i first tried it?
> it shouldn't be cause of the init right?
> obviously this is caused because of /VSERVERS/ns1 i guess, i did try the 
> barrier with only 1 single Vserver After doing one without and not 
> having any clue about attributes so the old one was probably still there.
> 
> so if i'm not mistaking i owe you another beer or 2
> 
> 
> node1:/VSERVERS# showattr /VSERVERS/
> ----Bui- /VSERVERS/

if ns1, web, web2 and hosting are the root
directories of Linux-VServer guests, then the
barrier above is correct

> ----bui- /VSERVERS/ns1
> ----bui- /VSERVERS/web
> ----bui- /VSERVERS/hosting
> ----bui- /VSERVERS/web2
> node1:/VSERVERS# showattr /VSERVERS/web2/
> ----bui- /VSERVERS/web2/
> ----bui- /VSERVERS/web2/etc
> ----bui- /VSERVERS/web2/barrier
> node1:/VSERVERS# showattr /VSERVERS/web2/etc/
> ----bui- /VSERVERS/web2/etc/
> ----bui- /VSERVERS/web2/etc/web2
> node1:/VSERVERS# showattr /VSERVERS/web2/
> ----bui- /VSERVERS/web2/
> ----bui- /VSERVERS/web2/etc
> ----bui- /VSERVERS/web2/barrier
> node1:/VSERVERS# showattr /VSERVERS/web2/barrier
> ----bui- /VSERVERS/web2/barrier
> ----Bui- /VSERVERS/web2/barrier/var
     ~~~~
 that one really looks wrong to me, unless you
actually did put a guest in /VSERVERS/web2/barrier/var

the rule for the barrier is quite simple, although
people tend to unnecessarily complicate it:

you want a barrier on /path/to/guest/.. for each
guest (which usually only affects a single directory,
as all guests are located in the same place, but
might as well affect one directory per guest)

HTH,
Herbert

> node1:/VSERVERS# showattr /VSERVERS/web2/barrier/var
> ----Bui- /VSERVERS/web2/barrier/var
> ----bui- /VSERVERS/web2/barrier/var/web2
> 
> 
> 
> 
> 
> 
> 
> >-Martin
> >
> >
> >
> >      
> >