0

Linux Containers (LXC), bir ana bilgisayarda (LXC ana bilgisayarı) birden fazla yalıtılmış Linux sistemi çalıştırmayı mümkün kılan işletim sistemi düzeyinde yeteneklerdir. Linux Konteynerleri, KVM, VMware ESXi veya Xen gibi hipervizörler aracılığıyla tam makine sanallaştırmasına hafif bir alternatif olarak hizmet eder. Linux, kullanıcıların Linux Konteynerler aracılığıyla sistem veya uygulama kapsayıcılarını kolayca oluşturmalarına ve yönetmelerine yardımcı olmak için güçlü bir API ve araç seti sunar. Linux Containers gerçek bir sanal makine (VM) oluşturmazken, Linux çekirdeğindeki cgroups özellikleriyle sanal bir ortam sağlarlar. VM donanım sanallaştırılmasına giderken daha az kaynak kullanarak yapılan işlemleri sistemden izole etmek istenildiği vakit LXC kullanmak mantıklı olacaktır.

Yukardaki tanımı okumadıysanız artık yeni bir container oluşturmaya başlayabiliriz. Okuduysanız ve bana göre değilmiş diyorsanız buradan çıkış yapabilirsiniz.

Kurulum

Fedora

sudo dnf install lxc lxc-templates lxc-extra debootstrap libvirt perl gpg

Debian

sudo apt install lxc libvirt-clients debootstrap

Network

/etc/lxc/default.conf dosyasında varsayılan köprüyü virbr0 konumuna getirmelisiniz:

Image for post

Etkinleştirin

systemctl komutunu kullanarak libvirtd ve lxc adlı sanallaştırma arka planını başlatın

sudo systemctl start libvirtd.service
 sudo systemctl start lxc.service
 sudo systemctl enable lxc.service

Çalıştığını doğrulayın:

sudo systemctl status libvirtd.service

LXC ağı

Lxc için yapılandırılmış ağ arabirimini görüntülemek için;

sudo brctl show

Image for post

Kernel Kontrolü

Geçerli çekirdeği lxc desteğini kontrol etmek için;

sudo lxc-checkconfig

Debian Linux Konteynerı oluşturmak

Debian 9 (“stretch”) konteynerı oluşturmak için ;

sudo lxc-create -t download -n debian-c1 -- -d debian -r stretch -a amd64

burda dikkat edilmesi gereken nokta -n parametresi name anlamına gelmektedir. Burda bizim konteynırımızın ismi debian-c1 dir. -d distro yu -r versiyonunu -a ise mimarisini belirtmektedir.

Root şifresini ayarlayın ve konteynırı başlatın:

sudo chroot /var/lib/lxc/debian-c1/rootfs/ passwd
 sudo lxc-start -n debian-c1
 lxc-console -n debian-c1

Şayet debian yerine başka imajlar yüklemek isterseniz aşağıdaki komut ve liste size yardımcı olacaktır.

Tüm imajları görmek için;

