lxc e snapshot

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

lxc e snapshot

Messaggio da conraid »

Attualmente uso chroot per compilare pacchetti e qemu per prove varie.
Però mi è sorta una necessità. A volte sbaglio, e per esempio mi installa senza creare il pacchetto e mi ritrovo tutto in giro per il filesystem. A volte basta un make uninstall, altre no. Per fortuna al 90% sono n /usr/local e trovi tutto a mano.
Ma stavo pensando, con lxc posso fare degli snapshot per tornare ogni volta al punto di partenza? Credo l'ambiente base e poi tornare a quel punto. Ho letto un po' in rete ma ci ho capito poco. Se sì, occupa tanto spazio? Cioè se deve avere stessa dimensione non ne vale la pena. Se tiene solo le modifiche sì.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: lxc e snapshot

Messaggio da ponce »

i container lxc sono dei sistemi operativi che girano da delle directory nel filesystem: di per se lxc non gestisce snapshot, ma li puoi fare tramite strumenti di gestione del filesystem (per esempio se usi xfs, lvm o cosi' via).
il metodo piu' semplice e' spegnere il container, copiare la directory col sistema operativo altrove e poi gestire altri eventuali backup del container come gestiresti qualunque altro genere di backup incrementale (di questo mi sembra di averti fatto un esempio poco tempo fa).

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: lxc e snapshot

Messaggio da conraid »

Sì, ok, allora poco utile, nel senso che sarebbe uguale come con chroot. Però forse imparare meglio lxc mi serve anche per altro.

Andando OT, Docker lo hai mai utilizzato? Mi sembra di capire che è un container a livello applicazione.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: lxc e snapshot

Messaggio da ponce »

Docker e' uno strumento alternativo ai tool LXC il cui scopo principale e' diventato quello di creare architetture con microservizi per far girare le proprie applicazioni, anche se tanti sviluppatori brodi lo usano invece per fare dei container a se stanti con fotografie di versioni obsolete di software per far girare la loro applicazione e senza toccare nulla per paura che si rompa: i container cosi' fatti si trasformano tempo poco in qualcosa di molto simile alle fogne di Calcutta.
Comunque fornisce una API per la gestione dei suoi container e permette di fare il deployment di nuovi nodi/istanze a richiesta, per questo si parla di Platform as a Service (PaaS).
Si punta sulla redistribuzione delle immagini ma uno si puo' anche generare delle immagini da zero, a layer, tramite template yaml, con docker compose.
per l'orchestration delle immagini lo standard e' docker swarm.

per dirtela tutta io mi trovo meglio a gestire i container lxc come se fossero macchine virtuali nel filesystem e con gli script shell che mi sembrano necessari, ma capisco che in grosse realta' tanti preferiscano docker, pero', il piu' delle volte, a quello che vedo, lo usano davvero male pensando che scegliere quello li sollevi dal peso di dover amministrare un sistema linux (che invece e' imprescindibile).

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: lxc e snapshot

Messaggio da conraid »

Capito, devo approfondire lxc e docker.

A proposito del link, IBM ha preso RedHat, chissà che fine fa.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: lxc e snapshot

Messaggio da 414N »

Al lavoro ormai uso docker in pianta stabile da un paio d'anni e devo ammettere che come ausilio per lo sviluppo oppure per le build in continuous integration oppure ancore per lanciare al volo ambienti di test è fenomenale:
  • si possono creare immagini personalizzate per diverse esigenze di build;
  • ogni build parte da uno stato dell'immagine base sempre identico, quindi l'ambiente di esecuzione della build è sempre "statico" finché non si aggiorna l'immagine base;
  • è addirittura possibile, tramite l'uso di qemu-user-static (che va installato nel PATH all'interno dell'immagine del caso), l'esecuzione di software per architetture diverse (armhf/arm64) all'interno di container in esecuzione su x86/x86_64, a patto di configurare a modo il supporto binfmt_misc nel kernel della macchina host;
  • docker è ormai integrato in parecchi sistemi di CI (tipo Jenkins, Gitlab CI, Travis ecc.) e risulta piuttosto semplice impostare job che eseguano da un'immagine preconfezionata da prelevare da Docker Hub oppure da un proprio registry interno privato, piuttosto che da un Dockerfile presente nei sorgenti del progetto stesso
Ovviamente anche lui ha i suoi contro:
  • le immagini, se non progettate ad hoc, fanno presto a diventare mastodontiche, tra un layer e l'altro (ogni istruzione in un Dockerfile, salvo alcune eccezioni, causa la creazione di un nuovo layer nell'immagine);
  • la gestione dei volumi non è proprio banale, nell'ambito della creazione di ambienti "production-ready";
  • se alcuni comandi (ad esempio aggiornamenti pacchetti con apt) si aspettano di avere, per esempio, systemd in esecuzione per configurare alcuni servizi, all'interno di un container necessiteranno di vari workaround, poiché non è normalmente prevista l'esecuzioni di systemd o processi init all'interno di un container (poi un modo lo si trova, ma non è proprio il massimo...)
Purtroppo conosco poco lxc ma penso che abbia forti affinità con docker, solo che magari non ha goduto della stessa attenzione a livello di tooling/integrazioni.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: lxc e snapshot

Messaggio da conraid »

Purtroppo son tornato a "occuparmi" di front-end, e le poche energie che ho le dedico a quello, quindi ho rimandato tutte le prove con lxc e/o docker.

Rispondi