Виртуализация серверов и рабочих станций в Windows и Linux - Hiperv, KVM, VMWare

Виртуализация серверов и рабочих станций в Windows и Linux - Hiperv, KVM, VMWare

С виртуализацией и контейнерной изоляцией в той или форме сталкивались все IT-специалисты, например ваш сайт скорее всего расположен на виртуализованной инфраструктуре. К виртуализации уже привыкли и почти не замечают, но иногда эта технология может преподнести разные сюрпризы.

Изначально, мне технологии виртуализации показались излишними и потребляющими слишком много ресурсов, но в те далекие времена и аппаратная составляющая была гораздо слабее и о VPS-хостингах никто не слышал. Сейчас уже невозможно представить современную относительно крупную компанию которая бы не использовала в своей работе виртуализацию и изоляцию. Если вам до сих пор не очевидны причины почему вам стоит виртуализовать вашу IT-инфраструктуру, то спросите у меня.


Записи в блоге - Виртуализация серверов и рабочих станций в Windows и Linux - Hiperv, KVM, VMWare


Создание установочного диска Proxmox на USB-накопителе

Создание установочного диска Proxmox на USB-накопителе

Вся эта интересная история началась с того, что у меня под рукой не оказалось чистой DVD или CD болванки для того что бы записать туда дистрибутив Proxmox для последующей установки его на сервер. Я ничуть не сомневаясь решил использовать для установки USB-накопитель и воспользовался утилитой Unetobootin про которую я уже рассказывал, но как оказалось не тут то было и загрузочный диск конечно создался на ура, но вот загрузиться с него не получилось.


Создание сети типа мост для платформы виртуализации KVM при помощи Libvirt

Создание сети типа мост для платформы виртуализации KVM при помощи Libvirt

Если вы используете в своей работе менеджер виртуальных машин virt-manager, то вы наверное обращали внимание, что при создании сети вы не можете выбрать режим работы сети в виде добавления интерфейсов в существующий сетевой мост, но так как в основе этого менеджера лежит KVM и Libvirt, то мы всегда можем выполнить эту операцию в ручную из консоли.


Скрипт и поясняющее видео сборки гипервизора контейнеров LXD из исходных кодов (мастер-ветка)

Скрипт и поясняющее видео сборки гипервизора контейнеров LXD из исходных кодов (мастер-ветка)

В продолжение статьи по сборке GIT-версии гипервизора контейнеров LXD из исходных кодов, я подготовил скрипт выполняющий все описанное в предыдущих статьях в автоматизированном режиме и небольшую видео-демонстрацию того как собрать все в ручном режиме.


Полная инструкция по настройке гипервизора контейнеров LXD в LTS версии 18.04 Ubuntu или Ubuntu server

Полная инструкция по настройке гипервизора контейнеров LXD в LTS версии 18.04 Ubuntu или Ubuntu server

LXD - это система управления контейнерами нового поколения. Она очень похожа на виртуальные машины, но не эмулирует аппаратную часть сервера, а использует разделение ресурсов хоста средствами ядра Linux, что значительно снижает накладные расходы на создание полностью изолированного окружения.


Использование QEMU/KVM для установки операционной системы на физический диск

Использование QEMU/KVM для установки операционной системы на физический диск

Сегодня в очередной раз мне понадобилось производить множественные операции с физическим жестким диском и если бы я по честному использовал установочные носители и инструментарий тестирования, то мне пришлось бы раз 30 перезагрузить компьютер. Мало того, что мне потребовалась бы для этого выделенная рабочая станция, так и времени бы это заняло гораздо больше.


OpenVPN-сеть для LXD-кластера без назначения адресов клиентов (использование стороннего DHCP для управления клиентами VPN-сети)

OpenVPN-сеть для LXD-кластера без назначения адресов клиентов (использование стороннего DHCP для управления клиентами VPN-сети)

Представляю вашему вниманию небольшой экскурс в активно используемую мной технологию построения распределенных виртуальных сетей на базе OpenVPN в немного непривычной реализации. Если вы работаете с OpenVPN технологиями, то наверное обратили внимание что практически все руководства описывают OpenVPN сеть где OpenVPN-сервер выступет в качестве DHCP-сервера и назначает адреса для своих клиентов, но я сегодня хотел бы предложить вам уйти от типовых реализаций.


