AltEduPve: различия между версиями
Vovan (обсуждение | вклад) |
Vovan (обсуждение | вклад) (→Установка PVE) |
||
Строка 30: | Строка 30: | ||
==Установка PVE== | ==Установка PVE== | ||
+ | |||
+ | Представим, что после установки ваша операционная система доступна в сети по адресу: | ||
+ | |||
+ | 172.16.224.198 | ||
+ | |||
+ | , в системе имеется единственный обычный пользователь | ||
+ | |||
+ | student | ||
+ | |||
+ | с паролем, который вам известен. Также вам известен пароль от суперпользователя (он же root). | ||
+ | |||
+ | Представили? Тогда продолжим с этими исходными данными. | ||
+ | |||
+ | Входим на сервер по ssh: | ||
+ | |||
+ | ssh student@172.16.224.198 | ||
+ | |||
+ | Переключаемся в суперпользователя: | ||
+ | |||
+ | su - | ||
+ | |||
+ | Заводим переменные, в которых будем хранитьс наше имя хоста и сетевые параметры: | ||
+ | |||
+ | MACHINE_NAME='altedu-pve-a-XX' | ||
+ | MACHINE_IP_AND_MASK='172.16.224.198/16' | ||
+ | MACHINE_GATEWAY='172.16.1.1' | ||
+ | MACHINE_DNS='172.16.1.1' | ||
+ | |||
+ | Перенастраиваем сеть в режим "мост": | ||
+ | |||
+ | rm -rf /etc/net/ifaces/* | ||
+ | mkdir /etc/net/ifaces/vmbr0 | ||
+ | cat << EOF > /etc/net/ifaces/vmbr0/options | ||
+ | TYPE=bri | ||
+ | ONBOOT=yes | ||
+ | DISABLED=no | ||
+ | NM_CONTROLLED=no | ||
+ | CONFIG_WIRELESS=no | ||
+ | CONFIG_IPV4=yes | ||
+ | CONFIG_IPV6=no | ||
+ | BOOTPROTO=static | ||
+ | HOST="eth0" | ||
+ | EOF | ||
+ | echo $MACHINE_IP_AND_MASK > /etc/net/ifaces/vmbr0/ipv4address | ||
+ | echo "default via $MACHINE_GATEWAY" > /etc/net/ifaces/vmbr0/ipv4route | ||
+ | echo "nameserver $MACHINE_GATEWAY" > /etc/resolve.conf | ||
+ | service network restart | ||
+ | |||
+ | Переименовываем машину и настраиваем определённым образом хост-файл: | ||
+ | |||
+ | hostnamectl set-hostname $MACHINE_NAME | ||
+ | IP=$(ip a | grep vmbr0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'}) | ||
+ | HOST=$(hostname) | ||
+ | echo "127.0.0.1 localhost" > /etc/hosts | ||
+ | echo "$IP $HOST.nntc.nnov.ru $HOST" >> /etc/hosts | ||
+ | |||
+ | Перезагружаемся и подключаемся заново | ||
+ | |||
+ | reboot | ||
+ | |||
+ | ssh student@172.16.224.198 | ||
+ | su - | ||
+ | |||
+ | Обновляем систему | ||
+ | |||
+ | apt-get update -qq | ||
+ | apt-get dist-upgrade | ||
+ | |||
+ | Устанавливаем необходимые пакеты и включаем необходимые сервисы | ||
+ | |||
+ | apt-get install -qq -y pve-manager kernel-modules-zfs-std-def | ||
+ | |||
+ | systemctl start rrdcached ksmtuned crond lxcfs openvswitch nfs-client.target | ||
+ | systemctl enable rrdcached ksmtuned crond lxcfs openvswitch nfs-client.target | ||
+ | |||
+ | systemctl start pve-cluster | ||
+ | systemctl enable pve-cluster | ||
+ | |||
+ | systemctl start lxc lxc-net lxc-monitord pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy | ||
+ | systemctl enable corosync lxc lxc-net lxc-monitord pve-cluster pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy pve-guests | ||
+ | |||
+ | Перезагружаемся (чтобы убедиться, что после полного рестарта все сервисы были запущены и система готова). | ||
+ | |||
+ | Веб-интерфейс системы должен находиться по адресу: | ||
+ | |||
+ | http://localhost:8006 | ||
+ | |||
+ | Для доступа в систему по ssh от пользователя root рекомендуется использовать ключи доступа ssh. Если же по каким-либо причинам необходимо разрешить доступ под суперпользователем по паролю, то это можно включить следующими командами (выполнять их нужно из-под суперпользователя): | ||
+ | |||
+ | sed -i 's/#PermitRootLogin without-password/PermitRootLogin yes/g' /etc/openssh/sshd_config | ||
+ | systemctl restart sshd |
Версия 09:21, 2 июня 2021
Содержание
Зачем и почему
Этот раздел не технический. Если цели и задачи понятны, то его можно пропустить :)
Что это?
Это статья, описывающая процесс развёртывания Proxmox Virtual Environment (PVE) в дистрибутиве Alt Education (Альт Образование)
Для чего?
При современных возможностях вычислительной техники при обучении IT-специальностям (и не только им) полезно бывает использовать виртуальные окружения для проведения лабораторных работ.
PVE является отличной альтернативой средам настольной виртуализации и превосходит по возможностям, важным с точки зрения получения обучающимися практических навыков работы с различным спектром программного обеспечения, начиная от базовых основ операционных систем, заканчивая высокоуровневыми языками программирования и платформами разработки программного обеспечения.
Среди ключевых важных и полезных возможностей PVE при использовании с образовательных целях следует отметить следующие:
- Веб-интерфейс управления (обучающемуся не обязательно находиться физически на компьютере, чтобы иметь полный доступ к виртуальной машине)
- Разграничение прав доступа (ресурсы одной аппаратной машины посредством механизма пользователей и ролей можно распределить между несколькими обучающимися)
- Шаблонизация и связанные копии (на базе шаблонов виртуальных машин можно быстро (очень быстро, секунды) создавать клонов, диски которых будут представлять из себя связанные копии относительно диска шаблона) -- это позволяет экономить дисковые и временнЫе ресурсы (проверено при работе с хранилищами на ZFS)
- Удобный интерфейс взаимодействия с внешними хранилищами (всё настраивается из Веб-интерфейса). При использовании нескольких физических машин с PVE посредством подключения хранилищ можно легко организовать обмен резервными копиями и шаблонами
- Возможность предоставления доступа к виртуальным машинам извне (вынеся порт Веб-интерфейса за пределы шлюза веб интерфейс со всем функционалом доступа к виртуальным машинам будет доступен извне) -- может быть актуально при полностью или частично дистанционном подходе к практическому обучению
- Возможность кластеризации решения. Кластеризация даёт удобный механизм управления группой физических машин из одного Веб-интерфейса (из любого из Веб-интерфейсов на любой машине-узле кластера). Помимо единого "командного пункта" кластеризация даёт возможность миграции виртуальных машин между физическими узлами (без необходимости ввода команд в консоли (мышкой из веб интерфейса), без остановки машин - всё автоматизировано (опять же: без консоли, мышкой))
- Наверняка, что-то важное из плюсов данного решения, должного быть здесь, упущено...
Установка
Важная информация
Установка операционной системы
Установка PVE
Представим, что после установки ваша операционная система доступна в сети по адресу:
172.16.224.198
, в системе имеется единственный обычный пользователь
student
с паролем, который вам известен. Также вам известен пароль от суперпользователя (он же root).
Представили? Тогда продолжим с этими исходными данными.
Входим на сервер по ssh:
ssh student@172.16.224.198
Переключаемся в суперпользователя:
su -
Заводим переменные, в которых будем хранитьс наше имя хоста и сетевые параметры:
MACHINE_NAME='altedu-pve-a-XX' MACHINE_IP_AND_MASK='172.16.224.198/16' MACHINE_GATEWAY='172.16.1.1' MACHINE_DNS='172.16.1.1'
Перенастраиваем сеть в режим "мост":
rm -rf /etc/net/ifaces/* mkdir /etc/net/ifaces/vmbr0 cat << EOF > /etc/net/ifaces/vmbr0/options TYPE=bri ONBOOT=yes DISABLED=no NM_CONTROLLED=no CONFIG_WIRELESS=no CONFIG_IPV4=yes CONFIG_IPV6=no BOOTPROTO=static HOST="eth0" EOF echo $MACHINE_IP_AND_MASK > /etc/net/ifaces/vmbr0/ipv4address echo "default via $MACHINE_GATEWAY" > /etc/net/ifaces/vmbr0/ipv4route echo "nameserver $MACHINE_GATEWAY" > /etc/resolve.conf service network restart
Переименовываем машину и настраиваем определённым образом хост-файл:
hostnamectl set-hostname $MACHINE_NAME IP=$(ip a | grep vmbr0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'}) HOST=$(hostname) echo "127.0.0.1 localhost" > /etc/hosts echo "$IP $HOST.nntc.nnov.ru $HOST" >> /etc/hosts
Перезагружаемся и подключаемся заново
reboot
ssh student@172.16.224.198 su -
Обновляем систему
apt-get update -qq apt-get dist-upgrade
Устанавливаем необходимые пакеты и включаем необходимые сервисы
apt-get install -qq -y pve-manager kernel-modules-zfs-std-def
systemctl start rrdcached ksmtuned crond lxcfs openvswitch nfs-client.target systemctl enable rrdcached ksmtuned crond lxcfs openvswitch nfs-client.target
systemctl start pve-cluster systemctl enable pve-cluster
systemctl start lxc lxc-net lxc-monitord pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy systemctl enable corosync lxc lxc-net lxc-monitord pve-cluster pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy pve-guests
Перезагружаемся (чтобы убедиться, что после полного рестарта все сервисы были запущены и система готова).
Веб-интерфейс системы должен находиться по адресу:
http://localhost:8006
Для доступа в систему по ssh от пользователя root рекомендуется использовать ключи доступа ssh. Если же по каким-либо причинам необходимо разрешить доступ под суперпользователем по паролю, то это можно включить следующими командами (выполнять их нужно из-под суперпользователя):
sed -i 's/#PermitRootLogin without-password/PermitRootLogin yes/g' /etc/openssh/sshd_config systemctl restart sshd