Cos'è LXC e come iniziare?


37

Apprezzerò se qualcuno potesse presentarmi a LXC e dirmi come iniziare con questa tecnologia? In quali casi ha senso utilizzare e in quali casi dovrei starne alla larga?


3
Se guardi il film Inception hai una buona idea di LXC. imdb.com/title/tt1375666 Rimorchio.
Qasim,

Risposte:


53

_________________________________________________ LXC _________________________________________________________

                           Linux Containers ( Ubuntu )

Panoramica

I Linux Containers (LXC) sono una tecnologia di virtualizzazione leggera e forniscono un sistema di virtualizzazione del software gratuito per i computer che eseguono GNU / Linux. Ciò è realizzato attraverso l'isolamento a livello di kernel, consente di eseguire contemporaneamente più unità virtuali (container) sullo stesso host.

Un contenitore è un modo per isolare un gruppo di processi dagli altri su un sistema Linux in esecuzione. Sfruttando funzionalità esistenti come le nuove funzionalità di gestione delle risorse e di isolamento delle risorse del kernel Linux (Cgroups e spazi dei nomi), questi processi possono avere una propria visione privata del sistema operativo con il proprio spazio ID processo (PID), struttura del file system e interfacce di rete.

I container condividono lo stesso kernel con qualsiasi altra cosa sia in esecuzione su di esso, ma possono essere costretti a utilizzare solo una quantità definita di risorse come CPU, memoria o I / O. Combinando i contenitori con altre funzionalità come il file system Btrfs, sarà possibile configurare rapidamente più istanze Linux isolate leggere su un singolo host. Pertanto i contenitori sono migliori rispetto alle zone Solaris o alle prigioni BSD.

inserisci qui la descrizione dell'immagine

Installazione

Semplificare LXC

Uno degli obiettivi principali di Ubuntu LTS era rendere LXC morto facile da usare, per raggiungere questo obiettivo. Creazione di un contenitore di base e avvio su Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

Accesso

sudo lxc-console -n my-container -t 1

L'impostazione predefinita prevede l'utilizzo della stessa versione e architettura della macchina, ovviamente sono disponibili ulteriori opzioni (–help le elencherà). Login / Password sono ubuntu / ubuntu.

Per la configurazione dettagliata dell'host


Ulteriori informazioni su LXC

Debian

Oracolo

sourceforge


Pannello Web LXC

Per i principianti consiglierei di usare LXC Webpanel, La buona parte è che se si crea un contenitore tramite la modalità cli, verrà visualizzato nel pannello Web LXC

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Apri Web Browser e Connetti

                       http://your_ip_address:5000/
                Login with user admin and password admin

Panoramica

inserisci qui la descrizione dell'immagine

Panoramica dei contenitori

inserisci qui la descrizione dell'immagine

Rete LXC

inserisci qui la descrizione dell'immagine

Impostazioni contenitore

inserisci qui la descrizione dell'immagine

Limitazione delle risorse

inserisci qui la descrizione dell'immagine

Modifica utente (Crea, Elimina modifica)

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


1
Ho dovuto installare sudo apt-get install debootstrapprima sudo lxc-create -t ubuntu -n my-containeravrebbe funzionato (Ubuntu 14.04 LTS).
CivMeierFan,

quali sono le caratteristiche di btrfs che velocizzano il provisioning del contenitore?
Chad,

11

LXC

LXC, che è un modo abbreviato per dire che LinuX Containers è un metodo di virtualizzazione a livello di sistema operativo per l'esecuzione di più sistemi Linux isolati che sono chiamati contenitori su un singolo host di controllo. Poiché LXC offre la virtualizzazione a livello di sistema operativo, non è tramite una macchina virtuale completa, ma piuttosto fornisce un proprio ambiente virtuale con un proprio processo e spazio di rete.

LXC si basa sui cgroups del kernel Linux ( gruppi di controllo ) che è sviluppato come parte di LXC che è una funzione per limitare, rendere conto e isolare l'utilizzo delle risorse (CPU, memoria, I / O del disco, ecc.) Dei gruppi di processi. Si basa anche su altri tipi di funzionalità di isolamento dello spazio dei nomi, che sono state sviluppate e integrate nel kernel principale di Linux.

In Ubuntu puoi trovare strumenti come Juju che sono usati con LXC. Puoi persino trovare diversi tutorial:

Per usare LXC e i suoi vantaggi, consiglio di leggere la Guida di Ubuntu per Juju

Sito ufficiale - https://linuxcontainers.org/

Le mailing list sono ospitate qui


2

Penso che una domanda migliore sia: cosa vuoi fare con LXC?

Vorrei iniziare con la documentazione della comunità e porre domande specifiche su cose specifiche che non capisci.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC può essere utilizzato per isolare servizi o altri processi dall'host sebbene l'isolamento non sia sempre perfetto.

LXC è, IMO, in rapido sviluppo e può essere d'aiuto se ti iscrivi alla mailing list.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch ha anche fatto una bella panoramica la scorsa settimana

http://distrowatch.com/weekly.php?issue=20130429#qa

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.