915 lines
43 KiB
XML
915 lines
43 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
||
|
||
<chapter>
|
||
|
||
<title>Создание и настройка контейнера LXC</title>
|
||
|
||
<section>
|
||
<title>Создание контейнера в графическом интерфейсе</title>
|
||
|
||
<para>
|
||
Перед созданием контейнера можно загрузить шаблоны LXC в хранилище.
|
||
Это удобно делать через веб-интерфейс
|
||
(см. <link linkend="pve--pve-manage-iso-cache--chapter"
|
||
endterm="pve--pve-manage-iso-cache--chapter.title"/>).
|
||
</para>
|
||
|
||
<para>
|
||
Для создания контейнера необходимо нажать кнопку <guibutton>Создать СТ</guibutton>
|
||
(<guibutton>Create СТ</guibutton>), расположенную в правом верхнем углу веб-интерфейса PVE:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc1.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Кнопка <guibutton>Создать СТ</guibutton>
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Это запустит диалог <guilabel>Создать: Контейнер LXC</guilabel>, который предоставляет
|
||
графический интерфейс для настройки контейнера.
|
||
</para>
|
||
|
||
<para>
|
||
На первой вкладке <guilabel>Общее</guilabel> необходимо указать:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Узел</guilabel> (<guilabel>Node</guilabel>) — узел назначения для данного контейнера;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>CT ID</guilabel> — идентификатор контейнера в численном выражении;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Имя хоста</guilabel> (<guilabel>Hostname</guilabel>) — алфавитно-цифровая строка
|
||
названия контейнера;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Непривилегированный контейнер</guilabel> — определяет, как будут запускаться
|
||
процессы контейнера (если процессам внутри контейнера не нужны полномочия
|
||
администратора, то необходимо снять отметку с этого пункта);
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Пул ресурсов</guilabel> (<guilabel>Resource pool</guilabel>) — имя пула данного
|
||
контейнера, к которому он будет относиться. Данное значение не обязательное. Чтобы
|
||
иметь возможность выбора этот пул должен быть предварительно создан;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Пароль</guilabel> (<guilabel>Password</guilabel>) — пароль для данного контейнера;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Открытый SSH ключ</guilabel> (<guilabel>SSH public key</guilabel>) — ssh ключ.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc2.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Общее</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
На вкладке <guilabel>Шаблон</guilabel> (<guilabel>Template</guilabel>) настраиваются:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Хранилище</guilabel> (<guilabel>Storage</guilabel>) — хранилище в котором
|
||
хранятся шаблоны LXC
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Шаблон</guilabel> (<guilabel>Template</guilabel>) — шаблон контейнера.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc3.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Шаблон</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
На вкладке <guilabel>Корневой диск</guilabel> (<guilabel>Root Disk</guilabel>)
|
||
определяется хранилище, где будут храниться диски контейнера.
|
||
Здесь также можно определить размер виртуального диска (не следует выбирать размер диска менее 4 ГБ):
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc4.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Корневой диск</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
На вкладке <guilabel>Процессор</guilabel> (<guilabel>CPU</guilabel>) определяется
|
||
количество ядер процессора, которые будут выделены контейнеру:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc5.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Процессор</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
На вкладке <guilabel>Память</guilabel> (<guilabel>Memory</guilabel>)
|
||
настраиваются:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Память</guilabel>
|
||
(<guilabel>Memory</guilabel>) (MiB) — выделяемая память в мегабайтах;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Подкачка</guilabel>
|
||
(<guilabel>Swap</guilabel>) (MiB) — выделяемое пространство подкачки в мегабайтах.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc6.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Память</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Вкладка <guilabel>Сеть</guilabel> (<guilabel>Network</guilabel>) включает следующие настройки:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Имя</guilabel>
|
||
(<guilabel>Name</guilabel>) — определяет, как будет именоваться виртуальный
|
||
сетевой интерфейс внутри контейнера; значение по умолчанию eth0;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Адрес MAC</guilabel>
|
||
(<guilabel>MAC address</guilabel>) — по умолчанию, все MAC адреса для виртуальных
|
||
сетевых интерфейсов назначаются автоматически. Можно задать определенный
|
||
MAC адрес необходимый для приложения в данном контейнере;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Сетевой мост</guilabel>
|
||
(<guilabel>Bridge</guilabel>) — выбор виртуального моста, к которому
|
||
будет подключаться данный интерфейс; значение по умолчанию установлено в vmbr0;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Тег VLAN</guilabel>
|
||
(<guilabel>VLAN Tag</guilabel>) — применяется для установки идентификатора
|
||
VLAN для данного виртуального интерфейса;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Ограничение трафика</guilabel>
|
||
(<guilabel>Rate limit</guilabel>) (MBit/s) — ограничение пропускной способности сетевой среды
|
||
(в Мб/с). Для работы без ограничений следует оставить поле пустым;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Брандмауэр</guilabel>
|
||
(<guilabel>Firewall</guilabel>) — поддержка межсетевого экрана (если пункт
|
||
отмечен, применяются правила хоста);
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>IPv4/IPv6</guilabel> — можно настроить и IPv4, и IPv6 для
|
||
виртуального сетевого интерфейса. IP адреса можно устанавливать вручную
|
||
или разрешить получать от DHCP-сервера для автоматического назначения IP. IP
|
||
должен вводиться в соответствии с CIDR (например, 192.168.88.0/24).
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc7.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Сеть</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Вкладка <guilabel>DNS</guilabel> содержит настройки:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Домен DNS</guilabel>
|
||
(<guilabel>DNS domain</guilabel>) — имя домена (по умолчанию
|
||
используются параметры хост системы);
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Серверы DNS</guilabel>
|
||
(<guilabel>DNS server</guilabel>) — IP адреса серверов DNS (доступно только при
|
||
введенном имени домена).
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc8.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>DNS</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Во вкладке <guilabel>Подтверждение</guilabel> (<guilabel>Confirm</guilabel>)
|
||
отображаются все введенные или выбранные значения для данного контейнера:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc9.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Вкладка <guilabel>Подтверждение</guilabel> диалога создания контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Для создания контейнера следует нажать кнопку <guibutton>Далее</guibutton>
|
||
(<guibutton>Finish</guibutton>). Если необходимо
|
||
внести изменения в параметры контейнера, можно перейти по вкладкам назад.
|
||
</para>
|
||
|
||
<para>
|
||
Если отметить пункт <guilabel>Start after created</guilabel> контейнер будет
|
||
запущен сразу после создания.
|
||
</para>
|
||
|
||
<para>
|
||
После нажатия кнопки <guibutton>Далее</guibutton> во вкладке <guilabel>Подтверждение</guilabel>
|
||
, диалог настройки закрывается и в браузере открывается новое окно,
|
||
которое предлагает возможность наблюдать за построением PVE контейнера LXC из шаблона:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-create-lxc10.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Создание контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
</section>
|
||
|
||
<section>
|
||
<title>Создание контейнера из шаблона в командной строке</title>
|
||
|
||
<para>
|
||
Контейнер также может быть создан из шаблона при помощи командной строки хоста
|
||
PVE с использованием команды <command>pct</command>.
|
||
</para>
|
||
|
||
<para>
|
||
Следующий сценарий bash иллюстрирует применение такой команды для создания контейнера:
|
||
<screen>
|
||
#!/bin/bash
|
||
#### Set Variables ####
|
||
$hostname="pve01"
|
||
$vmid="100"
|
||
$template-path="/var/lib/vz/template/cache"
|
||
$storage="local"
|
||
$description="alt-p9"
|
||
$template="alt-p9-rootfs-systemd-x86_64.tar.xz"
|
||
$ip="192.168.88.186/24"
|
||
$nameserver="8.8.8.8"
|
||
$ram="1024"
|
||
$rootpw="changeme"
|
||
$rootfs="4"
|
||
$gateway="192.1168.88.1"
|
||
$bridge="vmbr0"
|
||
$if="eth0"
|
||
#### Execute pct create using variable substitution ####
|
||
pct create $vmid \
|
||
$template-path/$template \
|
||
-description $description \
|
||
-rootfs $rootfs \
|
||
-hostname $hostname \
|
||
-memory $ram \
|
||
-nameserver $nameserver \
|
||
-storage $storage \
|
||
-password $rootpw \
|
||
-net0 name=$if,ip=$ip,gw=$gateway,bridge=$bridge
|
||
</screen>
|
||
</para>
|
||
|
||
</section>
|
||
|
||
<section>
|
||
<title>Изменение настроек контейнера</title>
|
||
|
||
<para>
|
||
Изменения в настройки контейнера можно вносить и после его создания.
|
||
При этом изменения сразу же вступают в действие, без необходимости перезагрузки контейнера.
|
||
</para>
|
||
|
||
<para>
|
||
Есть три способа, которыми можно регулировать выделяемые контейнеру ресурсы:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
веб-интерфейс PVE;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
командная строка;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
изменение файла настройки
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<section>
|
||
|
||
<title>Изменение настроек через веб-интерфейс</title>
|
||
|
||
<para>
|
||
В большинстве случаев изменения настройки контейнера и добавление
|
||
виртуальных устройств может быть выполнено в веб-интерфейсе.
|
||
</para>
|
||
|
||
<para>
|
||
Для изменения ресурсов контейнера можно использовать три вкладки:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guimenuitem>Ресурсы</guimenuitem> (оперативная память, подкачка,
|
||
количество ядер ЦПУ, размер диска);
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guimenuitem>Сеть</guimenuitem>;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guimenuitem>DNS</guimenuitem>.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-manage-lxc.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Изменений настроек контейнера в веб-интерфейсе PVE
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Для редактирования ресурсов или добавления устройств, следует выполнить следующие действия:
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>
|
||
В режиме просмотра по серверам выбрать необходимый контейнер;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Перейти на вкладку <guimenuitem>Ресурсы</guimenuitem>
|
||
(<guimenuitem>Resource</guimenuitem>);
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Выбрать элемент для изменения: <guimenuitem>Память</guimenuitem>
|
||
(<guimenuitem>Memory</guimenuitem>), <guimenuitem>Подкачка</guimenuitem>
|
||
(<guimenuitem>Swap</guimenuitem>), <guimenuitem>Ядра</guimenuitem>
|
||
(<guimenuitem>CPU units</guimenuitem>) или
|
||
<guimenuitem>Корневой диск</guimenuitem> (<guimenuitem>Root Disk</guimenuitem>),
|
||
и нажать кнопку <guibutton>Редактировать</guibutton> (<guibutton>Edit</guibutton>);
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
В открывшемся диалоговом окне ввести нужные значения и нажать кнопку
|
||
<guibutton>OK</guibutton>.
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
<para>
|
||
Если, например, необходимо увеличить размер диска контейнера до 18 ГБ
|
||
вместо предварительно созданного 8 ГБ, нужно нажать кнопку
|
||
<guibutton>Изменить размер диска</guibutton> (<guibutton>Resize disk</guibutton>)
|
||
и в открывшемся диалоговом окне и ввести значение увеличения размера диска:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-resize-disk-lxc.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Изменение размера диска
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Для изменения сетевых настроек контейнера необходимо:
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>
|
||
В режиме просмотра по серверам выбрать необходимый контейнер;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Перейти на вкладку <guimenuitem>Сеть</guimenuitem>
|
||
(<guimenuitem>Network</guimenuitem>) для выбранного в левой панели навигации
|
||
контейнера. На экране отобразятся все настроенные для контейнера
|
||
виртуальные сетевые интерфейсы:
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-network-lxc.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Виртуальные сетевые интерфейсы контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Выбрать нужный интерфейс, и нажать кнопку <guibutton>Редактировать</guibutton>
|
||
(<guibutton>Edit</guibutton>) для внесения изменений;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
После выполнения необходимых изменений нажать кнопку <guibutton>OK</guibutton>
|
||
для принятия введенных значений:
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-network-lxc2.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Изменение сетевых настроек контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
</section>
|
||
|
||
<section>
|
||
|
||
<title>Настройка ресурсов через командную строку</title>
|
||
|
||
<para>
|
||
Если веб-интерфейс PVE недоступен, можно управлять контейнером при помощи
|
||
командной строки (либо через сеанс SSH, либо из консоли noVNC,
|
||
или зарегистрировавшись на физическом хосте).
|
||
</para>
|
||
|
||
<para>
|
||
<command>pct</command> — утилита управления контейнерами LXC в PVE.
|
||
Чтобы просмотреть доступные для контейнеров команды ALT PVE можно выполнить следующую команду:
|
||
<screen>
|
||
# <command>pct help</command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Выполняемое командой <command>pct</command> изменение ресурсов фиксируется
|
||
в контейнере немедленно без необходимости перезапуска этого контейнера.
|
||
Формат использования команды для изменения ресурсов контейнера:
|
||
<screen>
|
||
<command> pct set <ct_id> [options]</command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Например, если необходимо изменить адрес IP контейнера #125, команда должна быть такой:
|
||
<screen>
|
||
# <command>pct set 101 –net0 name=eth0,bridge=vmbr0,ip=10.10.10.17/24,gw=10.10.10.1</command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Чтобы изменить выделение памяти контейнеру в реальном масштабе времени можно
|
||
использовать следующую команду:
|
||
<screen>
|
||
<command>pct set <ct_id> -memory <int_value></command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Следующая команда изменяет имя хоста данного контейнера:
|
||
<screen>
|
||
<command>pct set <ct_id> -hostname <string></command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Команда увеличения размера диска данного контейнера:
|
||
<screen>
|
||
<command>pct set <ct_id> -rootfs size=<int_value for GB></command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Состоянием контейнера также можно управлять из командной строки PVE.
|
||
</para>
|
||
|
||
<para>
|
||
Разблокировка заблокированного контейнера в командной строке:
|
||
<screen>
|
||
<command>pct set <ct_id> -unlock</command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Список контейнеров LXC данного узла:
|
||
<screen>
|
||
# <command>pct list</command>
|
||
VMID Status Lock Name
|
||
102 stopped test
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Запуск и останов контейнера LXC из командной строки:
|
||
<screen>
|
||
<command>pct start <ct_id></command>
|
||
<command>pct stop <ct_id></command>
|
||
</screen>
|
||
</para>
|
||
|
||
</section>
|
||
|
||
<section>
|
||
<title>Настройка ресурсов прямым изменением</title>
|
||
|
||
<para>
|
||
В PVE файлы конфигурации контейнеров находятся в каталоге
|
||
<filename class="directory">/etc/pve/lxc</filename>, а файлы конфигураций
|
||
ВМ — в <filename class="directory">/etc/pve/qemu-server/</filename>.
|
||
</para>
|
||
|
||
<note>
|
||
<para>
|
||
Выполнять редактирование файла настройки контейнера LXC не рекомендуется,
|
||
несмотря на то, что это возможно.
|
||
</para>
|
||
</note>
|
||
|
||
<para>
|
||
Любые выполненные вручную изменения в файлах не применяются, пока
|
||
контейнер не будет перезапущен. Однако существуют ситуации, при которых
|
||
изменение настроек вручную необходимо. Контейнеры LXC имеют большое число
|
||
параметров, которые не могут быть изменены в веб-интерфейсе или
|
||
с помощью утилиты <command>pct</command>. Такие параметры могут быть
|
||
применены только путем изменения в файлах настройки с последующим
|
||
перезапуском таких контейнеров.
|
||
</para>
|
||
|
||
<para>
|
||
Пример файла настройки <filename>/etc/pve/lxc/102.conf</filename>:
|
||
<screen>
|
||
arch: amd64
|
||
cores: 1
|
||
hostname: test
|
||
memory: 512
|
||
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.88.90,hwaddr=8A:35:EB:70:CE:AD,ip=192.168.88.91/24,type=veth
|
||
ostype: altlinux
|
||
rootfs: local:102/vm-102-disk-0.raw,size=18G
|
||
swap: 512
|
||
unprivileged: 1
|
||
</screen>
|
||
</para>
|
||
|
||
</section>
|
||
|
||
</section>
|
||
|
||
<section>
|
||
<title>Запуск и останов контейнеров</title>
|
||
|
||
<section>
|
||
<title>Изменение состояния контейнера в веб-интерфейсе</title>
|
||
|
||
<para>
|
||
Для запуска контейнера следует выбрать его в левой панели;
|
||
его иконка должна быть серого цвета, обозначая, что контейнер не запущен.
|
||
</para>
|
||
|
||
<para>
|
||
Запустить контейнер можно выбрав в контекстном меню контейнера пункт <guimenuitem>Запуск</guimenuitem>:
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-start-lxc.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Контекстное меню контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
либо нажав на кнопку <guibutton>Запуск</guibutton> (<guibutton>Start</guibutton>):
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-start-vm2.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Кнопки управления состоянием контейнера
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
</para>
|
||
|
||
<para>
|
||
Запущенный контейнер будет обозначен зеленой стрелкой на значке контейнера.
|
||
</para>
|
||
|
||
<para>
|
||
Для запущенного контейнера доступны следующие действия:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Выключить</guilabel>
|
||
(<guilabel>Shutdown</guilabel>) — остановка контейнера;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Остановка</guilabel>
|
||
(<guilabel>Stop</guilabel>) — остановка контейнера, путем прерывания его работы;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
<guilabel>Миграция</guilabel> (<guilabel>Migrate</guilabel>) — перемещение контейнера
|
||
между узлами кластера PVE без простоев.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
</section>
|
||
|
||
<section>
|
||
<title>Изменение состояния контейнера в командной строке</title>
|
||
|
||
<para>
|
||
Состоянием контейнера можно управлять из командной строки PVE
|
||
(либо через сеанс SSH, либо из консоли noVNC, или зарегистрировавшись на физическом хосте).
|
||
</para>
|
||
|
||
<para>
|
||
Для запуска контейнера с VM ID 102 необходимо ввести команду:
|
||
<screen>
|
||
# <command>pct start 102</command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Этот же контейнер может быть остановлен при помощи команды:
|
||
<screen>
|
||
# <command>pct stop 102</command>
|
||
</screen>
|
||
</para>
|
||
</section>
|
||
</section>
|
||
|
||
<section>
|
||
<title>Доступ к LXC контейнеру</title>
|
||
|
||
<para>
|
||
Есть несколько вариантов при помощи, которых, может быть осуществлен доступ
|
||
к LXC контейнеру:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
консоль: noVNC, SPICE или xterm.js;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
SSH;
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
интерфейс командной строки PVE.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<para>
|
||
Можно получить доступ к контейнеру из веб-интерфейса при помощи консоли noVNC.
|
||
Это почти визуализированный удаленный доступ к экземпляру.
|
||
</para>
|
||
|
||
<para>
|
||
Для доступа к запущенному контейнеру через консоль следует выбрать в
|
||
веб-интерфейсе нужный контейнер, а затем нажать кнопку
|
||
<guibutton>Консоль</guibutton> (<guibutton>Console</guibutton>) и в выпадающем меню выбрать
|
||
нужную консоль:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-lxc-console.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Кнопка <guibutton>Консоль</guibutton>
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Консоль также можно запустить, выбрав вкладку <guimenuitem>Консоль</guimenuitem>
|
||
(<guimenuitem>Console</guimenuitem>) для контейнера:
|
||
</para>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/pve-lxc-console2.png" format="PNG" align="center"/>
|
||
</imageobject>
|
||
<textobject>
|
||
<phrase>
|
||
Консоль
|
||
</phrase>
|
||
</textobject>
|
||
</mediaobject>
|
||
|
||
<para>
|
||
Одной из функций LXC контейнера является возможность прямого доступа
|
||
к оболочке контейнера через командную строку его узла хоста.
|
||
Команда для доступа к оболочке контейнера LXC:
|
||
<screen>
|
||
<command>pct enter <ct_id></command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Данная команда предоставляет прямой доступ на ввод команд внутри указанного контейнера:
|
||
<screen>
|
||
[root@pve1 ~]# <command>pct enter 102</command>
|
||
[root@test ~]#
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Таким образом был получен доступ к контейнеру LXС с именем test на узле pve1.
|
||
При этом для входа в контейнер не был запрошен пароль.
|
||
Так как контейнер работает под пользователем root, можно выполнять внутри
|
||
этого контейнера любые задачи. Завершив их, можно просто набрать <command>exit</command> для
|
||
возвращения назад в свой узел из данного контейнера.
|
||
</para>
|
||
|
||
<warning>
|
||
<para>
|
||
При возникновении ошибки:
|
||
<screen>
|
||
Insecure $ENV{ENV} while running with...
|
||
</screen>
|
||
необходимо закомментировать строку:
|
||
<screen>
|
||
"ENV=$HOME/.bashrc"
|
||
</screen>
|
||
в файле <filename>/root/.bashrc</filename>.
|
||
</para>
|
||
</warning>
|
||
|
||
<para>
|
||
Также можно выполнять внутри контейнера различные команды без
|
||
реального входа в такой контейнер. Следующий формат команды
|
||
применяется для выполнения команд внутри некоего контейнера:
|
||
<screen>
|
||
<command>pct exec <ct_id> -- <command></command>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Например, если нужно создать каталог внутри контейнера и проверить
|
||
что этот каталог был создан, команды и их вывод будут следующими:
|
||
<screen>
|
||
# <command>pct exec 102 mkdir /home/demouser</command>
|
||
# <command>pct exec 102 ls /home</command>
|
||
demouser
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Для выполнения внутри контейнера команды с параметрами необходимо изменить команду
|
||
<command>pct</command>, добавив <option>--</option> после идентификатора контейнера:
|
||
<screen>
|
||
# <command>pct exec 101 -- df –H</command>
|
||
Filesystem Size Used Avail Use% Mounted on
|
||
/dev/loop0 19G 402M 18G 3% /
|
||
none 504k 0 504k 0% /dev
|
||
udevfs 5.3M 0 5.3M 0% /dev/tty
|
||
tmpfs 1.1G 0 1.1G 0% /dev/shm
|
||
tmpfs 1.1G 82k 1.1G 1% /run
|
||
tmpfs 5.3M 0 5.3M 0% /run/lock
|
||
tmpfs 1.1G 0 1.1G 0% /sys/fs/cgroup
|
||
tmpfs 1.1G 0 1.1G 0% /tmp
|
||
</screen>
|
||
</para>
|
||
</section>
|
||
|
||
</chapter>
|