Qemu sandbox for teaching

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Qemu sandbox for teaching

Jerome Warnier
Does someone here have an idea on how to do the following using Qemu,
but I'm open to other suggestions:

I would like to provide a UNIX CLI sandbox for users to poke around in a
UNIX course. It would be better if available from the web (preferably
without having to install anything on the users' PC), and Free (as in
free speach).
The problem is that I need to give them root access, or at least a
simulation.
It would be even better if we could for instance install RedHat in it,
but it's not really required.

Thanks
--
Jerome Warnier <[hidden email]>
BeezNest



_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Qemu sandbox for teaching

Paul Brook
On Saturday 28 May 2005 13:42, Jerome Warnier wrote:

> Does someone here have an idea on how to do the following using Qemu,
> but I'm open to other suggestions:
>
> I would like to provide a UNIX CLI sandbox for users to poke around in a
> UNIX course. It would be better if available from the web (preferably
> without having to install anything on the users' PC), and Free (as in
> free speach).
> The problem is that I need to give them root access, or at least a
> simulation.
> It would be even better if we could for instance install RedHat in it,
> but it's not really required.

It's not really answering your question, but qemu is probably OTT for this. If
I was setting this up I'd use UML and a java web based telnet/ssh client.

Paul


_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Qemu sandbox for teaching

Tom Sandholm
In reply to this post by Jerome Warnier
Jerome,

Yes.
Using a fairly large server, (i.e. xeon dual with 4Gb ram & 120GB disk),
and installing...
1.  Qemu
2.  vde (virtual distributed ethernet)
3.  tun/tap device drivers (usually kernel module).
I've been able to create 8 conncurrent qemu instances with reasonable
performance.
I recompiled qemu, without sdl, as to get qemu able to run in batch,
without the need of a console window.
I haven't been able to get qemu to run in batch using any of the
redirected console options (like pty, or -nographic option).
I created a script that starts the vde (tun/tap), used as a tunnel from
my home network, to the virtual network that all the qemu instances
connect to.
Then I run a qemu startup script that starts the qemu instance, with
assigned disk image, assigned mac address (remember you'll need
differenct Mac's for each instance), and places it in background.
I then installed Debian "sarge" on a "master qemu instance", and also
install bootcdwrite tools to "image" the newly installed Unix "base".  
(of course you'll also want to install ssh services).
Then I "imaged" the live system onto a cdrom image.  I can then just
boot the cdrom image, to start-up a qemu-instance, and use the
bootcdwrite command to write the cdrom image to virtual hard disk.  Of
course you could just run the qemu-instance fromthe live-run-cdrom ISO,
and just nfs mount a home directory for any form of "perm" storage (of
course you'd NFS mount from the host-os.  You may also use the virtual
floppy image to hold qemu-instance specifics, such as hostname,
ipaddress, etc.  See the Debian doc's on bootcdwrite for details.
I expect that you may be able to install apache on the host machine, and
use java-webstart to invoke some form of ssh-client, that users would
use to ssh into their assigned qemu-instance engine.

Best of luck
Tom Sandholm


Jerome Warnier wrote:

>Does someone here have an idea on how to do the following using Qemu,
>but I'm open to other suggestions:
>
>I would like to provide a UNIX CLI sandbox for users to poke around in a
>UNIX course. It would be better if available from the web (preferably
>without having to install anything on the users' PC), and Free (as in
>free speach).
>The problem is that I need to give them root access, or at least a
>simulation.
>It would be even better if we could for instance install RedHat in it,
>but it's not really required.
>
>Thanks
>  
>

_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel

sandholm.vcf (108 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Qemu sandbox for teaching

Lennert Buytenhek
On Sat, May 28, 2005 at 09:22:23AM -0400, Tom Sandholm wrote:

> Yes.
> Using a fairly large server, (i.e. xeon dual with 4Gb ram & 120GB disk),
> and installing...

Hmm.. 8 el-cheapo whitebox PCs just might be cheaper than that dual
xeon with 4gb ram and 120G of disk of yours.  ;-)

(They'll likely consume more power, though.)


--L


_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Qemu sandbox for teaching

Paul Brook
On Saturday 28 May 2005 14:31, Lennert Buytenhek wrote:
> On Sat, May 28, 2005 at 09:22:23AM -0400, Tom Sandholm wrote:
> > Yes.
> > Using a fairly large server, (i.e. xeon dual with 4Gb ram & 120GB disk),
> > and installing...
>
> Hmm.. 8 el-cheapo whitebox PCs just might be cheaper than that dual
> xeon with 4gb ram and 120G of disk of yours.  ;-)
>
> (They'll likely consume more power, though.)

Not if you use the via epia mini-itx boards they won't.

Paul


_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Qemu sandbox for teaching

Jerome Warnier
In reply to this post by Paul Brook
Le samedi 28 mai 2005 à 14:13 +0100, Paul Brook a écrit :

> On Saturday 28 May 2005 13:42, Jerome Warnier wrote:
> > Does someone here have an idea on how to do the following using Qemu,
> > but I'm open to other suggestions:
> >
> > I would like to provide a UNIX CLI sandbox for users to poke around in a
> > UNIX course. It would be better if available from the web (preferably
> > without having to install anything on the users' PC), and Free (as in
> > free speach).
> > The problem is that I need to give them root access, or at least a
> > simulation.
> > It would be even better if we could for instance install RedHat in it,
> > but it's not really required.
>
> It's not really answering your question, but qemu is probably OTT for this. If
> I was setting this up I'd use UML and a java web based telnet/ssh client.
Well, I was thinking about what the snapshot feature of qemu could bring
me.

In fact, I thought about the following solutions:
- qemu (or whatever other virtualization system)
- chroot (or specifically dchroot in Debian) and remote telnet or ssh
access
- UML

Advantages of every solution:
- qemu virtualizes a complete machine, which means installation of an OS
is possible and it is pretty safe (security-wise) to setup
- chroot is fast to run and pretty safe
- UML is fast to run and pretty safe

Problems of every solution:
- qemu is slow, and a lot of virtual machines at the same time on the
same machine will slow it down and use too much memory, I think (I'm
talking about 10 people «playing» at the same time). Using only a
text-mode virtual machine may probably help, though
- chroot does not allow much and may take time to setup correctly
- UML is difficult to setup, and needs a kernel patch (even on 2.6?) to
work


> Paul
--
Jerome Warnier <[hidden email]>
BeezNest



_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Qemu sandbox for teaching

Herbert Poetzl
On Sat, May 28, 2005 at 07:50:53PM +0200, Jerome Warnier wrote:

> Le samedi 28 mai 2005 à 14:13 +0100, Paul Brook a écrit :
> > On Saturday 28 May 2005 13:42, Jerome Warnier wrote:
> > > Does someone here have an idea on how to do the following using Qemu,
> > > but I'm open to other suggestions:
> > >
> > > I would like to provide a UNIX CLI sandbox for users to poke around in a
> > > UNIX course. It would be better if available from the web (preferably
> > > without having to install anything on the users' PC), and Free (as in
> > > free speach).
> > > The problem is that I need to give them root access, or at least a
> > > simulation.
> > > It would be even better if we could for instance install RedHat in it,
> > > but it's not really required.
> >
> > It's not really answering your question, but qemu is probably OTT for this. If
> > I was setting this up I'd use UML and a java web based telnet/ssh client.
> Well, I was thinking about what the snapshot feature of qemu could bring
> me.
>
> In fact, I thought about the following solutions:
> - qemu (or whatever other virtualization system)
> - chroot (or specifically dchroot in Debian) and remote telnet or ssh
> access
> - UML
>
> Advantages of every solution:
> - qemu virtualizes a complete machine, which means installation of an OS
> is possible and it is pretty safe (security-wise) to setup
> - chroot is fast to run and pretty safe
> - UML is fast to run and pretty safe
>
> Problems of every solution:
> - qemu is slow, and a lot of virtual machines at the same time on the
> same machine will slow it down and use too much memory, I think (I'm
> talking about 10 people «playing» at the same time). Using only a
> text-mode virtual machine may probably help, though
> - chroot does not allow much and may take time to setup correctly
> - UML is difficult to setup, and needs a kernel patch (even on 2.6?) to

you might want to have a look at linux-vserver

        http://linux-vserver.org/

it allows you to have VPS with certain root rights
on a shared host, in a secure manner (no overhead)

HTH,
Herbert

> work
>
>
> > Paul
> --
> Jerome Warnier <[hidden email]>
> BeezNest
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> [hidden email]
> http://lists.nongnu.org/mailman/listinfo/qemu-devel


_______________________________________________
Qemu-devel mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/qemu-devel
Loading...