Контейнеры Linux

Перевод Linux Container

опубликованной 23 October 2015, at 07:05

 Введение

Контейнер Linux (LXC, Linux Container) является средой виртуализации уровня операционной системы для выполнения множества изолированных Linux систем на одном хосте под управлением Linux ()Wikipedia LXC. Он может быть также определен как облегченная виртуальная машина, однако, чрезвычайно быстрая и легкая для развертывания.

Существует не так много накладных расходов и, следовательно, это идеальное решение для эффективного использования ресурсов.

При запуске не требуется никаких дополнительных загрузок ядра, в результате очень быстрая загрузка.

Контейнеры Linux вводятся в Proxmox VE 4.0 и поддерживают модель хранения Proxmox.

{Прим. пер.: с более современной (31 марта 2016) информацией о контейнерах в версии Proxmox VE 4.1 вы можете ознакомиться в нашем переводе Изучение Proxmox VE.}

 Системные требования

Proxmox VE 4.0 или выше.

 Функциональность

  • Поддержка локальных каталогов (ЗАМЕЧАНИЕ: не для ZFS, используйте взамен ZFSPoolPlugin), NFS, ZFS, LVM, Ceph и DRBD9 (прочие будут/могут появляться)

  • Манипулирует размером диска

  • Снимки, откаты, клонирование, связанное клонирование (все эти функции требуют поддержки хранилищем)

  • Пространства имен ядра (ipc, uts, mount, pid, network и user)

  • Профили Apparmor

  • Политики Seccomp

  • Chroots (с применением pivot_root)

  • Возможности ядра

  • CGroups (управляющие группы)

  • Миграция

  • Резервирование и восстановление

  • Интегрированный межсетевой экран

  • Сетевая поддержка VLAN, IPv4, IPv6

 Поддерживаемые операционные системы

  • Debian 6, 7, 8

  • CentOS 6

  • Ubuntu 12.04, 14.04, 15.04

  • Archlinux

Другие операционные системы следуют пошагово.

Управление контейнерами

Управление может осуществляться либо через графический интерфейс веб, либо при помощи инструментов командной строки.

 Получение шаблона контейнера

Все шаблоны могут быть загружены через графический интерфейс.

ЗАМЕЧАНИЕ: работают только поддерживаемые ОС.

Если ваши контейнеры еще пока не видны воспользуйтесь следующей командой pve для обновления списка:

pveam update
      

 Создание контейнера

После того, как вы загрузили шаблон, вы можете создать на его основе контейнер.

Мастер графического интерфейса будет руководить вами в процессе создания контейнера.

Также контейнер можно создать при помощи инструмента командной строки pct. Для получения подробностей обратитесь к manpages

pct create 104 /var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz \
 -description LXC -rootfs 4 -hostname pvecontainer01 -memory 1024 -nameserver 8.8.8.8 \
 -net0 name=eth0,hwaddr=52:4A:5E:26:58:D8,ip=192.168.15.147/24,gw=192.168.15.1,bridge=vmbr0 \
 -storage local -password changeme
      

 Запуск контейнера

Существует два варианта запуска контейнера:

либо через графический интерфейс, либо в командной строке

pct start 100
      

 Останов контейнера

Останов контейнера может быть выполнен путем, аналогичным его запуску:

pct stop 100
      

 Резервное копирование контейнера

Резервная копия может быть сделана в трех различных режимах: снимок, приостановка и полный останов. Эти режимы опций имеют эффект, только если контейнер работает.

Режим снимка (Snapshot): эта функция зависит от файловой системы и поэтому она должна поддерживать снимки. Если выбирается режим снимка, но он не поддерживается файловой системой резервное копирование будет выполнено в режиме приостановки.

Режим приостановки (Suspend): контейнер будут заморожен на время работы резервного копирования. ЗАМЕЧАНИЕ: контейнер не работает пока выполняется резервное копирование!.

Режим остановки (Stopped): контейнер будет выключен и перезапущен после резервного копирования.

Инструментом резервного копирования командной строки контейнеров Linux является vzdump. Для получения более подробной информации читайте manpage vzdump.

vzdump 100 -compress lzo -dumpdir /var/lib/vz/dump/ -mode snapshot -remove 0
      

 Восстановление контейнера

Восстановление контейнера простое и быстрое.

В графическом интерфейсе возможно восстановление контейнера только с тем же VMID и если нет виртуальной машины с таким VMID.

Если вам нужно изменить VMID или переписать виртуальную машину, вы можете воспользоваться инструментом командной строки pct. Для получения более подробной информации читайте manpage vzdump.

pct restore 101 /var/lib/vz/dump/vzdump-lxc-100-2015_06_22-11_12_40.tar.lzo
      

 Перенос контейнера с OpenVZ на LXC

Следуйте за данной ссылкой: Convert OpenVZ to LXC. {Прим. пер.: см. также перевод Преобразование OpenVZ в LXC}.