
Днес ще разгледаме как бързо и лесно на един физически сървър да се инсталират няколко виртуални сървъра с различни операционни системи. Това ще позволи на всеки системен администратор да управлява цялата IT инфраструктура на компанията централизирано и да спестява голямо количество ресурси. Използването на виртуализация помага максимално да се абстрахираме от физическото сървърно оборудване, да защитим критичните услуги и лесно да възстановим тяхната работа дори в случаи на сериозни неизправности.
Без съмнение, повечето системни администратори са запознати с методите за работа в виртуалната среда и тази статия няма да им бъде откритие. Въпреки това, съществуват компании, които не използват гъвкавостта и бързината на виртуалните решения поради липса на точна информация за тях. Надяваме се, че нашата статия ще помогне да се види на практика, че е много по-лесно да се започне да се използва виртуализация веднъж, отколкото да се преживяват неудобствата и недостатъците на физическата инфраструктура.
За щастие, изпробването на работата на виртуализацията е сравнително лесно. Ще покажем как да създадете сървър в виртуална среда, например, за пренос на CRM система, използвана в компанията. Практически всеки физически сървър може да бъде превърнат във виртуален, но първо е необходимо да се усвоят основните методи на работа. За това ще стане дума по-долу.
Как е устроено
Когато говорим за виртуализация, много начинаещи специалисти имат затруднения в разбирането на терминологията, затова ще поясним някои основни понятия:
- Хипервизор – специален софтуер, който позволява създаване и управление на виртуални машини;
- Виртуална машина (по-нататък VM) – система, представляваща логически сървър в рамките на физическия, със свой набор от характеристики, хранилища и операционна система;
- Виртуализационен хост — физически сървър с инсталиран върху него хипервайзор.
За да може сървърът да работи като пълноправен виртуализационен хост, неговият процесор трябва да поддържа една от двете технологии – или Intel® VT, или AMD-V™. И двете технологии изпълняват важна задача – предоставяне на хардуерни ресурси на виртуалните машини.
Ключовата особеност е, че всяко действие на виртуални машини изпълняват се директно на ниво хардуер. Те са изолирани един от друг, което позволява сравнително лесно управление на всеки поотделно. Самият хипервизор играе роля на контролиращ орган, разпределяйки ресурси, роли и приоритети между тях. Освен това, хипервизорът е отговорен за еймулцията на частта от хардуера, необходима за правилната работа на операционната система.
Внедряването на виртуализация дава възможност за наличието на няколко стартирани копия на един и същи сървър. Критична грешка или проблем при извършване на промени в такова копие няма да повлияе на работата на текущия сервиз или приложение. Също така, две основни проблема се решават – скалируемост и възможност за управление на „зоо парк“ от различни операционни системи на едно и също оборудване. Това е идеална възможност за комбиниране на различни сервизи без необходимост от закупуване на отделно оборудване за всеки от тях.
Виртуализацията увеличава отказоустойчивостта на сервизите и разположените приложения. Дори ако физическият сървър се повреди и трябва да бъде заменен с друг, цялата виртуална инфраструктура ще остане напълно функционална, при условие че дисковите носители са запазени. В същото време, физическият сървър може да бъде произвеждан от напълно различен производител. Това е особено актуално за компании, които използват сървъри, производството на които е прекратено и ще е необходимо преминаване към други модели.
Сега ще изброим най-популярните хипервизори, налични в момента:
- VMware ESXi
- Microsoft Hyper-V
- Open Virtualization Alliance KVM
- Oracle VM VirtualBox
Всички те са доста универсални, обаче, всеки от тях има определени особености, които трябва да се вземат предвид при избора: цена на внедряване/поддържане и технически характеристики. Цената на търговските лицензи на VMware и Hyper-V е доста висока, а при възникване на проблеми, решаването им с помощта на собствените ресурси е много трудно.
KVM, от своя страна, е напълно безплатен и достатъчно лесен за работа, особено в рамките на готово решение на базата на Debian Linux, наречено Proxmox Virtual Environment. Именно тази система можем да препоръчаме за първоначално запознаване с мира на виртуалната инфраструктура.
Как бързо да инсталираме хипервизора Proxmox VE
Инсталацията обикновено не предизвиква никакви въпроси. Изтеглете актуалната версия на образа официалния сайт и го запишете на всяко външно устройство с помощта на утилитата Win32DiskImager (в Linux се използва командата dd), след което стартираме сървъра директно от това устройство. Нашите клиенти, които наемат от нас посветени сървъри, могат да се възползват от два още по-простичи метода - просто монтиране на нужния образ директно от KVM конзолата или използвайки нашия PXE сървър..
Инсталационната програма разполага с графичен интерфейс и ще зададе само няколко въпроса.
- Избирайте диска, на който ще бъде извършена инсталацията. В секцията Опции може също да зададете допълнителни параметри за разделяне.