lxc-create -t download -n NULL -- --listalpine    3.10    amd64   default 20191210_13:00alpine    3.10    arm64   default 20191210_13:00alpine    3.10    armhf   default 20191210_13:00alpine    3.10    i386    default 20191210_13:00alpine    3.10    ppc64el default 20191210_13:00alpine    3.10    s390x   default 20191210_13:00alpine    3.7 amd64   default 20191210_13:00alpine    3.7 arm64   default 20191210_13:00alpine    3.7 armhf   default 20191210_13:00alpine    3.7 i386    default 20191210_13:00alpine    3.8 amd64   default 20191210_13:00alpine    3.8 arm64   default 20191210_13:00alpine    3.8 armhf   default 20191210_13:00alpine    3.8 i386    default 20191210_13:00alpine    3.8 ppc64el default 20191210_13:00alpine    3.8 s390x   default 20191210_13:00alpine    3.9 amd64   default 20191210_13:00alpine    3.9 arm64   default 20191210_13:00alpine    3.9 armhf   default 20191210_13:00alpine    3.9 i386    default 20191210_13:00alpine    3.9 ppc64el default 20191210_13:00alpine    3.9 s390x   default 20191210_13:00alpine    edge    amd64   default 20191210_13:00alpine    edge    arm64   default 20191210_13:00alpine    edge    armhf   default 20191210_13:00alpine    edge    i386    default 20191210_13:00alpine    edge    ppc64el default 20191210_13:00alpine    edge    s390x   default 20191210_13:00alt    Sisyphus    amd64   default 20191210_01:17alt    Sisyphus    arm64   default 20191210_01:17alt    Sisyphus    i386    default 20191210_01:18alt    Sisyphus    ppc64el default 20191210_01:17alt    p8  amd64   default 20191210_01:17alt    p8  i386    default 20191210_01:18alt    p9  amd64   default 20191210_01:17alt    p9  arm64   default 20191210_01:17alt    p9  i386    default 20191210_01:17alt    p9  ppc64el default 20191119_01:17apertis    17.12   amd64   default 20191117_10:53apertis    17.12   arm64   default 20191117_10:53apertis    17.12   armhf   default 20191117_10:53apertis    18.03   amd64   default 20191117_10:53apertis    18.03   arm64   default 20191117_10:53apertis    18.03   armhf   default 20191117_10:53apertis    18.06   amd64   default 20191117_10:53apertis    18.06   arm64   default 20191117_10:53apertis    18.06   armhf   default 20191117_10:53apertis    18.09   amd64   default 20191117_10:53apertis    18.09   arm64   default 20191117_10:53apertis    18.09   armhf   default 20191119_11:19apertis    18.12   amd64   default 20191210_10:53apertis    18.12   arm64   default 20191210_10:53apertis    18.12   armhf   default 20191210_10:53archlinux    current amd64   default 20191210_04:18archlinux    current arm64   default 20191203_16:19archlinux    current armhf   default 20191203_16:19centos    6   amd64   default 20191210_07:08centos    6   i386    default 20191210_07:08centos    7   amd64   default 20191210_07:08centos    7   arm64   default 20191210_07:08centos    7   armhf   default 20191210_07:08centos    7   i386    default 20191210_07:08centos    7   ppc64el default 20191210_07:08centos    8   amd64   default 20191210_07:08centos    8   arm64   default 20191210_07:08centos    8   ppc64el default 20191210_07:08debian    bullseye    amd64   default 20191210_05:24debian    bullseye    arm64   default 20191210_05:36debian    bullseye    armel   default 20191210_05:37debian    bullseye    armhf   default 20191210_05:53debian    bullseye    i386    default 20191210_05:24debian    bullseye    ppc64el default 20191210_05:24debian    bullseye    s390x   default 20191210_05:24debian    buster  amd64   default 20191210_05:24debian    buster  arm64   default 20191210_05:24debian    buster  armel   default 20191210_05:41debian    buster  armhf   default 20191210_05:40debian    buster  i386    default 20191210_05:24debian    buster  ppc64el default 20191210_05:24debian    buster  s390x   default 20191210_05:24debian    jessie  amd64   default 20191210_05:24debian    jessie  armel   default 20191210_05:24debian    jessie  armhf   default 20191210_05:42debian    jessie  i386    default 20191210_05:25debian    sid amd64   default 20191210_05:24debian    sid arm64   default 20191210_05:39debian    sid armel   default 20191210_05:24debian    sid armhf   default 20191210_05:41debian    sid i386    default 20191210_05:24debian    sid ppc64el default 20191210_05:24debian    sid s390x   default 20191210_05:24debian    stretch amd64   default 20191210_05:24debian    stretch arm64   default 20191210_05:31debian    stretch armel   default 20191210_05:24debian    stretch armhf   default 20191210_05:42debian    stretch i386    default 20191210_05:24debian    stretch ppc64el default 20191210_05:24debian    stretch s390x   default 20191210_05:24devuan    ascii   amd64   default 20191210_11:50devuan    ascii   arm64   default 20191210_11:50devuan    ascii   armel   default 20191210_11:50devuan    ascii   armhf   default 20191210_11:50devuan    ascii   i386    default 20191210_11:50fedora    29  amd64   default 20191209_20:33fedora    29  arm64   default 20191209_20:33fedora    29  armhf   default 20191209_20:33fedora    29  ppc64el default 20191209_20:33fedora    29  s390x   default 20191209_20:33fedora    30  amd64   default 20191209_20:33fedora    30  arm64   default 20191209_20:33fedora    30  ppc64el default 20191209_20:33fedora    30  s390x   default 20191209_20:33fedora    31  amd64   default 20191209_20:33fedora    31  arm64   default 20191209_20:33fedora    31  ppc64el default 20191209_20:33fedora    31  s390x   default 20191209_20:33funtoo    1.3 amd64   default 20191209_16:45funtoo    1.3 arm64   default 20191209_16:45funtoo    1.3 armhf   default 20191209_16:45funtoo    1.3 i386    default 20191209_16:45gentoo    current amd64   default 20191210_16:07gentoo    current armhf   default 20191210_16:07gentoo    current i386    default 20191210_16:07gentoo    current ppc64el default 20191210_16:07gentoo    current s390x   default 20191210_16:07kali    current amd64   default 20191209_17:14kali    current arm64   default 20191209_17:14kali    current armel   default 20191209_17:14kali    current armhf   default 20191209_17:14kali    current i386    default 20191209_17:14mint    sarah   amd64   default 20191210_08:51mint    sarah   i386    default 20191210_08:52mint    serena  amd64   default 20191210_08:51mint    serena  i386    default 20191210_08:51mint    sonya   amd64   default 20191210_08:51mint    sonya   i386    default 20191210_08:51mint    sylvia  amd64   default 20191210_08:51mint    sylvia  i386    default 20191210_08:52mint    tara    amd64   default 20191210_08:51mint    tara    i386    default 20191210_08:51mint    tessa   amd64   default 20191210_08:51mint    tessa   i386    default 20191210_08:51mint    tina    amd64   default 20191210_08:51mint    tina    i386    default 20191210_08:51opensuse    15.0    amd64   default 20191205_04:20opensuse    15.0    arm64   default 20191205_04:20opensuse    15.1    amd64   default 20191210_04:20opensuse    15.1    arm64   default 20191210_04:20opensuse    15.1    ppc64el default 20191210_04:20opensuse    tumbleweed  amd64   default 20191210_04:21opensuse    tumbleweed  arm64   default 20191210_04:20opensuse    tumbleweed  i386    default 20191210_04:20opensuse    tumbleweed  ppc64el default 20191210_04:20openwrt    18.06   amd64   default 20191210_11:57openwrt    current amd64   default 20190903_11:57openwrt    snapshot    amd64   default 20191210_11:57oracle    6   amd64   default 20191210_07:46oracle    6   i386    default 20191210_07:46oracle    7   amd64   default 20191210_07:46oracle    8   amd64   default 20191210_09:14plamo    6.x amd64   default 20191210_01:33plamo    6.x i386    default 20191210_01:33plamo    7.x amd64   default 20191210_01:33sabayon    current amd64   default 20191210_01:52ubuntu    bionic  amd64   default 20191210_07:42ubuntu    bionic  arm64   default 20191210_07:42ubuntu    bionic  armhf   default 20191210_08:05ubuntu    bionic  i386    default 20191210_07:42ubuntu    bionic  ppc64el default 20191210_07:54ubuntu    bionic  s390x   default 20191210_07:42ubuntu    cosmic  amd64   default 20191029_07:42ubuntu    cosmic  arm64   default 20191029_07:42ubuntu    cosmic  armhf   default 20191029_08:15ubuntu    cosmic  i386    default 20191029_07:43ubuntu    cosmic  ppc64el default 20191029_07:42ubuntu    cosmic  s390x   default 20191029_07:42ubuntu    disco   amd64   default 20191210_07:42ubuntu    disco   arm64   default 20191210_07:42ubuntu    disco   armhf   default 20191210_08:01ubuntu    disco   i386    default 20191210_07:43ubuntu    disco   ppc64el default 20191210_07:56ubuntu    disco   s390x   default 20191210_07:42ubuntu    eoan    amd64   default 20191210_07:42ubuntu    eoan    arm64   default 20191210_07:57ubuntu    eoan    armhf   default 20191210_07:42ubuntu    eoan    i386    default 20191210_07:43ubuntu    eoan    ppc64el default 20191210_07:42ubuntu    eoan    s390x   default 20191210_07:42ubuntu    focal   amd64   default 20191210_07:42ubuntu    focal   arm64   default 20191210_07:54ubuntu    focal   armhf   default 20191210_07:42ubuntu    focal   i386    default 20191206_07:44ubuntu    focal   ppc64el default 20191210_07:42ubuntu    focal   s390x   default 20191210_07:49ubuntu    trusty  amd64   default 20191210_07:42ubuntu    trusty  arm64   default 20191210_07:42ubuntu    trusty  armhf   default 20191210_07:59ubuntu    trusty  i386    default 20191210_07:43ubuntu    trusty  ppc64el default 20191210_07:42ubuntu    xenial  amd64   default 20191210_07:42ubuntu    xenial  arm64   default 20191210_07:55ubuntu    xenial  armhf   default 20191210_07:42ubuntu    xenial  i386    default 20191210_07:42ubuntu    xenial  ppc64el default 20191210_07:55ubuntu    xenial  s390x   default 20191210_07:42voidlinux    current amd64   default 20191209_17:10voidlinux    current arm64   default 20191209_17:10voidlinux    current armhf   default 20191209_17:10

