Магията на виртуализацията: въведене в Proxmox VE

Магията на виртуализацията: въведене в Proxmox VE
Днес ще говорим за това как бързо и сравнително лесно да разположите няколко виртуални сървъра с различни операционни системи на един физически сървър. Това ще позволи на всеки системен администратор да управлява централизирано цялата ИТ инфраструктура на компанията и да спести огромно количество ресурси. Използването на виртуализацията помага максимално да се абстрахирате от физическото сървърно оборудване, да защитите критични услуги и лесно да възстановите тяхната работа дори при много сериозни неизправности.

Без съмнение, повечето системни администратори познават техниките на работа с виртуална среда и за тях тази статия няма да бъде никакво откритие. Въпреки това, има компании, които не използват гъвкавостта и скоростта на виртуалните решения поради липса на точна информация за тях. Надяваме се, че нашата статия ще помогне да се разбере на примера, че е много по-просто да започнете да използвате виртуализация, отколкото да изпитвате неудобства и недостатъци на физическата инфраструктура.

За щастие, опитването как работи виртуализацията е сравнително просто. Ще покажем как да създадете сървър във виртуалната среда, например, за преместване на 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 сървър.

Програмата за инсталация има графичен интерфейс и ще зададе само няколко въпроса.

  1. Изберете диска, на който ще се извърши инсталацията. В раздела Options можете също да зададете допълнителни параметри за разпределение.Магията на виртуализацията: въведене в Proxmox VE
  2. Укажете регионалните настройки.Магията на виртуализацията: въведене в Proxmox VE
  3. Укажете паролата, която ще се използва за авторизация на суперпотребителя root и имейл адреса на администратора.Магията на виртуализацията: въведене в Proxmox VE
  4. Укажете мрежовите настройки. FQDN обозначава пълно квалифицирано название на домейн, например, node01.yourcompany.com.Магията на виртуализацията: въведене в Proxmox VE
  5. След завършване на инсталацията, сървърът може да бъде рестартиран с помощта на бутона Reboot.Магията на виртуализацията: въведене в Proxmox VE

    Уеб интерфейсът за управление ще е достъпен на адрес

    https://IP_адрес_на_сървъра:8006

Какво трябва да направите след инсталацията

Има няколко важни неща, които трябва да се изпълнят след инсталирането на Proxmox. Ще разкажем за всяко от тях по-подробно.

Адаптирайте системата до актуалната версия

За целта влизаме в конзолата на нашия сървър и деактивираме платения репозиторий (достъпен само за тези, които са закупили платена поддръжка). Ако не го направите, apt ще съобщи за грешка при обновяване на пакетните източници.

  1. Отворете конзолата и редактирайте конфигурационния файл apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. В този файл ще има само една линия. Поставете пред нея символа #, за да деактивирате получаването на актуализация от платения репозиторий:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. С комбинацията от клавиши Ctrl + X излезте от редактора, отговаряйки Y на въпроса на системата за запазване на файла.
  4. Изпълнете командата за обновяване на пакетните източници и обновяване на системата:
    apt update && apt -y upgrade

Погрижете се за сигурността

Можем да препоръчаме инсталирането на популярната утилита Fail2Ban, защитаваща от атаки с метод на подбране на пароли (брутфорс). Принципът на работа е, че ако злонамереният потребител надвиши определен брой опити за вход в указаното време с неверен логин/парола, неговият IP адрес ще бъде блокиран. Периодът на блокировка и броят на опитите могат да бъдат зададени в конфигурационния файл.

Въз основа на практическите опити, за седмица работа на сървър с отворен ssh порт 22 и външен статичен IPv4 адрес, имаше над 5000 опита за подбиране на парола. И около 1500 адреса бяха успешно блокирани от утилитата.

За да изпълните инсталацията, представяме кратка инструкция:

  1. Отворете конзолата на сървъра чрез уеб интерфейс или SSH.
  2. Актуализирайте източниците на пакети:
    apt update
  3. Инсталирайте Fail2Ban:
    apt install fail2ban
  4. Отворете конфигурацията на утилитата за редактиране:
    nano /etc/fail2ban/jail.conf
  5. Променете променливите bantime (броят секунди, за които злонамереният потребител ще бъде блокиран) и maxretry (броят опити за въвеждане на логин/парола) за всяка отделна услуга.
  6. С комбинацията от клавиши Ctrl + X излезте от редактора, отговаряйки Y на въпроса на системата за запазване на файла.
  7. Рестартирайте услугата:
    systemctl restart fail2ban

Можете да проверите състоянието на работата на утилитата, например, да извлечете статистика за блокираните IP адреси, от които е имало опити за подбор на пароли в SSH, с една проста команда:

fail2ban-client -v status sshd

