Attention! I apologize, but it is automatic machine translation of the text. You can improve it if will send to me more correct version of the text or fix html pages via GITHUB repository.
About the project
CBSD is a wrapper from sh-scripts (mainly) round a jail(8) subsystem an operating system
FreeBSD OS. Any new functional in OS at this stage it is not brought - everything that can do cbsd scripts, you can do by command (by commands, tens commands, hundreds of commands) in CLI through the corresponding utilities.
The project becomes as for relief of own needs on administration of jails and servers, and 'just for fun'.
From the list of own needs it is possible to note the following actions:
fast deploy of jail from scratch
export and import of jail to/into the image
jail cloning and/or migration (including to the remote node)
zfs snapshots for jail
traffic accounting and resource information per jail
jail resource management (priority (re-nice), RACCT/RCTL, file quotas)
jail replication on remote node
distribution of "standard" jails, jail with a certain set of software and services
The WEB interface and the centralized management of jails farm
A bit of WHY...
Why FreeBSD, why jail, why sh, why...":
The FreeBSD/jail are chosen for the project for several reasons, the most important of which:
absence at overhead on virtualization. Without VIMAGE, the jail code still has very few if/case of designs in a kernel;
following to security recommendation - "divide and conquer". It is desirable each service or group of services to isolate from others;
Systems engineers often have to do a lot of similar installations - AMP, MTA, KDE4. At some instant it wanted to have in advance created and adjusted environment.
The jail approach allows to enter the server into an operation instantly, after the FreeBSD installation from scratch -
to deploy the mail server or to start with KDE4, any settings in the master host is not necessary to do - enough
to download in advance created environment through the network. Possibility to create desktop environment image have the special charm in the form of an absence of need
to create the 1024th distribution with differing from the others only by a wallpaper and package sets.
Convenience for backup and a fast deploy jails on the fresh installation;
Building your own local repository/library of jails with cistomizable options through FreeBSD ports;
at already written plus in a look lack of overhead for virtualization, with the corresponding monitoring, it is possible to assembly the most effective systems.
For example, there are jails with NoSQL (redis, memcached) - dense work with memory, a jail with MySQL - dense work with CPU, a jail with Web jails (CPU and network),
jails with Samba (dense work with a network and storage). It is possible to complete each physical note with such jail with which any of the hardware components won't stand idle
and thus, jails won't fight for resources with other jails
The most part of a code is written on sh for the reason that similar tasks don't demand large mathematical logic - scripts generally repeating a lot of input
command of system administrator in the console, i.e., work with external utilities, such as: zfs, zpool, sudo, pkg, rsync..., respectively, need to apply languages
programming generally be absent. The part of bottlenecks, and also some functional (logtail, replication, node wathing daemon and ..) are written on C (in plans
to rewrite bottlenecks on C in the further).
cbsd depends on the following software: rsync,sudo,libssh2,sqlite3
a ready repository for kernels and the worlds that takes buildworld/installworld steps not the obligatory.
When steps of buildworld/installworld are undertaken, src.conf for a world customization is supported
base the catalog can place on MD/RAM/TMPFS on a disk that can be useful at a big num of jails with RO mounted base
support of ZFS of file system, ZFS of quotas, ZFS snapshots
GUI configurator of jails (DIALOG/WEB)
traffic count per jail
import/export of jails
descriptions for jails
cold migration of a jails between nodes
management of sequence of start of jail and their priority
a repository with ready jail template
possibility to create own scenarios for creation of jails/repository
jail converting into PXE/ISO/Memstick-image
automatic for the peolple)
convenient management, monitoring and control of jails
application platform with services on demand.
and so on...