Diff for "LXC"


Differences between revisions 16 and 25 (spanning 9 versions)
Revision 16 as of 2011-01-21 01:04:57
Size: 5988
Editor: c-76-100-208-30
Comment:
Revision 25 as of 2014-07-29 22:20:53
Size: 1455
Editor: 192
Comment: Fixing broken link
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## BodhiZazen - I added external links to my blog.
## Sorry about that, but it is the best I can do at the moment ...
## stlsaint-making plans to transcribe blog instructions here!
## As I get a little more experience under my belt,
## and assuming the feedback goes well I plan to transcribe the blog pages here.
##
## If anyone with more experience would like to add to or comment on this information - feel free
##
## If anyone wishes to help transcribe / organize the information from my blog, again - feel free
##
## I am going to suggest breaking this documentation effort into 4 pages :
## 1. LXC Overview page.
## 2. LXC - Host configuration.
## 3. LXC - Container configuration.
## 4. LXC - Running a single process - This is more difficult then a container.

||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(2)>>||

Line 23: Line 4:
===== Notes =====
Line 25: Line 5:
 * Upstream libvirt support LXC.
 * KVM + LXC can function properly on same host.
 * LXC inside KVM works properly on same host.
 * LXC take advantage of KMS feature of new Kernels.
 * 64bit OS using a 32bit container.
 * LXC works well with btrfs.
 * No special hardware required.
 * No patch is required to the kernel, since LXC is already integrated into the Kernel.
 * OpenVZ Containers run on LXC, only Config modification required.

== User case examples ==

 1. Isolate single processes, (I.E. a webserver).
 1. VPS
 1. LTSP
 1. Software build, testing, upgrading (think sandboxing)
Ubuntu ships with the latest version of LXC and is very active in the upstream development of LXC and the containers capabilities in the kernel.
Line 43: Line 8:
The best documentation available at the moment for LXC can be found in the Server Guide:
https://help.ubuntu.com/14.04/serverguide/lxc.html
Line 44: Line 11:
= Host configuration =
[[http://github.com/phbaer/lxc-tools/|External link - lxc-tools ]] collection of utility scripts which include:
 1. lxc-ubuntu - installs ubuntu container
 1. init - init.d script
 1. lxc-status - lxc-info on all the containers
 1. lxc-halt - stop a linux container SAFELY
A good getting started guide can be found at:
https://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/
Line 51: Line 14:

[[http://blog.bodhizazen.net/linux/lxc-configure-ubuntu-lucid-containers/|External link - How to Ubuntu 10.04 LXC containers]]

[[http://blog.bodhizazen.net/linux/lxc-linux-containers/|External link - Ubuntu and Fedora Hosts]]

== kernel requirements ==

The Linux container capabilities are part of the main stream linux kernel and require kernel version >= 2.6.27 (well working as of 2.6.31).

There are no requirements to compile a kernel or apply patches.


== User space tools (lxc) ==

The user space tools, or lxc, are a set of scripts that manage linux containers.

You may install the lxc user space tools from the Ubuntu repositories.

{{{
sudo apt-get install lxc vlan bridge-utils python-software-properties screen
}}}

Or download the latest stable package from sourceforge and compile them yourself.
The lxc project maintains a git repository for a bleeding edge set of tools.

== Networking ==

There are several networking options available, the consensus appears to be that bridging your network card is the best option. As such I will cover bridging your network card here, hopefully this information can be expanded.

= Container configuration =
options/examples for config files
chroot/debootstrap/febootstrap
lxc-debian / lxc-fedora
lxc-console / ssh into containers

== Migrate OpenVZ containers ==

= Application configuration =

== Issues ==

“mknod: `/lib/udev/devices/ppp’: Operation not permitted” when updating Ubuntu 10.04 on virtual LXC machine
[[http://www.emanuelis.eu/2010/09/15/mknod-lib-udev-devices-ppp-operation-not-permitted-when-updating-ubuntu-10-04-on-virtual-lxc-machine/]]


= Other =
== Mini screen how-to ==
List screen sessions:
{{{
[HW] # sudo screen -ls
There are screens on:
        1407.init-ubuntu (07/10/2010 02:23:42 PM) (Detached)
        1364.init-test (07/10/2010 02:23:41 PM) (Detached)
        1357.init-2www (07/10/2010 02:23:40 PM) (Detached)
3 Sockets in /var/run/screen/S-root.
}}}
Login screen session:
{{{
[HW] # screen -r 1407.init-ubuntu
Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.

Ubuntu 10.04 LTS ubuntu /dev/console

ubuntu login:
}}}
Detach screen: '''C-a d''' or '''C-a C-d'''

[[http://ugatu.net/wiki/LXC|source]]
== lxc.network.type=phys & kernel versions ==
The problem:
{{{
[HW] # lxc-execute --name ubuntu -s lxc.network.type=phys bash
Segmentation fault (core dumped)
}}}
or
{{{
[HW] # lxc-execute --name net -s lxc.network.type=phys -s lxc.network.link=eth0 bash
lxc-execute: failed to move 'eth0' to the container : Message too long
}}}
The kernel before 2.6.35 does not support physical interface moving across namespace.
Maybe You can use Maverck 2.6.35 kernel in Lucid, see: [[https://launchpad.net/~kernel-ppa/+archive/ppa?field.series_filter=lucid|PPA for Ubuntu Kernel]]

[[http://comments.gmane.org/gmane.linux.kernel.containers.lxc.devel/403|source1]]
[[http://www.mail-archive.com/lxc-users@lists.sourceforge.net/msg00613.html|source2]]
Line 139: Line 16:
 * [[http://lxc.sourceforge.net/lxc.html|LXC overview (Sourceforge)]]
Line 147: Line 23:
 * [[https://help.ubuntu.com/12.04/serverguide/lxc.html|LXC Chapter in the Ubuntu Server Guide for Ubuntu 12.04]]

----
CategoryInstallation CategorySystem

Overview

LinuX Containers (LXC) provide lightweight virtualization that lets you isolate processes and resources without the need to provide instruction interpretation mechanisms and other complexities of full virtualization.

Ubuntu ships with the latest version of LXC and is very active in the upstream development of LXC and the containers capabilities in the kernel.

The best documentation available at the moment for LXC can be found in the Server Guide: https://help.ubuntu.com/14.04/serverguide/lxc.html

A good getting started guide can be found at: https://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/

See also


CategoryInstallation CategorySystem

LXC (last edited 2014-07-29 22:20:53 by 192)