Diff for "LXC"


Differences between revisions 17 and 18
Revision 17 as of 2011-02-06 14:18:49
Size: 5989
Editor: 87-194-134-96
Comment:
Revision 18 as of 2011-04-06 03:05:48
Size: 6105
Editor: D9784B24
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
<<Include(Tag/ContentCleanup)>>
<<Include(Tag/StyleCleanup)>>
<<Include(Tag/NeedsExpansion)>>
Line 17: Line 20:
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(2)>>||
||<tablestyle="float:right; font-size:0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>||
Line 24: Line 26:
Line 36: Line 37:
Line 41: Line 41:

Line 51: Line 49:
Line 57: Line 54:
Line 62: Line 58:
Line 64: Line 59:
Line 77: Line 71:
Line 89: Line 82:
Line 91: Line 83:
Line 94: Line 85:
Line 121: Line 111:
Line 137: Line 128:
Line 147: Line 139:

----
CategoryInstallation CategorySystem

Tag/tag.png

Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info...

Tag/tag.png

Style Cleanup Required
This article does not follow the style standards in the Wiki Guide. More info...

Tag/tag.png

Needs Expansion
This article is incomplete, and needs to be expanded. More info...

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.

Notes
  • 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.

Use case examples

  1. Isolate individual processes (e.g. a webserver)
  2. VPS
  3. LTSP
  4. Software build, testing, upgrading (think sandboxing)

Host configuration

External link - lxc-tools collection of utility scripts which include:

  1. lxc-ubuntu - installs ubuntu container
  2. init - init.d script
  3. lxc-status - lxc-info on all the containers
  4. lxc-halt - stop a linux container SAFELY

External link - How to Ubuntu 10.04 LXC 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

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: PPA for Ubuntu Kernel

source1 source2

See also


CategoryInstallation CategorySystem

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