Управление дисковыми хранилищами LXD из консоли

Управление дисковыми хранилищами LXD из консоли

В предыдущей статье про базовую настройку окружения разработчика мы получили много вопросов по поводу управления дисковыми пулами и по результатам обсуждения статьи мы подготовили небольшую статью HOW-TO по управлению виртуальными дисками (и хранилищами) системы контейнерной изоляции LXD.


Сборка гипервизора контейнеров LXC (LXD) из исходных кодов и настройка окружения разработчика

Сборка гипервизора контейнеров LXC (LXD) из исходных кодов и настройка окружения разработчика

Данная статья родилась в процессе работ над проектом по тестировнию функционала горячей миграции контейнеров LXC. Мы провели сборку LXD из git-репозитария и описали шаги для повторения этих манипипуляций в дальнейшем. Дополнительно мы подготовили инструкцию по созданию окружения для наших разработчиков.


Современный подход к резервному копированию контейнеров Linux-серверов

Современный подход к резервному копированию контейнеров Linux-серверов

Представляю вашему вниманию, активно применяемый мной метод ежедневного резервного копирования серверов, основанный на использовании технологии снятия копии текущего состояния LXC-контейнера и выгрузки его дампа. Данный метод не требует остановки сервера и создает полноценный образ состояния сервера (копия снимается раз в день), а промежуточные резервные копии файлов и баз данных ваших проектов вы можете выполнять с требуемой регулярностью штатными средствами базы данных и операционной системы.


WEB-интерфейс управления узлом виртуализации LXD

WEB-интерфейс управления узлом виртуализации LXD

Я уже неоднократно рассказывал о настройке системы контейнерной изоляции LXD и управлении фермой LXD гипервизоров из консоли, но как верно подметили мои читатели все же хотелось бы иметь удобный графический интерфейс для управления LXD-сервером. Честно говоря какого-то официального web-интерфейса для LXD я не нашел и мне пришлось пробовать все проекты с github.


Запуск узла KVM-фермы WebVirtCloud (Ввод в эксплуатацию тестового сервера Metatron)

Запуск узла KVM-фермы WebVirtCloud (Ввод в эксплуатацию тестового сервера Metatron)

Как вы наверное знаете я активно использую в работе консоль управления гипервизорами KVM которая называется WebVirt Cloud. Она гарантированно OpenSource с исходными кодами которые я активно переделываю под себя и сегодня я хотел рассказать как в нее добавить одну ноду.


Настройка OS Windows для работы в UTC time (проблема с локальным временем виртуальной машины в системе виртуализации KVM)

Настройка OS Windows для работы в UTC time (проблема с локальным временем виртуальной машины в системе виртуализации KVM)

Ничего против Windows не имею и считаю, что для каждой задачи требуется свой инструмент, но некоторые легаси-вещи там тянутся из из совсем уже глубины веков и я сейчас говорю не про поддержку кодировки UTF-8, сейчас с этим дела обстоят немного лучше, а про часы системы которые все еще не в UTC. И это кстати сказать порождает некоторые нетривиальные баги при виртуализации ОС Windows в KVM.


Тестирование гибридного программного массива (HDD+SSD) (оптимизация фермы виртуализации)

Тестирование гибридного программного массива (HDD+SSD) (оптимизация фермы виртуализации)

Сегодня я немного поэкспериментирую с гибридным программным массивом состоящим из обычного жесткого диска и кэширующего твердотельного накопителя. Эксперимент должен оказаться довольно интересным, хотя средства измерения показывают погоду на Марсе и у меня все никак не доходят руки переписать скрипт собирающий сведения по IOPS-ам при дисковой активности.


Диагностика состояния и восстановление ceph-кластера

Диагностика состояния и восстановление ceph-кластера

Достался мне на поддержку CEPH-кластер, а как готовить его не рассказали и все бы ничего, но он умеет самопроизвольно рассыпаться раз в три дня и требует постоянного контроля. Подключил его к Zabbix и настроил мониторинг состояния Possible data damage и при каждом таком событии иду его выводить его из раскоряченного состояния.


