logo head
spacer
 
JAILMANAGER
 
A management solution for FreeBSD-Jails
 
(simplfied maintainance and creation of virtual-server-environments)
 

The documentation is currently only available in german language.
(see README-file in the top-level dir)
The current release is 0.1 : [DOWNLOAD]

## Overview:
## What we need:

* Translators for the documentation
* Bug reports
* ...

## Authors and Licence

Marc Schoechlin [ms@256bit.org]

Licence : FreeBSD Licence

## Software - Environment

-> FreeBSD 4.6 and higher
-> Perl v5.6.1 and higher


## How to get and install:

# Get the Software

* Anonymous CVS

---
mkdir ~/cvs/
cd ~/cvs/
touch ~/.cvspass

# password: lfnet
cvs -d:pserver:anoncvs@anoncvs.lf.net:/serv/cvs login

cvs -d:pserver:anoncvs@anoncvs.lf.net:/serv/cvs checkout jailmanager
---

* via HTTP [DOWNLOAD]

# ...to be continued....

Detailed Documentation is
currently only available in German Language.

Look at  jailmanager/doc/* and especially at jailmanager/doc/setup-jail-server


## Basic Features

The use of Jailmanger gives you several advantages compared
to a regular jail-setup.

-> centralized software management

-> no redundance files

-> no time consuming updates

-> automated setup of the central software-reference

-> every virtual server only needs an minimal disc-space of 10 megabytes

-> automated setup and creation of virtual-servers

-> maintenance shell for every virtual server

-> automated starting and stopping of jails

-> maintenance-tools which helps you to get informations
about the currently configured jails.

-> showing the processes for every jail/for a certain jail
-> showing the status of jails

-> Logging of maintenance-tasks to a logfile

-> every information about a certain jail is populated in
one single directory.
(this increases transparence, and makes it very easy to
transfer a jail to another hosting-server.)

-> batched configuration changes

-> execution of a certain script/program in every jail

-> optional interactive mode, which helps to verify
automated actions

-> passing of environment-variables which contain the
configuration data of a certain jail to the executed
programs to ease configuration tasks.

-> /SW-Support

/SW is a concept for maintaining software for multiple
hardware-platforms - it´s somethin LF.net-internal :-)

Non-LF.net users can use this directory, which is mounted
in every user-jail at the "/sw"-mountpint, for maintaining
global software-installations. 

-> shellscript-supported update of configuration-files

->identifying of differences beetween the reference and
the user-jail

->interactive merging of configfiles

-> multi-ip-support for each jail
(it is neccessary to patch your hostsystem)


## ultrashort design overview



* master-jail:

This jail is automatically generated from /usr/src by a script,
and represents the software-reference for every user-jail
(see description below).

This Jail is fully functional - but it will be never directly
used for productive needs.

The directory where the master-jail resides is read-only mounted
to every user-jail with the mount_null-command.


* user-jail:

Jails of this type provide the different virtual-server-environments.

Almost all files which are need for the complete virtual server, are
provided by the master-jail directory which is mounted to a certain
directory within the user-jail.

All directories of the user-jail are symlinked to the corresponding
directory in the master-jail - except those which are needed for
local modifications. (i.e /etc/, /var/, /root, ....)

example view to such a user-jail file-system:
----
root@install07 $ls -la
total 25
drwxr-xr-x 13 root wheel 512 Mar 10 13:10 .
drwxr-xr-x 13 root wheel 512 Mar 10 13:10 ..
lrwxrwxr-x 1 root wheel 30 Mar 5 14:31 .cshrc -> /master/.cshrc
lrwxrwxr-x 1 root wheel 32 Mar 5 14:31 .profile -> /master/.profile
lrwxrwxr-x 1 root wheel 33 Mar 5 14:31 COPYRIGHT -> /master/COPYRIGHT
lrwxrwxr-x 1 root wheel 27 Mar 5 14:31 bin -> /master/bin
lrwxrwxr-x 1 root wheel 28 Mar 5 14:31 boot -> /master/boot
drwxr-xr-x 13 root wheel 512 Mar 5 14:31 client
drwxr-xr-x 3 root wheel 1536 Mar 6 09:36 dev
drwxr-xr-x 11 root wheel 1536 Mar 6 13:52 etc
lrwxrwxr-x 1 root wheel 9 Mar 5 14:31 kernel -> /dev/null
drwxr-xr-x 2 root wheel 512 Mar 5 14:31 mnt
lrwxrwxr-x 1 root wheel 31 Mar 5 14:31 modules -> /master/modules
dr-xr-xr-x 1 root wheel 512 Mar 10 13:10 proc
drwxr-xr-x 5 root wheel 512 Mar 6 09:38 root
lrwxrwxr-x 1 root wheel 28 Mar 5 14:31 sbin -> /master/sbin
drwxrwxr-x 3 root wheel 512 Mar 5 14:31 serv
lrwxrwxr-x 1 root wheel 15 Mar 5 14:31 sw
lrwxrwxr-x 1 root wheel 27 Mar 5 14:31 sys -> /master/sys
drwxrwxrwt 3 root wheel 512 Mar 10 03:01 tmp
drwxrwxr-x 3 root wheel 512 Mar 5 14:31 usr
drwxr-xr-x 20 root wheel 512 Mar 5 10:24 var
----

The master-jail is read-only mounted to /master with
mount_null.
(the man-page says that mount_null "MAY, IN FACT, DESTROY DATA ON YOUR SYSTEM" -
this warning was written in 1995 - i think this is a little bit outdated.
On several web-sites you can read that mount_null is stable enough - we only use mount_null
for read-only filesystems.)

The typical environment for a user-jail looks like that:

/<path-to-the-user-jails>/<hostname>/fs

/<path-to-the-user-jails>/<hostname>/conf


The "fs"-directory contains the files like described above,
the "conf" file of contains jail-specific configuration-data.
(IP-address, ...)

 

 
 
 
  Valid XHTML 1.0 Transitional