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.

143 lines
7.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Задания
## 1.
Установите Proxmox на две виртуальные машины Proxmox. Используйте образ диска `proxmox_8.0.2.iso`.
Параметры виртуальных машин:
- объем памяти RAM 16ГБ,
- число ядер 4,
- объем жёсткого диска 32ГБ,
- сетевое устройство vmbrX.
Параметры установки:
- IP из сети `192.168.0.0/24` (192.168.0.[201-202]),
- шлюз `192.168.0.1`,
- любой общедоступный DNS,
- стандартный пароль для пользователя root,
- доменные имена `n[1-2].studX.myoffice.ru`.
Используйте утилиту `pveversion`, чтобы узнать версию Proxmox.
Для удобства, настройте беспарольный доступ между машинами. Так как ключи уже сгенерированы при установке, достаточно выполнить `ssh-copy-id`. Чтобы использовать доменные имена на данном этапе внесите их в `/etc/hosts` каждой машины.
## 2.
Объедините узлы в Proxmox кластер. Используйте утилиту `pvecm` (документация утилиты `man pvecm`).
```
root@n1 # pvecm create studX-cluster
root@n1 # systemctl restart corosync
root@n1 # pvecm status
```
```
root@n2 # pvecm add n1.studX.myoffice.ru
root@n2 # pvecm status
```
## 3.
Настройте доступ к веб-интерфейсу с помощью прокси сервера. Прокси-машина должна иметь два сетевых интерфейса, каждый в своей vlan: 499 и X. Первая vlan позволяет подключиться к прокси из сети интернет, вторая позволяет обмениваться данными между прокси и новым кластером Proxmox.
Пример настройки прокси сервера nginx.
```
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 /proxmox/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Accept-Encoding "";
# Standard proxying headers
proxy_set_header Host stud12.myoffice.ru;
proxy_set_header X-Real-IP 193.32.63.182;
# You need to set this manually since we include this file inside a server block on a main config
proxy_set_header X-Forwarded-Host stud12.myoffice.ru;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# SSL proxying headers
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl on;
# hack. better to use subdomains.
sub_filter_once off;
sub_filter 'src="' 'src="/proxmox';
sub_filter 'href="' 'href="/proxmox';
sub_filter_types "text/html" "text/javascript" "application/json";
proxy_pass https://192.168.0.201:8006/;
}
# hack. better to use subdomains.
location /api2/ {
proxy_pass https://192.168.0.201:8006/api2/;
}
}
```
## 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` в Realm `Proxmox VE authentication server`. Установите пользователю сложный пароль. В настройках `Datacenter -> Permissions` дайте пользователю `mike` права администратора `Administrator` на директорию `/vms`.
Установите пользователю `vera` права пользователя виртуальными машинами `PVEVMUser` на директорию `/vms` в терминале узла утилитой `pveum` (Proxmox VE User Manager).
```
pveum acl modify /vms -user vera@pve -role PVEVMUser
```
## 15.
Создайте пользователя `serg` в Realm `Proxmox VE authentication server`. Установите пользователю сложный пароль. Создайте ресурсный пул для этого пользователя. Назначьте в настройках пула для `serg` права `PVEVMAdmin`, `PVEPoolUser`. Убедитесь, что `serg` может создавать виртуальные машины в своём пуле.
## 16.
Попробуйте утилиту `pveperf` для анализа производительности узла.
## Релевантные источники
- https://pve.proxmox.com/wiki/Command_line_tools
- https://pve.proxmox.com/wiki/Backup_and_Restore
- https://pve.proxmox.com/wiki/User_Management