• LXC w CentOS 7

    dodany przez Przemysław Sikora

    LXC jest lekką metodą wirtualizacji opartą na kontenerach. Kiedyś nie byłem do niej przekonany, ale to się zmieniło 🙂 Jak wszystko jest dobrze skonfigurowane, nie sprawie większych niespodzianek. “Ojczystą” dystrybucją omawianego rozwiązania jest Ubuntu. Przystępujemy o instalacji.

    yum install debootstrap perl libvirt lxc lxc-templates lxc-extra

    Startujemy lxc.

    systemctl start lxc
    systemctl start libvirtd

    Zapewniamy autostart usług związanych z lxc.

    systemctl enable lxc
    systemctl enable libvirtd

    Sprawdzamy, czy wszystko mamy dobrze zainstalowane i skonfigurowane.

    lxc-checkconfig

    Kernel configuration not found at /proc/config.gz; searching...
    Kernel configuration found at /boot/config-3.10.0-693.21.1.el7.x86_64
    --- Namespaces ---
    Namespaces: enabled
    Utsname namespace: enabled
    Ipc namespace: enabled
    Pid namespace: enabled
    User namespace: enabled
    newuidmap is not installed
    newgidmap is not installed
    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
    Bridges: enabled
    Advanced netfilter: enabled
    CONFIG_NF_NAT_IPV4: enabled
    CONFIG_NF_NAT_IPV6: enabled
    CONFIG_IP_NF_TARGET_MASQUERADE: enabled
    CONFIG_IP6_NF_TARGET_MASQUERADE: enabled
    CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled

    --- Checkpoint/Restore ---
    checkpoint restore: enabled
    CONFIG_FHANDLE: enabled
    CONFIG_EVENTFD: enabled
    CONFIG_EPOLL: enabled
    CONFIG_UNIX_DIAG: enabled
    CONFIG_INET_DIAG: enabled
    CONFIG_PACKET_DIAG: enabled
    CONFIG_NETLINK_DIAG: enabled
    File capabilities: enabled

    Note : Before booting a new kernel, you can check its configuration
    usage : CONFIG=/path/to/config /bin/lxc-checkconfig

    Kontenery tworzymy przy pomocy polecenia “lxc-create”. Poniższe przykładowe polecenie utworzy kontener o nazwie “etckeeper”, z systemem CentOS, na lvm-ie on nazwie “etckeeper”, w Volume Group “vg0” o wielkości 10GB z wykorzystaniem systemu plików xfs.

    lxc-create -n etckeeper -t centos -B lvm --vgname=vg0 --lvname=etckeeper --fssize=10G --fstype=xfs

    W omawianym przypadku hasło użytkownika root zostanie wygenerowane automatycznie i zapisane w pliku “/var/lib/lxc/etckeeper/tmp_root_pass”. Aby je odczytać wystarczy wydać poniższą komendę.

    cat /var/lib/lxc/etckeeper/tmp_root_pass

    Sprawdzanie dostępnych kontenerów na naszym serwerze odbywa się przy pomocy polecenia “lxc-ls -f”. Przykładowy efekt:
    NAME STATE IPV4 IPV6 AUTOSTART
    ------------------------------------------------------
    backup RUNNING 192.168.122.199 - YES
    dns RUNNING 192.168.122.162 - NO
    etckeeper RUNNING 192.168.122.208 - NO
    monitor RUNNING 192.168.122.73 - YES

    Aby nasz kontener uruchamiał się automatycznie wraz ze startem systemu, musimy dodać w jego pliku konfiguracyjnym tj. “/var/lib/lxc/nazwa-kontenera/config” następujący wpis:
    lxc.start.auto = 1
    W razie pytań, proszę pisać w komentarzach.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony