From 02fd1a14417a31ca018b162dd9622fc3f94a0d66 Mon Sep 17 00:00:00 2001 From: Vladimir Protsenko Date: Sat, 29 Oct 2022 16:35:04 +0400 Subject: [PATCH] Added description for proxy setting to virtualization tasks. --- module2/06_virtualization/tasks.md | 68 ++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 14 deletions(-) diff --git a/module2/06_virtualization/tasks.md b/module2/06_virtualization/tasks.md index 8addc22..ee227f2 100644 --- a/module2/06_virtualization/tasks.md +++ b/module2/06_virtualization/tasks.md @@ -30,18 +30,55 @@ root@n2 # pvecm status ``` ## 3. -Настройте доступ к веб-интерфейсу с помощью прокси сервера или туннелей. Схема с туннелями: +Настройте доступ к веб-интерфейсу с помощью прокси сервера или туннелей. Прокси-машина должна иметь два сетевых интерфейса, каждый в своей vlan: 499 и 15+X. Первая vlan позволяет подключиться к прокси из сети интернет, вторая позволяет обмениваться данными между прокси и новым кластером Proxmox. + +Схема с 2 туннелями ``` -Ноутбук -----------------> studX.myoffice.ru <------------------- n1.studX.myoffice.ru (vlan 15+X) +Ноутбук --туннель--> (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. -## 3. -Создайте виртуальную машину в новом Proxmox. Скачайте образ `Core` проекта `Tiny Core Linux` http://tinycorelinux.net/downloads.html. +Возможен более простой вариант с одним туннелем: +``` +Ноутбук --туннель--> (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 @@ -54,34 +91,37 @@ $ qemu-img convert -f raw -O vdi /tmp/exported_vm_100_archive/disk-drive-scsi0.r Объем пространства, занимаемый образом, можно определить с помощью команд `qemu-img info` или `ls -ls`; -## 5. +## 6. Для восстановления из бекапа используется утилита `qmrestore` (`man qmrestore`). Восстановите из бэкапа виртуальную машину под другим идентификатором. -## 6. +## 7. Сделайте снимок (Snapshot) виртуальной машины командой `qm snapshot`. Найдите снимки в веб-интерфейсе и на диске. -## 7. +## 8. Создайте два новых `Linux Bridge`, объедините их в `Linux Bond`. -## 8. +## 9. Проведите миграцию виртуальной машины с одного узла на другой командой `qm migrate` или из веб-интерфейса. -## 9. +## 10. Увеличить объем диска виртуальной машины командой `qm resize`. -## 10. +## 11. Посмотрите параметры виртуальной машины в терминале утилитой `qm config`. -## 11. +## 12. Настроите перезапуск виртуальной машины в случае отказа. -## 12. +## 13. Выведите список виртуальных машин в терминале. -## 13. +## 14. Создайте новых пользователей Proxmox `mike` и `vera`. Дайте пользователю `mike` права администратора, пользователю `vera` права пользователя виртуальными машинами. -## 14. +## 15. +Создайте пользователя `serg`. Создайте ресурный для этого пользователя. Назначьте права `PVEVMAdmin`, `PVEPoolUser` для пула этого пользователя. Убедитесь, что `serg` может создавать виртуальные машины в своём пуле. + +## 16. Попробуйте утилиту `pveperf` для анализа производительности узла. ## Релевантные источники