- Посочете регионалните настройки.

- Посочете парола, която ще се използва за удостоверяване на суперпотребителя root и имейл адрес на администратора.

- Посочете мрежовите настройки. FQDN означава напълно квалифицирано име на домейн, например, node01.yourcompany.com.

- След завършването на инсталацията, сървърът може да бъде рестартиран с бутона Reboot.

Веб интерфейсът за управление ще бъде достъпен на адреса
https://IP_адрес_сервера:8006
Какво трябва да направим след инсталацията
Има няколко важни неща, които трябва да извършим след инсталацията на Proxmox. Ще разкажем за всяко от тях по-подробно.
Актуализирайте системата до последната версия
За целта ще влезем в конзолата на нашия сървър и ще деактивираме платения репозиторий (достъпен само за тези, които са закупили платена поддръжка). Ако това не бъде направено, apt ще покаже грешка при обновление на източниците на пакети.
- Отворете конзолата и редактирайте конфигурационния файл на apt:
nano /etc/apt/sources.list.d/pve-enterprise.list - В този файл ще има само един ред. Слагаме символ пред него #, за да изключим получаването на обновления от платения репозиторий:
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise - С комбинацията от клавиши Ctrl + X правим изход от редактора, отговаряйки Y на въпроса на системата за запазване на файла.
- Изпълняваме командата за обновление на източниците на пакети и обновление на системата:
apt update && apt -y upgrade
Погрижете се за сигурността
Можем да препоръчаме да инсталирате популярната утилита Fail2Ban, която защитава от атаки чрез подбиране на пароли (брутфорс). Принципът на функциониране е, че ако нападателят превиши определен брой опити за вход за даден период от време с неверни потребителско име/парола, неговият IP адрес ще бъде блокиран. Периодът на блокиране и броят на опитите могат да бъдат зададени в конфигурационния файл.
Според практическото есперимент, в рамките на седмица работа на сървъра с отворен ssh порт 22 и външен статичен IPv4 адрес, бяха направени повече от 5000 опити за подбор на парола. И около 1500 адреса успешно бяха блокирани от утилитата.
За изпълнение на инсталацията предлагаме кратка инструкция:
- Отваряме конзолата на сървера чрез уеб интерфейса или SSH.
- Обновяваме източниците на пакети:
apt update - Инсталираме Fail2Ban:
apt install fail2ban - Отваряме конфигурацията на утилитата за редактиране:
nano /etc/fail2ban/jail.conf - Променяме променливите bantime (броят секунди, за които ще бъде блокиран нападателят) и maxretry (броят на опитите за въвеждане на потребителско име/парола) за всяка отделна услуга.
- С комбинацията от клавиши Ctrl + X правим изход от редактора, отговаряйки Y на въпроса на системата за запазване на файла.
- Рестартираме службата:
systemctl restart fail2ban
Статусът на работата на утилитата, например, статистиката за блокировки на блокираните IP адреси, от които е имало опити за подбор на пароли SSH, може да бъде проверен с една проста команда:
fail2ban-client -v status sshdОтговорът на утилитата ще изглежда така:
root@hypervisor:~# fail2ban-client -v status sshd
INFO Loading configs for fail2ban under /etc/fail2ban
INFO Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO Using socket file /var/run/fail2ban/fail2ban.sock
Status for the jail: sshd
|- Filter
| |- Currently failed: 3
| |- Total failed: 4249
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 410
`- Banned IP list:По същия начин може да се затвори уеб интерфейсът от подобни атаки, създавайки съответно правило. Пример за такова правило за Fail2Ban можете да намерите в официалното ръководство.
Започване
Искаме да подчертаем, че Proxmox е готов за създаване на нови устройства веднага след инсталацията. Въпреки това, препоръчваме да извършите предварителни настройки, за да улесните управлението на системата занапред. Практиката показва, че хипервизорът и виртуалните машини е добре да бъдат разположени на различни физически носители. По какъв начин да го направите ще разискваме по-долу.
Настройка на дисковите устройства
Следващият етап е да се настрои хранилището, което може да се използва за съхранение на данни от виртуалните машини и резервни копия.
ВНИМАНИЕ! Пример дисковой разметки ниже подходит только для тестирования. Для реальной эксплуатации настоятельно рекомендуется использовать программный или аппаратный RAID-массив, чтобы избежать потери данных в случае выхода дисков из строя. Как правильно подготовить дисковый массив к работе и что делать в случае аварийной ситуации, мы расскажем в одной из следующих статей.
Представим, что физический сервер оснащен двумя дисками — /dev/sda, на одном из которых установлен гипервизор, а на другом — пустой диск /dev/sdb, который планируется использовать для хранения данных виртуальных машин. Чтобы система увидела новое хранилище, можно подключить его как обычную директорию. Однако перед этим необходимо выполнить некоторые подготовительные действия. В качестве примера рассмотрим, как подключить новый диск /dev/sdb, любого размера, отформатировав его в файловую систему ext4.
- Размечаем диск, создавая новый раздел:
fdisk /dev/sdb - Нажимаем клавишу o или g (разметить диск в MBR или GPT).
- Далее нажимаем клавишу n (создать новый раздел).
- И наконец w (для сохранения изменений).
- Создаем файловую систему ext4:
mkfs.ext4 /dev/sdb1 - Создаем директорию, куда будем монтировать раздел:
mkdir /mnt/storage - Открываем конфигурационный файл на редактирование:
nano /etc/fstab - Добавляем туда новую строку:
/dev/sdb1 /mnt/storage ext4 defaults 0 0 - После внесения изменений сохраняем их сочетанием клавиш Ctrl + X, отвечая Y на вопрос редактора.
- Для проверки работоспособности отправляем сервер на перезагрузку:
shutdown -r now - После перезагрузки проверяем смонтированные разделы:
df -H
Вывод команды должен показать, что /dev/sdb1 смонтирован в директорию /mnt/storage. Это значит, что наш накопитель готов к работе.
Добавить новое хранилище в Proxmox
Авторизуемся в панели управления и переходим в разделы Център за данни ➝ Хранилище ➝ Добави ➝ Директория.
В открывшемся окне заполняем следующие поля:
- ID — название будущего хранилища;
- Директория — /mnt/storage;
- Съдържание — выделяем все варианты (поочередно щелкая на каждом варианте).

После этого нажимаем кнопку Добави. На этом настройка завершена.
Создать виртуальную машину
Для создания виртуальной машины выполняем следующую последовательность действий:
- Определяемся с версией операционной системы.
- Заранее закачиваем ISO-образ.
- Выбираем в меню Хранилище новосъздадено хранилище.
- Натиснете Съдържание ➝ Изтегли.
- Избираме ISO образ от списъка и потвърдете избора с натискане на бутона Изтегли.
След завършване на операцията, образът ще се появи в списъка на наличните.

Създаваме нашата първа виртуална машина:
- Натиснете Създайте VM.
- Поетапно попълваме параметрите: Име ➝ ISO-образ ➝ Размер и тип на твърдия диск ➝ Брой процесори ➝ Обем на оперативната памет ➝ Мрежов адаптер.
- След като изберем всички желани параметри, натискаме Завършване. Създадената машина ще се появи в менюто на контролния панел.
- Избираме я и натискаме Стартирането.
- Преминаваме към Конзола и инсталираме операционната система точно по същия начин, както на обикновен физически сървър.
Ако е необходимо да създадете още една машина — повтаряме горепосочените операции. След като всички те са готови, с тях може да се работи едновременно, отваряйки няколко прозореца на консолата.
Настройки за автоматичен стартиране
По подразбиране Proxmox автоматично не стартира машините, но това лесно се решава с буквално две кликвания с мишката:
- Кликнете върху името на нужната машина.
- Избираме раздела Опции ➝ Стартиране при зареждане.
- Поставяме отметка до съответния надпис.
Сега, в случай на рестартиране на физическия сървър, VM ще стартира автоматично.

За напреднали администратори има и опция да се зададат допълнителни параметри за стартиране в раздела Поръчка на стартиране/изключване. Може изрично да укажете в какъв ред да се стартират машините. Също така, може да зададете време, което трябва да мине преди стартирането на следващата VM и време на забавяне при изключването (ако операционната система не успее да завърши работа, хипервизорът ще я изключи принудително след определен брой секунди).
Заключение
В тази статия бяха изложени основите на това как да започнете работа с Proxmox VE и се надяваме, че тя ще помогне на начинаещите специалисти да направят първата стъпка и да опитат виртуализацията в действие.
Proxmox VE е наистина много мощен и удобен инструмент за всеки системен администратор; важното е да не се страхувате да експериментирате и да разберете как всичко това наистина работи.
Ако имате въпроси, добро пожаловать в коментарите.
Източник: habr.com






