You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8.4 KiB

Задания

1.

Установите Proxmox на две виртульные машины Proxmox. Используйте образ диска proxmox_7.2.1.iso.

Параметры виртульных машин:

  • объем памяти RAM 32ГБ,
  • число ядер 8,
  • объем жёсткого диска 32ГБ,
  • vlan 15+X (сетевое устройство подключенное к мосту vmbr15+X),
  • IP из сети 192.168.1.0/24,
  • шлюз 192.168.1.1,
  • любой общедоступный DNS,
  • стандартный пароль для пользователя root,
  • доменные имена n[1-2].studX.myoffice.ru.

Используйте утилиту pveversion, чтобы узнать версию Proxmox.

2.

Объедините узлы в Proxmox кластер. Используйте утилиту pvecm (документаци> утилиты man pvecm). Чтобы использовать доменные имена на данном этапе внесите их в /etc/hosts каждой машины.

root@n1 # pvecm create stud15-cluster
root@n1 # systemctl restart corosync
root@n1 # pvecm status
root@n2 # pvecm add n1.stud15.myoffice.ru
root@n2 # pvecm status

3.

Настройте доступ к веб-интерфейсу с помощью прокси сервера или туннелей. Прокси-машина должна иметь два сетевых интерфейса, каждый в своей vlan: 499 и 15+X. Первая vlan позволяет подключиться к прокси из сети интернет, вторая позволяет обмениваться данными между прокси и новым кластером Proxmox.

Схема с 2 туннелями

Ноутбук --туннель--> (vmbr499) ens18 studX.myoffice.ru ens19 (vmbr30) <--туннель-- ens18 (vmbr30) n1.studX.myoffice.ru[192.168.1.200] (vlan 15+X)

n1 $ ssh -R 8006:localhost:8006 stud@studX.myoffice.ru
notebook $ ssh -L 8006:localhost:8006 stud@studX.myoffice.ru

Параметры -L и -R обозначают точку входа, локальную или на машине, к который подключается ssh. Пакеты отправленные на точку входа будут переданы через туннель, а затем направлены на адрес и порт, указанные после первого порта 8006.

Возможен более простой вариант с одним туннелем:

Ноутбук --туннель--> (vmbr499) ens18 studX.myoffice.ru ens19 (vmbr30) ------> ens18 (vmbr30) n1.studX.myoffice.ru[192.168.1.200] 
notebook $ ssh -L 8006:192.168.1.200:8006 stud@studX.myoffice.ru

Пример настройки прокси сервера nginx.

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        return 301 https://$host$request_uri;
}
server {
        listen 443 ssl;
        ssl_certificate /etc/letsencrypt/live/stud15.myoffice.ru/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/stud15.myoffice.ru/privkey.pem;
        ssl_verify_client off;
        server_name _;

        location / {
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_pass https://192.168.1.200:8006;
        }
        location /nginx_ha {
              rewrite ^/nginx_ha(.*)$ $1 break;
              proxy_pass http://10.160.179.183:80;
        }
}

Настроено перенаправление с 80 порта на 443, letsencrypt сертификаты, отключена проверка сертификатов для проксируемого сервера (в новом proxmox используются самоподписанные сертификаты на текущий момент). В локации / настроено проксирование на n1.stud15.myoffice.ru, а также добавление заголовков Upgrade и Connection для переключения с протокола http на websocket при необходимости (http://nginx.org/en/docs/http/websocket.html). Таким образом узел нового Proxmox кластера доступен по адресу https://stud15.myoffice.ru/. Сервер из задания 03_nginx_ha доступен при обращении к адресу https://stud15.myoffice.ru/nginx_ha.

4.

Создайте виртуальную машину в новом Proxmox. Скачайте образ Core проекта Tiny Core Linux http://tinycorelinux.net/downloads.html.

5.

Сделать резервное копирование (Backup) виртуальной машины из консоли или в терминале командой vzdump (документация утилиты man vzdump). Выберите тип режима --mode stop без сжатия --compress 0. Извлеките образ из архивного формата vma (https://pve.proxmox.com/wiki/VMA)

vma extract -v /var/lib/vz/dump/vzdump-qemu-100-2022_10_28-17_24_31.vma /tmp/exported_vm_100_archive

Сконвертируйте образ диска в формат VDI утилитой qemu-img. Пример команды

$ qemu-img convert -f raw -O vdi /tmp/exported_vm_100_archive/disk-drive-scsi0.raw /tmp/exported_vm_100.vdi

Объем пространства, занимаемый образом, можно определить с помощью команд qemu-img info или ls -ls;

Предупреждение: Никогда не используйте qemu-img для изменения образов, используемых запущенной виртуальной машиной или любым другим процессом; это может привести к уничтожению образа. Кроме того, имейте в виду, что запрос образа, которое изменяется другим процессом, может привести к несогласованному состоянию.

6.

Для восстановления из бекапа используется утилита qmrestore (man qmrestore). Восстановите из бэкапа виртуальную машину под другим идентификатором.

7.

Сделайте снимок (Snapshot) виртуальной машины командой qm snapshot. Найдите снимки в веб-интерфейсе. В каком виде хранятся снимки на диске?

8.

Создайте новый мост Linux Bridge в настройках узла n2.

9.

Проведите миграцию виртуальной машины с одного узла на другой командой qm migrate или из веб-интерфейса.

10.

Увеличить объем диска виртуальной машины командой qm resize.

11.

Посмотрите параметры виртуальной машины в терминале утилитой qm config.

12.

Настроите перезапуск виртуальной машины в случае отказа.

13.

Выведите список виртуальных машин в терминале.

14.

Создайте новых пользователей Proxmox mike и vera. Дайте пользователю mike права администратора, пользователю vera права пользователя виртуальными машинами.

15.

Создайте пользователя serg. Создайте ресурсный пул для этого пользователя. Назначьте для пула права PVEVMAdmin, PVEPoolUser. Убедитесь, что serg может создавать виртуальные машины в своём пуле.

16.

Попробуйте утилиту pveperf для анализа производительности узла.

Релевантные источники