Re: [vserver] vdu during start of guests

From: Daniel Hokka Zakrisson <daniel_at_hozac.com>
Date: Tue 24 Jun 2008 - 12:08:58 BST
Message-ID: <40937.192.168.102.6.1214305738.squirrel@intranet>

Andre Timmermann wrote:
> Good morning.
>
> Am Dienstag, den 24.06.2008, 02:42 +0200 schrieb Daniel Hokka Zakrisson:
>
>> > after enabling disklimits, I noticed that starting a guest will
> enforce
>> > the usage of vdu - this will significantly slow down the start of
> the
>> > vservers and will even prevent the start, if the guest is over
> limits.
>>
>> Only if you didn't stop the guest cleanly, or if you've just applied
> the
>> them. vserver ... stop caches the values for vserver ... start.
>
> OK, I have seen these vdu-processes on machines, which crashed hard.
> There was noway to shut down the guests cleanly.

And as such, there's no record of how much space the disk consumes, ergo,
vdu.

>> > I did not find a way to configure this behaviour. I would like to
> skip
>> > the vdu, as this can be handled later (for example, when you try to
>> > enforce such limits on existing customers :)
>>
>> Huh? And what would you initialize the values to?
>
> I would prefer to apply them later on the running guest.

That's not what I asked. What would you set the current usage to when
starting the guest? 0? Some arbitrary value?

Also, running vdu on a running guest is racy. It's entirely possible for
it to create large files in a directory that has already been processed,
leaving you with incorrect values...

>> It makes no sense to limit disk usage and say "I don't care about how
> much
>> it uses."
>
> On on hand it is a way to limit the guests, on the other hand ist is a
> very easy way to monitor the disk usage of the guest.

If that's what you're after, you definitely want vdu to run before the
guest is started...

>> > On some machines the vdu will take up to 90 minutes, which can be
> very
>> > anoying, if it fails.
>>
>> "Fails"? How would it "fail"?
>
> OK, this was not very clear. Lets say, I have a machine with 16 guests.
> The machine crashes at night and I have wake up and fix it. If I don't
> have to care about vdu, the guest will start within 5 minutes and I can
> see if one guest fails to start du to whatever (database, broken
> files...)
>
> If vdu will take two hours to test all guests and a guest fails to
> start, I have to wait the whole time to see if all customers are up and
> running.

I don't know what you're doing to make it take 2 hours... PlanetLab has
machines with several hundred guests, and running vdu on all of them as
part of the start-procedure. It still takes less than half an hour.

> You don't want to share the office with me, when I'm tired ;)
>
> In addition, the guest which will be startet at last will have a very
> long downtime. This may be anoying for that customer, too ;)
>
>> I don't understand what you're trying to accomplish. Either you want
> to
>> limit stuff, in which case you _need_ to know how much the current
> usage
>> is, or you don't, in which case you don't configure it.
>
> I get your point. It is true, but it seems that I can activate the
> limits on a running guest. This will speed up things a lot if something
> goes wrong. It is a big difference between a physical limit on a machine
> and a handmade virtual limit. I don't have to care about physical
> limits, nobody would dare to write files beyond.

The problem is just: what do you set the values to? What happens when the
guest removes more data than what you set? Calculating usage while the
guest is running is, as I said, problematic.

You're creating far more serious problems than having to wait a couple of
minutes when starting a guest.

-- 
Daniel Hokka Zakrisson
Received on Tue Jun 24 12:09:23 2008
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Tue 24 Jun 2008 - 12:09:28 BST by hypermail 2.1.8