La'hev

Heverovy poznatky a poznámky

Uživatelské nástroje

Nástroje pro tento web


Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
linux:lxc [2015/06/30 14:52] – [Klonování] Heverlinux:lxc [2023/01/20 14:53] (aktuální) Hever
Řádek 4: Řádek 4:
 LXC pracuje s originálním linuxovým jádrem (kernelem), čímž se liší od [[OpenVZ]] (a podobných) potřebují vlastní upravenou verzi jádra. LXC pracuje s originálním linuxovým jádrem (kernelem), čímž se liší od [[OpenVZ]] (a podobných) potřebují vlastní upravenou verzi jádra.
  
-LXC začíná být rozumně **použitelné od jádra verze 3.8** (vydáno v únoru 2013), protože předtím zde byl velký bezpečnostní nedostatek, kdy root kontejnerovaného systému vystupoval jako root systému hostitelského. Od verze jádra 3.8 a s každou novou verzí jádra (především 3.12) je to už řešeno lépeale stále to není v červnu 2015 zcela ideální((Zdroj: https://support.dce.felk.cvut.cz/mediawiki/index.php/LXC)), takže při potřebě mít naprosto izolované kontejnery, je lepší použít OpenVZ (které toto díky své modifikaci jádra má vyřešené). Toto riziko je ale stále jen potenciální, takže náklonost  OpenVZ platí především pro poskytovatele veřejných kontejnerových VPS. Pokud kontejnerové systémy i hostitele spravuje jeden správce, není v tomto ohledu LXC špatnou volbou.+LXC začíná být rozumně **použitelné od jádra verze 3.8** (vydáno v únoru 2013; lépe však od verze 3.12), protože předtím zde byl velký bezpečnostní nedostatek, kdy root kontejnerovaného systému musel vystupoval jako root systému hostitelského. Od verze jádra 3.8 je už možné vytvářet kontejnery jako "neprivilegované"tj. root kontejneru běží hostiteli pod běžným účtem. Přesto stále zůstává potenciální nebezpečí pro ohrožení hostitelského systému ((dle: https://support.dce.felk.cvut.cz/mediawiki/index.php/LXC)), takže při potřebě mít naprosto izolované kontejnery, je lepší použít OpenVZ (které toto díky své modifikaci jádra má vyřešené). Toto riziko je ale stále jen potenciální, takže náklonost  OpenVZ platí především pro poskytovatele veřejných kontejnerových VPS. Pokud kontejnerové systémy i hostitele spravuje jeden správce, není v tomto ohledu LXC špatnou volbou.
  
 LXC se ve vezi 1.0 představilo v únoru 2014. LXC se ve vezi 1.0 představilo v únoru 2014.
Řádek 14: Řádek 14:
  
 ===== Přístup na virtualizované stroje ===== ===== Přístup na virtualizované stroje =====
-  * běžně jako na normální serverové stroje přes ssh +  * jako na normální serverové stroje přes ssh 
-  * zadní vrátka přes ssh hostitele a ''lxc-attach'' (do roota systému) nebo lze sledovat kompletní bootovací proces s ''lxc-start'' bez volby -d (--daemon)+  * případně přes ssh hostitele a ''lxc-attach'' (do roota systému) nebo lze sledovat kompletní bootovací proces s ''lxc-start'' bez volby -d (--daemon)
  
  
Řádek 28: Řádek 28:
 ===== Cheatsheet ===== ===== Cheatsheet =====
  
-  sudo apt-get install lxc+  apt-get install lxc
   # instaluje obslužné ''lxc-*'' nástroje (samotné lxc je součástí jádra)   # instaluje obslužné ''lxc-*'' nástroje (samotné lxc je součástí jádra)
  
Řádek 37: Řádek 37:
  
   lxc-create -t download -n server4   lxc-create -t download -n server4
 +
 +Pro lxc do verze 4 včetně je potřeba předefinovat GPG keyserver (původní není dostupný kvůli GDPR problémům). Náhradní server [[https://github.com/lxc/lxc/commit/f2a5d95d00a55bed27ef9920d67617cc75fecad8|keyserver.ubuntu.com byl dočasně používán]] a později bylo [[https://github.com/lxc/lxc/commit/58520263041b6864cadad96278848f9b8ce78ee9
 +|GPG ověřování vyřazeno]].
 +  
 +  lxc-create -t download -n server4 -- --keyserver hkp://keyserver.ubuntu.com
  
 ==== Nastavení sítě ==== ==== Nastavení sítě ====
Řádek 65: Řádek 70:
 <code> <code>
 # /var/lib/lxc/ct/config (na hostiteli) # /var/lib/lxc/ct/config (na hostiteli)
-lxc.network.type = veth + 
-lxc.network.flags = up +lxc.net.0.type = veth 
-lxc.network.link br0 bridge name +lxc.net.0.link = virbr0 # bridge name 
-lxc.network.ipv4 = 192.168.0.201/24 +lxc.net.0.flags = up 
-lxc.network.ipv4.gateway = 192.168.0.1 +lxc.net.0.hwaddr 00:16:3e:1e:9e:2a lepe nastavit jinak bude se pri kazdem startu znovu vygeneruje jina 
-lxc.network.hwaddr = 4a:49:43:49:79:bf # lepe nastavit jinak bude se pri kazdem startu znovu vygeneruje jina+lxc.net.0.ipv4.address = 192.168.0.201/24 
 +lxc.net.0.ipv4.gateway = 192.168.0.1 
 </code> </code>
  
Řádek 85: Řádek 92:
 # /var/lib/lxc/server4/rootfs/etc/resolv.conf (na hostiteli) # /var/lib/lxc/server4/rootfs/etc/resolv.conf (na hostiteli)
 nameserver 192.168.0.1 nameserver 192.168.0.1
 +</code>
 +
 +**ubuntu** kontejner ma nainstalován **resolvconf, se kterým se pracuje trochu jinak**. Místo definování DNS resolveru v resolv.conf je potřeba jej dfinovat v interfaces, protom tedy to vypadá takto nějak:
 +<code>
 +auto eth0
 +iface eth0 inet manual
 +  dns-nameservers 192.168.2.1
 </code> </code>
  
Řádek 106: Řádek 120:
  
 # pro sit # pro sit
-lxc.network.type = veth +lxc.net.0.type = veth 
-lxc.network.flags = up +lxc.net.0.link = virbr0 # bridge name 
-lxc.network.link = br0 +lxc.net.0.flags up 
-lxc.network.name eth0 +lxc.net.0.hwaddr = 00:16:3e:1e:9e:2a # lepe nastavit jinak bude se pri kazdem startu znovu vygeneruje jina 
-lxc.network.hwaddr = 4a:49:43:49:79:bf # lepe nastavit jinak bude se pri kazdem startu znovu vygeneruje jina +lxc.net.0.ipv4.address 192.168.0.201/24 
-lxc.network.ipv4 = 10.2.3.5/24 # pokazde nastavit, nebo potom zmenit v config +lxc.net.0.ipv4.gateway = 192.168.0.1 
-lxc.network.ipv4.gateway = 192.168.2.1+ 
 +# autostart 
 +lxc.start.auto = 1 
 +lxc.start.delay = 2
 </code> </code>
  
Řádek 122: Řádek 139:
 Dále doinstaluji co jsem shledal, že mi chybí v základním kontejnerovém systému Dále doinstaluji co jsem shledal, že mi chybí v základním kontejnerovém systému
 <code> <code>
 +apt-get update && apt-get upgrade
 apt-get install apt-listchanges apt-utils aptitude aptitude-common bash-completion cpio cron iputils-ping less nano openssh-server tasksel traceroute whiptail wget htop ntp rsync apt-get install apt-listchanges apt-utils aptitude aptitude-common bash-completion cpio cron iputils-ping less nano openssh-server tasksel traceroute whiptail wget htop ntp rsync
 </code> </code>
  
  
-==== Autostart ==== +
-  #/var/lib/lxc/nazev_kontejneru/config +
-  lxc.start.auto = 1 +
-  lxc.start.delay = 2+
 ==== LVM ==== ==== LVM ====
-LXC umí pracovat s LVM. Logický svazek (LV) si umí vytvořit sám během lxc-create. Určíme na kterém VG, jak veliký LV bude a jaký filesystém bude vytvořený. (default LV: dle názvu, VG:lxc, velikost:1G, fs:ext4).+LXC umí pracovat s [[linux:lvm|LVM]]. Logický svazek (LV) si umí vytvořit sám během lxc-create. Určíme na kterém VG, jak veliký LV bude a jaký filesystém bude vytvořený. (default LV: dle názvu, VG:lxc, velikost:1G, fs:ext4).
  
 ==== Klonování ==== ==== Klonování ====
Řádek 169: Řádek 184:
   lxc-ps   lxc-ps
   lxc-create -t download -n server4 -- --dist debian --release jessie --arch amd64   lxc-create -t download -n server4 -- --dist debian --release jessie --arch amd64
 +
 +UPDATE: Debian 11 v LXC
 +
 +Nepoužívá networking.service, ale systemd-networkd, takže konfigurace IP probíhá na jiném místě. V config souboru kontejneru nemá význam, je potřeba nastavif konfiguraci v souboru ''/var/lib/lxc/kontejner/rootfs/etc/systemd/network/eth0.network'' (nebo podobný název souboru)
 +
 +<code>
 +[Match]
 +Name=eth0
 +[Network]
 +Address=10.0.0.2/24
 +Gateway=10.0.0.1
 +DNS=10.0.0.1  
 +</code>
  
 ===== Odkazy ===== ===== Odkazy =====
linux/lxc.1435668756.txt.gz · Poslední úprava: 2015/06/30 14:52 autor: Hever