İstediğiniz imajı kurdunuz sistemi ayağa kaldırma vakti geldi.

lxc-start -n debian-c1

Sistemin çıktıları

lxc-info -n debian-c1

Image for post

Sistemin anlık kaynak tüketimini görmek isterseniz;

lxc-top -n debian-c1

Image for post

Konteyner imha

Bir konteyner çalışıyorsa, önce durdurun ve imha edin:

sudo lxc-stop -n debian-c1
sudo lxc-destroy -n debian-c1

Bir konteyner için snapshot oluşturma

sudo lxc-snapshot -n debian-c1  -c "2019/aralık da oluştutuldu"

-c comment anlamına gelmektedir.

Konteyner için snapshot listesi

sudo lxc-snapshot -n centos-c1 -L -C

Image for post

Snapshot almadan önce kontenerı durdurmayı unutmayın

Snapshot geri yükleme

sudo lxc-snapshot -n debian-c1 -r snap0

Snapshot silme

sudo lxc-snapshot -n debian-c1 -d snap0

Bu yazı büyük hayal kırıklıkları içermektedir. Başta çok basit ve kullanması zevkli gelen bu teknoloji bana docker’ın kıymetini bir kez daha hatırlattı. Konteynerler aslında taşınabilir ve hızlıca kurulabilir oldukları için bizim için kıymetliler. Fakat LXC de oluşturduğunuz konteynerleri tar’ladıktan sonra taşıma işlemini gerçekleştiriyorsunuz. Bir kaç sitede qcow2 disk kalıbına taşınmanın mümkün olduğunu ama boot loader kısımlarının elle oluşturulması gerektiğinden bahsetmiş. Canonical’ın LXD biraz daha kullanım kolaylığı sağlasa da demo oluşturmak için çıktığım ve tanıdığım bu teknoloji yerine docker’ı tercih edeceğim. Şayet kvm üzerinde bir sanal makineniz var ise ve bunların kaynak tüketimini azaltmak istiyorsanız LXC mantıklı olacaktır. İşinize yaramasını umduğum linkleri aşağıya bırakıyorum. Kolay gelsin.

http://ilcofon.net/index.php/2016/05/29/migrate-lxc-container-to-a-new-virtual-machine-on-rhev/

https://stgraber.org/2013/12/20/lxc-1-0-blog-post-series/

Kaynak:https://medium.com/@bilselergun/lxc-nedir-lxc-kurulumu-konteyner-olu%C5%9Fturma-a03255c74523

csaridoshika
aridoshika.com genel yayın botu

    Her Linux Sistem Yöneticisinin Bilmesi Geraken 20 Komut

    Previous article

    Nasıl Facebook hesabı oluştururum?

    Next article

    You may also like

    Comments

    Bir Cevap Yazın

    More in Donanım