Отговорът на утилитата ще изглежда приблизително така:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   З зареждане на конфигурации за fail2ban под /etc/fail2ban
INFO     Зареждане на файлове: ['/etc/fail2ban/fail2ban.conf']
INFO     Зареждане на файлове: ['/etc/fail2ban/fail2ban.conf']
INFO   Използване на сокет файл /var/run/fail2ban/fail2ban.sock
Състояние за затвора: sshd
|- Филтър
|  |- Текущи провали: 3
|  |- Общо провали:     4249
|  `- Списък на файловете:        /var/log/auth.log
`- Действия
   |- Текущи забранени: 0
   |- Общо забранени:     410
   `- Списък на забранени IP адреси:

По подобен начин можете да затворите Web интерфейса от подобни атаки, създавайки съответно правило. Пример за такова правило за Fail2Ban можете да намерите в официалното ръководство.

Започване на работа

Искаме да подчертаем, че Proxmox е готов за създаване на нови машини веднага след инсталацията. Въпреки това, препоръчваме да извършите предварителни настройки, за да бъде управлението на системата по-лесно в бъдеще. Практиката показва, че хипервизорът и виртуалните машини е добре да бъдат разделени на различни физически носители. За това как да направите това, ще говорим по-долу.

Настройте дисковите устройства

Следващата стъпка е да настроите хранилището, което можете да използвате за запазване на данни от виртуалните машини и резервни копия.

ВНИМАНИЕ! Примерът за дискова разметка по-долу може да се използва само за тестови цели. За употреба в реални условия настоятелно препоръчваме да използвате софтуерен или хардуерен RAID масив, за да избегнете загуба на данни при повреда на дисковете. Как да подготвите правилно дисковия масив за работа и как да действате в случай на аварийна ситуация, ще разкажем в една от следващите статии.

Да предположим, че физическият сървър разполага с два диска — /dev/sda, на който е инсталиран хипервизор и празен диск /dev/sdb, който ще се използва за съхранение на данни от виртуални машини. За да види системата новото хранилище, можете да използвате най-простия и ефективен метод – да го свържете като обикновена директория. Но преди това трябва да извършите някои подготовителни действия. Като пример, нека видим как да свържем нов диск /dev/sdb, с всякакъв размер, форматиран в файлова система ext4.

  1. Разделяме диска, създавайки нов дял:
    fdisk /dev/sdb
  2. Натискаме клавиша o или g (да разделим диска в MBR или GPT).
  3. След това натискаме клавиша n (да създадем нов дял).
  4. И накрая w (за запазване на промените).
  5. Създаваме файлова система ext4:
    mkfs.ext4 /dev/sdb1
  6. Създаваме директория, където ще монтираме дяла:
    mkdir /mnt/storage
  7. Отваряме конфигурационния файл за редактиране:
    nano /etc/fstab
  8. Добавяме нов ред:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. След като направим промени, ги запазваме със съчетание от клавиши Ctrl + X, отговаряйки Y на въпроса на редактора.
  10. За проверка дали всичко работи, рестартираме сървъра:
    shutdown -r now
  11. След рестартиране проверяваме монтираните дялове:
    df -H

Изходът на командата трябва да покаже, че /dev/sdb1 е монтиран в директория /mnt/storage. Това означава, че нашето хранилище е готово за работа.

Добавяне на ново хранилище в Proxmox

Влизаме в контролния панел и отиваме в разделите Център за данниХранилищеДобавиДиректория.

В отворения прозорец попълваме следните полета:

  • ID — името на бъдещото хранилище;
  • Директория — /mnt/storage;
  • Съдържание — избираме всички опции (поотделно кликвайки на всяка опция).Магията на виртуализацията: въведене в Proxmox VE

След това натискаме бутона Добави. С това настройването е завършено.

Създаване на виртуална машина

За да създадем виртуална машина, изпълняваме следната последователност от действия:

  1. Определяме се с версията на операционната система.
  2. Предварително сваляме ISO образ.
  3. Избираме от менюто Хранилище току-що създаденото хранилище.
  4. Натискаме СъдържаниеЗареди.
  5. Избираме от списъка ISO-образ и потвърдете избора с натискане на бутона Зареди.

След приключване на операцията, образът ще бъде показан в списъка с налични.

Магията на виртуализацията: въведене в Proxmox VE
Създаваме нашата първа виртуална машина:

  1. Натискаме Създай VM.
  2. Запълваме последователно параметрите: ИмеISO-ImageРазмер и тип на твърдия дискБрой на процесоритеОбем на оперативната паметМрежов адаптер.
  3. След като изберем всички желани параметри, натискаме Завърши. Създадената машина ще бъде показана в менюто на контролния панел.
  4. Избираме я и натискаме Стартиране.
  5. Преминаваме в пункта Конзола и извършваме инсталирането на операционната система точно по същия начин, както на обикновен физически сървър.

Ако е необходимо да създадете още една машина — повтаряме горепосочените операции. След като всички те са готови, можете да работите с тях едновременно, отваряйки няколко прозореца на конзолата.

Настройте автоматично стартиране

По подразбиране Proxmox не стартира автоматично машините, но това лесно се разрешава с буквално два клика на мишката:

  1. Щракваме върху името на желаната машина.
  2. Избираме таба ОпцииСтартиране при зареждане.
  3. Слагаме отметка до същото име.

Сега, в случай на рестартиране на физическия сървър, VM ще се стартира автоматично.

Магията на виртуализацията: въведене в Proxmox VE
За напреднали администратори има и възможност да укажат допълнителни параметри за стартиране в секцията Ред на стартиране/изключване. Може ясно да се укаже в какъв ред следва да се стартират машините. Може също да се зададе време, което трябва да мине преди стартирането на следващата VM и време на забавяне при изключване (ако операционната система не успее да завърши работа, хипервизорът принудително ще я изключи след определено количество секунди).

Заключение

В тази статия бяха изложени основите на това как да започнете работа с Proxmox VE и се надяваме, че тя ще помогне на начинаещите специалисти да направят първата стъпка и да опитат виртуализацията в действие.

Proxmox VE е наистина много мощен и удобен инструмент за всеки системен администратор; важното е да не се страхувате да експериментирате и да разберете как това действително работи.

Ако имате въпроси, добре дошли в коментарите.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster