Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

LXC y vserver en wheezy

Pregunta


Compañeros linuxeros, me enteré hoy de una mala noticia: mi sistema de 
virtualización ligera fetiche, vservers, no vendrá con la próxima  versión de Debian, wheezy. Mismo castigo para openvz.

La razón es que Debian ya no quiere distribuir paquetes de kernel con  patches (para utilizar vserver, era necesario instalar un kernel  "patcheado").

La solución de remplazo parece ser LXC, disponible de manera nativa en 
el kernel.

Alguien ya uso LXC ? Les parece una buena alternativa a vserver ? Algún consejo ?

Respuesta

Ya pensaste en usar KVM, tambien es parte del Kernel ... Nunca use LXC, así que no podría darte consejo al respecto, pero KVM si.


Otra respuesta

KVM y LXC son dos formas muy distintas de atacar la
virtualización. KVM implica crear una computadora virtual completa, en
la que se carga un sistema operativo, que puede ser Linux o
(básicamente) cualquier otro. LXC opta más bien por los
"compartimentos" — Restringe la visión que da del sistema el kernel a
los diferentes procesos, de modo que dentro de la misma computadora
pueden estar corriendo varios servidores lógicamente separados. Estos,
sin embargo, están corriendo con el mismo kernel de Linux — Lo único
"raro" es que este kernel lanza instancias adicionales de init (que
normalmente es exclusivamente el proceso #1)

# lxc-list
RUNNING
  backups                                                (auto)    
  refrab                                                           

FROZEN

STOPPED
  frab                                                             
  icecast                                                          
  wheezy                                                           

# lxc-info -n backups 
state:   RUNNING
pid:      9359

# ps axf|grep 9359
 9359 ?        Ss     0:02  \_ init [3]  

Como resultado de esto, una máquina virtualizada sobre LXC
prácticamente no gasta recursos cuando no está realizando trabajo. Es
mucho más rápido crear máquinas virtuales nuevas o clonar una
existente. Puedes congelar una si quieres revisar algún detalle (o
migrarla a otro host) mucho más fácilmente (porque no hay que
convencer a un kernel de que no ha pasado el tiempo ni cosas por el
estilo). Desde el host, puedes ver muy claramente la situación de cada
una de tus VMs usando comandos de Unix, porque el núcleo entiende
perfectamente lo que ocurre "ahí adentro":

# lxc-netstat -n backups
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address
State      
tcp        0      0 172.16.10.1:22022       lafa.iiec.unam.mx:51443
ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  5      [ ]         DGRAM                    3490067  /dev/log
unix  2      [ ]         DGRAM                    3814761  
unix  2      [ ]         DGRAM                    3504199  
unix  2      [ ]         DGRAM                    3490086  
# lxc-ps -n backups 
CONTAINER    PID TTY          TIME CMD
backups     9359 ?        00:00:02 init
backups     9622 ?        00:00:00 dhclient
backups     9674 ?        00:00:04 syslogd
backups     9694 ?        00:00:00 klogd
backups     9730 ?        00:00:00 cron
backups     9746 ?        00:00:00 sshd
backups    10013 ?        00:00:20 munin-node
backups    10033 pts/6    00:00:00 getty
backups    10034 pts/2    00:00:00 getty
backups    10035 pts/3    00:00:00 getty
backups    10036 pts/4    00:00:00 getty
backups    10037 pts/5    00:00:00 getty
backups    21933 ?        00:12:04 sshd


No es que haya un claro ganador entre LXC y KVM: Resuelven necesidades
muy distintas. Pero te conviene conocer a ambos.


Comentario sobre la respuesta

Parece que conoces bien LXC, lo recomendarías (para el uso que 
describiste) ? Sabes si hay algunos problemas de manejo de la memoria ? 
Nosotros tenemos un servidor de 48GB de RAM, sables si hubiera algún 
problema de compartir toda esta RAM ?
Que recomiendas: tener muchos servidores virtuales (tipo 15), o pocos 
(tipo 3), o no tiene importancia ?


Respuesta al comentario

Lo conozco, pero disto de ser experto. Y además, mi entorno es de
bastante poca complejidad.

En este momento, lo veo como un reemplazo natural y muy sencillo para
vserver y openvz (también fui migrando por estos buscando mantenerme
en algo que fuera parte propiamente tanto de Debian como de
Linux). Entiendo que había aún trabajo pendiente para que el kernel
asignara límites reales de memoria a los huéspedes, pero no estoy
seguro del avance de este punto. En mi caso, las dos máquinas en que
estoy usando LXC me reportan:

    # lxc-checkconfig 
    Kernel config /proc/config.gz not found, looking in other places...
    Found kernel config file /boot/config-3.2.0-0.bpo.3-amd64
    --- Namespaces ---
    Namespaces: enabled
    Utsname namespace: enabled
    Ipc namespace: enabled
    Pid namespace: enabled
    User namespace: enabled
    Network namespace: enabled
    Multiple /dev/pts instances: enabled
    
    --- Control groups ---
    Cgroup: enabled
    Cgroup clone_children flag: enabled
    Cgroup device: enabled
    Cgroup sched: enabled
    Cgroup cpu account: enabled
    Cgroup memory controller: enabled
    Cgroup cpuset: enabled
    
    --- Misc ---
    Veth pair device: enabled
    Macvlan: enabled
    Vlan: enabled
    File capabilities: enabled
    
    Note : Before booting a new kernel, you can check its configuration
    usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

¿Muchos o pocos? Supongo que depende completamente de tus
necesidades. Yo estoy operando con 5 y 2 huéspedes en estas
maquinitas, y todo de maravilla. Y la más grande de mis computadoras
tiene 8GB de memoria.

Ads by CJ - Linux Foundation

Share This