Создание фермы виртуализации на базе KVM/QEMU с WEB-интерфейсом управления WebVirtManager

Создание фермы виртуализации на базе KVM/QEMU с WEB-интерфейсом управления WebVirtManager

Так как мне надо подготовить для портфолио несколько описаний выполненных проектов, то пожалуй начну с построения фермы виртуализации на базе OpenSource решений без использования Proxmox и т.п. Стоит отметить, что мне удалось создать полноценную ферму виртуализации из исключительно Open Source компонентов и мигрировать на построенное решение около 100 виртуальных машин на которых производилась разработка и тестирование программного обеспечения.


Обзор open source платформы управления фермой виртуализации KVM (новое в WebVirtCloud)

Обзор open source платформы управления фермой виртуализации KVM (новое в WebVirtCloud)

Как верно подметили читатели моего блога, я конечно рассказал как установить WebVirtCloud, но не рассказал, чем же она так кардинально отличается от того же Proxmox например, да и немного скриншотов бы тоже не помешало. Я в свою очередь наверное даже пойду дальше и подготовлю небольшое видео, где продемонстрирую создание нескольких виртуальных машин и покажу некоторые новые фишки WebVirtCloud.


Миграция WEB-приложения Django с версии 2.7 на 3.5 (на практическом примере)

Миграция WEB-приложения Django с версии 2.7 на 3.5 (на практическом примере)

Про консоль управления виртуализацией WebVirtCloud (бывший WebVirtManager) я уже как то рассказывал, но главной его проблемой как я уже сказал является то что он пострен на базе устаревшего Python2 и автор тащит его вперед именно в таком виде. Переписывать он его отказывается мотивируя это тем что все и так работает, но на самом деле там внутри довольно много легаси-мусора. Я его умудился немного переписать под свежую редакцию Django и Python3, но дело еще далеко до завершения хотя пользоваться уже можно.


Настройка Ubuntu Linux в качестве терминального сервера x2go

Настройка Ubuntu Linux в качестве терминального сервера x2go

Продолжение старой заметки - Полноценный терминальный сервер на базе Ubuntu Linux. Она вызвала слишком много вопросов и была скорее просто небольшой обзорной статьей по технологиям удаленного доступа к графической консоли Linux-сервера, сейчас я продемонстрирую на практике как сделать из небольшой VPS-ки полноценный терминальный сервер на базе Ubuntu Linux


Набор скриптов для управления LXD-фермой

Набор скриптов для управления LXD-фермой

В свете последних сообщений о том, что в системе LXC и LXD было исправлено достаточно много ошибок связанных с утечкой памяти, возникло желание, пересобрать свежие версии LXC и LXD для тестовой фермы и понаблюдать до внедрения на продакшн. Перед внедрением на прод естественно надо посмотреть два-три дня и сравнить полученные за тестовый период метрики. Про пересборку фермы LXC-LXD я уже писал, но сегодня я хотел предложить вашему вниманию набор скриптов которые я использую для построения узла фермы контейнерной виртуализации.


Подготовка KVM-Libvirt инфраструктуры (удаленное подключение с поддержкой авторизации)

Подготовка KVM-Libvirt инфраструктуры (удаленное подключение с поддержкой авторизации)

Сегодня я расскажу и покажу как настроить удаленное управление гипервизором KVM/Qemu. Одним из ключевых моментов построения современных систем виртуализации ориентированных на продакшн-использование является централизованное управление и естественно, что централизация управления достигается использованием API. Одним из API для управления гипервизорами KVM/Qemu является Libvirt и стоит отметить, что эта библиотека, позволяет управлять не только KVM/Qemu, но и LXC.


Добавление узла Proxmox к существующей ферме на практическом примере

Добавление узла Proxmox к существующей ферме на практическом примере

И хотя настройка Proxmox при помощи web-интерфейса особой сложности не представляет и я уверен вы легко в ней разберетесь если использовали до этого какую-нибудь систему управления фермой виртуализации, но иногда все же возникают вопросы. Самый распространенный вопрос у тех кому только досталась в наследство настроенная ферма, это - "как добавить в ферму узел виртуализации?"


Есть вопросы? Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .

Моя официальная страница на FaceBook
Мой микроблог в твиттер