![GNOME -ovo novo proširenje "Desktop Icons" ulazi u beta verziju](/f/6f3a9214dcb569f458ea3f4ef6acc345.jpg?width=100&height=100)
LXC, kratica za Kontejneri za Linux, je lagano rješenje za virtualizaciju temeljeno na jezgri Linuxa, koje se praktično izvodi na vrhu operacijskog sustava, omogućujući vam istovremeno pokretanje više izoliranih distribucija.
Razlika između LXC i KVM virtualizacija je da LXC ne emulira hardver, ali dijeli isti imenski prostor jezgre, slično chroot aplikacijama.
To čini LXC vrlo brzim rješenjem za virtualizaciju u usporedbi s drugim rješenjima za virtualizaciju, poput KVM, XEN ili VMware.
Ovaj članak će vas voditi o tome kako možete instalirati, postaviti i pokrenuti LXC spremnike na distribucijama CentOS/RHEL i Fedora.
Radni Linux operativni sustav s minimalnom instalacijom:
1. LXC virtualizacija je omogućena putem Epelova spremišta. Da biste koristili ovaj repo, otvorite terminal i instalirajte Epelovo spremište u svoj sustav izdavanjem sljedeće naredbe:
# yum instalirajte epel-release.
2. Prije nego nastavite s postupkom instalacije LXC -a, uvjerite se u to Perl prevoditelja jezika, a paketi za debootstrap instaliraju se izdavanjem naredbi u nastavku.
# yum install debootstrap perl libvirt.
3. Na kraju instalirajte LXC rješenje za virtualizaciju sa sljedećom naredbom.
# yum instalirajte lxc lxc-predloške.
4. Nakon instaliranja LXC usluge provjerite je li LXC i libvirt demon je pokrenut.
# systemctl status lxc.service. # systemctl pokrenite lxc.service. # systemctl start libvirtd # systemctl status lxc.service.
Provjerite status LXC Daemona
[[zaštićena e -pošta] ~]# systemctl status lxc.service lxc.service - LXC inicijalizacija spremnika i kôd za automatsko pokretanje Učitano: učitano (/usr/lib/systemd/system/lxc.service; onemogućeno) Aktivno: neaktivno (mrtvo) [[zaštićena e -pošta] ~]# systemctl start lxc.service [[zaštićena e -pošta] ~]# systemctl status lxc.service lxc.service - LXC inicijalizacija spremnika i kôd za automatsko pokretanje Učitano: učitano (/usr/lib/systemd/system/lxc.service; onemogućeno) Aktivno: aktivno (izašlo)od pet 2016-04-01 02:33:36 EDT; Prije 1 min 37 s Proces: 2250 ExecStart =/usr/libexec/lxc/lxc-autostart-helper start (code = exited, status = 0/SUCCESS) Proces: 2244 ExecStartPre =/usr/libexec/lxc/lxc-devsetup (kôd = izašao, status = 0/USPJEH) Glavni PID: 2250 (kôd = izašao, status = 0/SUCCESS) 01. travnja 02:33:06 mail systemd [1]: Pokretanje inicijalizacije LXC spremnika i kôd za automatsko pokretanje... Travnja 01 02:33:06 mail lxc-devsetup [2244]: Stvaranje /dev/.lxc. Travnja 01 02:33:06 mail lxc-devsetup [2244]: /dev is devtmpfs. Travanj 01 02:33:06 mail lxc-devsetup [2244]: Stvaranje /dev/.lxc/user. 1. travnja 02:33:36 mail lxc-autostart-helper [2250]: Pokretanje LXC spremnika za automatsko pokretanje: [OK] 1. travnja 02:33:36 mail systemd [1]: Započela inicijalizacija LXC spremnika i kôd za automatsko pokretanje.
i provjerite status virtualizacije jezgre LXC -a izdavanjem naredbe ispod.
# lxc-checkconfig.
Provjerite konfiguraciju virtualizacije jezgre LXC
[[zaštićena e -pošta] ~]# lxc-checkconfig
Konfiguracija jezgre nije pronađena na /proc/config.gz; tražim... Konfiguracija jezgre pronađena je na /boot/config-3.10.0-229.el7.x86_64. Prostori imena Prostori imena: omogućeno
Utsname imenski prostor: omogućeno
Ipc imenski prostor: omogućeno
Pid imenski prostor: omogućeno
Korisnički imenski prostor: omogućeno
Mrežni imenski prostor: omogućeno
Više instanci /dev /pts: omogućeno Kontrolne grupe C skupina: omogućeno
Zastava Cgroup clone_children: omogućeno
Cgroup uređaj: omogućeno
Raspored C grupe: omogućeno
Cgroup CPU račun: omogućeno
Cgroup memorijski kontroler: omogućeno
Cgroup cpuset: omogućeno Uređaj za par različitih veth: omogućeno
Macvlan: omogućeno
Vlan: omogućeno
Mostovi: omogućeno
Napredni mrežni filtar: omogućeno
CONFIG_NF_NAT_IPV4: omogućeno
CONFIG_NF_NAT_IPV6: omogućeno
CONFIG_IP_NF_TARGET_MASQUERADE: omogućeno
CONFIG_IP6_NF_TARGET_MASQUERADE: omogućeno
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: omogućeno Checkpoint/Restore Kontrolna točka obnavljanje: nedostaje. CONFIG_FHANDLE: omogućeno
CONFIG_EVENTFD: omogućeno
CONFIG_EPOLL: omogućeno
CONFIG_UNIX_DIAG: omogućeno
CONFIG_INET_DIAG: omogućeno
CONFIG_PACKET_DIAG: omogućeno
CONFIG_NETLINK_DIAG: omogućeno
Mogućnosti datoteka: omogućeno Napomena: Prije pokretanja novog kernela možete provjeriti njegovu konfiguraciju. upotreba: CONFIG =/path/to/config/usr/bin/lxc-checkconfig.
5. Za popis dostupnih spremnika LXC predložaka koji su već instalirani na vašem sustavu, izdajte naredbu u nastavku.
# ls -alh/usr/share/lxc/templates/
Navedite spremnike LXC predložaka
ukupno 344K. drwxr-xr-x. 2 korijena root 4.0K 1. travnja 02:32. drwxr-xr-x. 6 korijena korijena 100 travnja 1 02:32.. -rwxr-xr-x. 1 korijen korijena 11K 15. studenog 10:19 lxc-alpski. -rwxr-xr-x. 1 korijenski korijen 14K 15. studenog 10:19 lxc-altlinux. -rwxr-xr-x. 1 korijenski korijen 11K 15. studenog 10:19 lxc-archlinux. -rwxr-xr-x. 1 korijenski korijen 9.7K 15. studenog 10:19 lxc-busybox. -rwxr-xr-x. 1 korijen korijena 29K 15. studenog 10:19 lxc-centos. -rwxr-xr-x. 1 korijen korijena 11K 15. studenog 10:19 lxc-cirros. -rwxr-xr-x. 1 korijenski korijen 17K 15. studenog 10:19 lxc-debian. -rwxr-xr-x. 1 korijenski korijen 18K 15. studenog 10:19 lxc-download. -rwxr-xr-x. 1 korijen korijena 49K 15. studenog 10:19 lxc-fedora. -rwxr-xr-x. 1 korijen korijena 28K 15. studenog 10:19 lxc-gentoo. -rwxr-xr-x. 1 korijen korijena 14K 15. studenog 10:19 lxc-openmandriva. -rwxr-xr-x. 1 korijen korijena 14K 15. studenog 10:19 lxc-opensuse. -rwxr-xr-x. 1 korijenski korijen 35K 15. studenog 10:19 lxc-oracle. -rwxr-xr-x. 1 korijen korijena 12K 15. studenog 10:19 lxc-plamo. -rwxr-xr-x. 1 korijen korijena 6.7K 15. studenog 10:19 lxc-sshd. -rwxr-xr-x. 1 korijenski korijen 23K 15. studenog 10:19 lxc-ubuntu. -rwxr-xr-x. 1 korijenski korijen 12K 15. studenog 10:19 lxc-ubuntu-cloud.
6. Postupak stvaranja LXC spremnika vrlo je jednostavan. Sintaksa naredbe za stvaranje novog spremnika objašnjena je u nastavku.
# lxc -create -n naziv_kontejnera -t predložak_kontejnera.
U donjem odlomku izradit ćemo novi spremnik pod nazivom mydeb
na temelju a debian
predložak koji će se povući iz LXC spremišta.
Izrada LXC spremnika
[[zaštićena e -pošta] ~]# lxc -create -n mydcb -t debian
debootstrap je/usr/sbin/debootstrap. Provjera preuzimanja predmemorije u/var/cache/lxc/debian/rootfs-jessie-amd64... Preuzimanje debian minimal... W: Nije moguće provjeriti potpis izdanja; datoteka privjeska ključeva nije dostupna /usr/share/keyrings/debian-archive-keyring.gpg. I: Preuzimanje izdanja I: Preuzimanje paketa I: Potvrđivanje paketa I: Rješavanje ovisnosti potrebnih paketa... I: Rješavanje ovisnosti osnovnih paketa... ...
7. Nakon niza osnovnih ovisnosti i paketa koji će se preuzeti i instalirati u vaš sustav, spremnik će se stvoriti. Kada proces završi, poruka će prikazati vašu zadanu lozinku root računa. Promijenite ovu lozinku nakon pokretanja i prijavite se na konzolu kontejnera kako biste bili sigurni.
podržani su i instalirani na vašem sustavu. perl: upozorenje: Vraćanje na standardnu lokalizaciju ("C"). Čitanje /proc /cmdline nije uspjelo. Zanemarivanje: Nema takve datoteke ili direktorija. invoke-rc.d: policy-rc.d odbijeno izvršenje pokretanja. Vremenska zona u spremniku nije konfigurirana. Prilagodite ga ručno. Root lozinka je 'korijen', promijenite! Generiranje lokalizacije (to može potrajati)... hr_IN.hr_IN... datoteka karte znakova `en_IN 'nije pronađena: Nema takve datoteke ili direktorija. /usr/share/i18n/locales/hr_IN: 55: LC_MONETARY: nepoznati znak u polju `currency_symbol 'dovršen. Generacija dovršena.
8. Sada možete koristiti lxc-ls
za popis vaših kontejnera i lxc-info
za dobivanje informacija o pokrenutom/zaustavljenom spremniku.
Za pokretanje novostvorenog spremnika u pozadini (pokrenut će se kao demon navođenjem datoteke -d
opciju) izdajte sljedeću naredbu:
# lxc -start -n mydeb -d.
9. Nakon što je spremnik pokrenut, možete popisati aktivne spremnike koristeći lxc-ls --aktivan
naredbu i dobiti detaljne informacije o pokrenutom spremniku.
# lxc-ls --aktivan.
10. Da biste se prijavili na konzolu kontejnera, izdajte lxc-konzola
naredba protiv imena spremnika koji se izvodi. Prijavite se s korisničkim korijenom i lozinkom koju je prema zadanim postavkama generirao lxc nadzornik.
Nakon što ste prijavljeni u spremnik, možete pokrenuti nekoliko naredbi kako biste provjerili distribuciju prikazivanjem datoteke /etc/issue.net
sadržaj datoteke, promijenite root lozinku izdavanjem passwd
naredbu ili prikaz pojedinosti o mrežnim sučeljima pomoću ifconfig
.
# lxc -console -n mydeb. # mačka /etc/issue.net. # ifconfig. # passwd.
Spojite se na LXC spremnik
[[zaštićena e -pošta]~]# lxc -konzola -n mydcb Povezan na tty 1. Upišite & ltCtrl+a q> za izlaz iz konzole,za unos Ctrl+a Debian GNU/Linux 8 mydcb tty1 mydcb prijava: korijen Lozinka: Posljednja prijava: Pet Apr 1 07:39:08 UTC 2016 na konzoli. Linux mydcb 3.10.0-229.el7.x86_64 #1 SMP pet ožujka 6 11:36:42 UTC 2015 x86_64 Programi uključeni u sustav Debian GNU/Linux besplatni su softver; točni uvjeti distribucije za svaki program opisani su u. pojedinačne datoteke u/usr/share/doc/*/copyright. Debian GNU/Linux dolazi s APSOLUTNO BEZ JAMSTVA, u toj mjeri. dopušteno važećim zakonom. [zaštićena e -pošta]:~# mačka /etc/issue.net Debian GNU/Linux 8. [zaštićena e -pošta]:~# ifconfig eth0 Link encap: Ethernet HWaddr 00: 16: 3e: d9: 21: d7 inet6 addr: fe80:: 216: 3eff: fed9: 21d7/64 Opseg: Link UP BROADCAST RUNNING MULTICAST MTU: 1500 Metrika: 1 RX paketi: 107 pogrešaka: 0 ispušteno: 0 prekoračenja: 0 okvir: 0 TX paketi: 8 pogrešaka: 0 ispušteno: 0 prekoračenje: 0 nositelj: 0 sudara: 0 txqueuelen: 1000 RX bajtova: 5796 (5,6 KiB) TX bajtova: 648 (648,0 B) lo Uključivanje veze: Lokalna petlja inet adr: 127.0.0.1 Maska: 255.0.0.0 inet6 addr::: 1/128 Opseg: Host UP LOOPBACK RUNNING MTU: 65536 Metrički: 1 RX paketi: 0 pogrešaka: 0 ispušteno: 0 prekoračenje: 0 okvir: 0 TX paketi: 0 pogrešaka: 0 ispušteno: 0 prekoračenje: 0 nositelj: 0 kolizija: 0 txqueuelen: 0 RX bajtova: 0 (0.0 B) TX bajtovi: 0 (0,0 B) [zaštićena e -pošta]:~# passwd root Unesite novu UNIX lozinku: Ponovno upišite novu UNIX lozinku: passwd: lozinka je uspješno ažurirana.
11. Za odvajanje od konzole kontejnera i povratak na konzolu hosta, ostavljajući spremnik u aktivnom stanju, pritisnite Ctrl+a
zatim q
na tipkovnici.
Da biste zaustavili pokrenuti spremnik, izdajte sljedeću naredbu.
# lxc -stop -n mydcb.
12. Da biste stvorili LXC spremnik na temelju Ubuntu predloška, unesite /usr/sbin/
imenik i stvorite sljedeće debootstrap simbolička veza.
# cd /usr /sbin. # ln -s debootstrap qemu -debootstrap.
13. Uredi qemu-debootstrap
datoteka s Vi urednik i zamijenite sljedeća dva OGLEDALO redove kako slijedi:
DEF_MIRROR = ” http://mirrors.kernel.org/ubuntu” DEF_HTTPS_MIRROR = ” https://mirrors.kernel.org/ubuntu”
Za referencu pogledajte sljedeći sadržaj i postavite gornja dva retka kako je navedeno:
... MAKE_TARBALL = "" EXTRACTOR_OVERRIDE = "" UNPACK_TARBALL = "" DODATNO = "" ISKLJUČI = "" VERBOSE = "" CERTIFIKAT = "" CHECKCERTIF = "" PRIVATEKEY = ""DEF_MIRROR = ” http://mirrors.kernel.org/ubuntu” DEF_HTTPS_MIRROR = ” https://mirrors.kernel.org/ubuntu”
14. Konačno stvorite novi LXC spremnik temeljen na Ubuntu predložak koji izdaje isti lxc-create
naredba.
Kada proces generiranja Ubuntu spremnika završi, poruka će prikazati vaše zadane vjerodajnice za prijavu u spremnik kao što je prikazano na donjoj snimci zaslona.
# lxc -create -n myubuntu -t ubuntu.
Napravite LXC Ubuntu spremnik
Provjera preuzimanja predmemorije u/var/cache/lxc/precizno/rootfs-amd64... Instaliranje paketa u predložak: ssh, vim, language-pack-en. Preuzimanje Ubuntu preciznog minimalnog...
15. Da biste stvorili određeni spremnik na temelju lokalnog predloška, upotrijebite sljedeću sintaksu:
# lxc -create -n container_name -t container_template --r distro_release -a distro_architercture
Ovdje je odlomak stvaranja debian wheezy spremnik s amd64 Arhitektura sustava.
# lxc -create -n mywheezy -t debian --r wheezy -a amd64.
Napravite LXC spremnik na temelju Distro arhitekture
debootstrap je /sbin /debootstrap. Provjera preuzimanja predmemorije u/var/cache/lxc/debian/rootfs-wheezy-amd64... Preuzimanje debian minimal... W: Nije moguće provjeriti potpis izdanja; datoteka privjeska ključeva nije dostupna /usr/share/keyrings/debian-archive-keyring.gpg. I: Preuzimanje izdanja I: Preuzimanje paketa I: Potvrđivanje paketa I: Rješavanje ovisnosti potrebnih paketa... I: Rješavanje ovisnosti osnovnih paketa... I: Pronađene su dodatne potrebne ovisnosti: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1 I: Pronađene su dodatne osnovne ovisnosti: adduser debian-archive-keyring gnupg gpgv isc-dhcp-common libapt-pkg4.12 libbsd0 libclass-isa-perl libedit2 libgdbm3 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libncursesw5 libprocps0 libreadline6 libssl1.0.0 libstdc ++ 6 libswitch-perl libusb-0.1-4 libwrap0 openssh-client perl perl-moduli procps readline-common I: Provjera komponente glavni na http://http.debian.net/debian... I: Preuzimanje libacl1 2.2.51-8. I: Potvrđivanje libacl1 2.2.51-8. I: Preuzimanje addusera 3.113+nmu3. I: Validacija addusera 3.113+nmu3. I: Preuzimanje apt 0.9.7.9+deb7u7. I: Provjeravanje ispravnosti 0.9.7.9+deb7u7. I: Preuzimanje libapt-pkg4.12 0.9.7.9+deb7u7. I: Potvrđivanje libapt-pkg4,12 0,97,9+deb7u7. I: Dohvaćanje libattr1 1: 2.4.46-8. I: Potvrda libattr1 1: 2.4.46-8. I: Preuzimanje osnovnih datoteka 7.1wheezy9. I: Provjeravanje osnovnih datoteka 7.1wheezy9. I: Preuzimanje base-passwd 3.5.26...
16. Na primjer, mogu se stvoriti i posebni spremnici za različita izdanja distribucije i arhitekture iz generičkog predloška koji će se preuzeti iz LXC spremišta kako je prikazano u nastavku primjer.
# lxc -create -n mycentos6 -t download --d centos -r 6 -a i386.
Ovdje je popis lxc-create
prekidači naredbenog retka:
-n = ime -t = predložak. -d = distibucija. -a = arh. -r = otpuštanje.
17. Kontejneri se mogu izbrisati s vašeg računala pomoću lxc-uništiti
naredba izdana protiv naziva spremnika.
# lxc -uništi -n mywheezy.
18. Spremnik se može klonirati iz postojećeg spremnika izdavanjem lxc-klon
naredba:
# lxc-klon mydeb mydeb-klon.
19. I na kraju, svi stvoreni spremnici nalaze se u /var/lib/lxc/
imenik. Ako iz nekog razloga morate ručno prilagoditi postavke spremnika, morate urediti konfiguracijsku datoteku iz svakog direktorija spremnika.
# ls/var/lib/lxc.
Ovo su samo osnovne stvari koje trebate znati kako biste se snašli u LXC -u.