Рубрика «виртуализация» - 81

Дело было вечером, делать было много чего. И почти все — в VirtualBox. Используя headless виртуалки.

Я уже давно оценил плюсы виртуальных машин для разработки, и повсеместно их использую. В результате имею парк в 5-10 виртуальных машин, с разными ветками и проектами. Несколько из которых постоянно запущены.

90% из них запускаются в headless режиме. И берут IP динамически. Так как статику контролировать постоянно невозможно, и она имеет другие ограничения. Отсюда результат — достоверно неизвестно с каким адресом запустится виртуалка.

В этом случае у меня такой порядок запуска виртуалки:
1. запуск в нормальном режиме
2. смотрим внутри нее ifconfig / ipconfig на предмет адреса
3. гасим ее
4. запускаем в headless и надеемся, что адрес будет таким же

Думаю вы с таким сталкивались. Если нет — можете перейти к следующему посту. Под катом нет никакой волшебной теории или особого кода. Под катом — простое и готовое решение. Для тех, кому эта небольшая повседневная задача знакома.
Читать полностью »

В гипервизоре Xen 4.4 и ядре Linux 3.14 будет доступен режим аппаратной паравиртуализации
Перевод. Оригинал в блоге Xen

От переводчика: на данный момент стабильная версия гипервизора Xen поддерживает два режима виртуализации. В паравиртуальном режиме (PV) оборудование не эмулируется, и гостевая ОС должна быть специальным образом модифицирована, чтобы работать в таком окружении. Начиная с версии 3.0, ядро Linux поддерживает запуск в паравиртуальном режиме без перекомпиляции. Преимущество режима PV в том, что он не требует поддержки аппаратной виртуализации со стороны CPU, а также не тратит вычсилительне ресурсы (иногда весьма значительные) для эмуляции оборудования на шине PCI.
Режим аппаратной виртуализации (HVM) появился в Xen, начиная с версии 3.0 гипервизора, и требует поддержки со стороны оборудования. В этом режиме для эмуляции виртуальных устройств используется QEMU, который весьма неповоротлив даже с паравиртуальными драйверами. Однако со временем поддержка аппаратной виртуализации в оборудовании получила настолько широкое рапространение, что используется даже в CPU ноутбуков. Поэтому у разработчиков возникло желание использовать быстрое переключение контекста исполнения между гипервизором и гостевой ОС и в паравиртуальном режиме, используя возможности оборудования. Так появился новый режим — аппаратная паравиртуализация, который будет доступен в Xen, начиная с версии 4.4.

Читать полностью »

Всем привет!
Сегодня я бы хотел немного рассказать об использовании API небезызвестной системы виртуализации — Proxmox.

Предыстория…
С проксмоксом я столкнулся несколько лед назад, когда мне в руки попала неплохая машина, расположенная в одном из дата центров пресловутого Хетзнера. На тот момент у нас встал вопрос о поднятии виртуализации под свои нужды. Мы рассматривали несколько вариантов, а именно: VMWare, OpenStack и конечно же Proxmox. Не буду говорить, что он лучше 2-ух других кандидатов, просто на тот момент он вполне удовлетворял нашим потребностям. Через некоторое время, появилась необходимость создать своего рода панель управления для сторонних пользователей, которые могли бы просто отслеживать статус своей виртуальной машины, запускать/останавливать ВМ, делать ребут, а так же управлять несколькими настройками. Конечно же, проксмокс позволят добавлять пользователей, а так же группы пользователей и назначать им свои права. Но нам такой вариант не подходил. Не знаю как сейчас, но на тот момент нормальной документации API Proxmox на русском языке не было. Меня конечно же это не остановило и я вполне обошелся англоязычной версией, в которой кстати все очень хорошо и наглядно описано. Однако, всегда есть люди, которые не очень ладят с английским. Так вот, эта статья для Вас.
Сразу оговорюсь, что все VM (виртуальные машины) у нас были на базе KVM. Следовательно и API которое мы рассмотрим в этой статье будет для машин на базе KVM с использованием PhP.

Читать полностью »

Dedicated SaaS или как начать «продавать борщ»

В 2010 году, после прочтения на Хабре статьи о проблемах и недостатках SaaS, я вместе с её автором задался теми же вопросами: «Почему же никто не продает борщ?» и как уйти от недостатков, присущих современным SaaS решениям?

Я убежден, что решение всех обозначенных проблем – предоставление услуг в модели Dedicated SaaS. Что означает термин «Dedicated SaaS», и как этот подход справляется с проблемами традиционных SaaS решений?Читать полностью »

Сегодня многие говорят о том, как облачные вычисления меняют наш взгляд на мир. Постоянно появляются новые технологии, которые упрощают нам жизнь, повышают эффективность работы, уменьшают расходы и избавляют от головной боли. На самом деле их уже так много, что становится все труднее держать руку на пульсе и выбирать из них наиболее полезные для себя. Я попытаюсь немного упростить эту задачу и расскажу о том, как организовать службу резервного копирования для среды vCloud (будь то публичное или частное облако) с помощью Acronis Backup and Recovery (ABR) for vCloud.

Image #2089170, 145.6 KB

Давайте я коротко расскажу о преимуществах данной системы.
Читать полностью »

OpenVZ в Proxmox, заметки на полях
Возможно данная заметка не тянет на полноценную статью, но я постарался собрать здесь все нестандартные моменты, с которыми сталкивался при работе с контейнерами OpenVZ и гипервизором Proxmox, дать готовые рецепты с примерами, возможно кому-то это сэкономит время на поиск вариантов решения. Текста будет мало, примеров много, котиков картинок не будет.

  • Краткое содержание для экономии времени
  • 1. Проброс различных возможностей и устройств из гипервизора в контейнер OpenVZ
  • 1.1. Проброс fuse
  • 1.2. Проброс NFS
  • 1.3. Проброс USB-устройств
  • 1.4. Проброс звуковой карты (как встроенной так и usb)
  • 1.5. Проброс X'ов
  • 1.6. Проброс раздела диска
  • 1.7. Включение tun/tap
  • 2. Фаирвол
  • 3. Разные мелочи

И так поехали:
Читать полностью »

Хочу рассказать о том, как прижился XenServer в нашем отделе тестирования, а так же немного о другом используемом free/opensource (DRBL + Clonezilla, Tape redirector, MHVT). Выбор остановился на этих продуктах не по идеологическим, а сугубо практическим причинам — они удобные и масштабируемые. Но есть и ряд проблем, которым я также уделю внимание в этой статье.
Под катом много текста и изображений.

Использование XenServer и другого free/opensource в ручном тестировании

Читать полностью »

Данный пост рассчитан на широкий круг как тех кто еще определяется с выбором vps сервера, так и тем кто уже давно пользуется VPS серверами.

При составлении обзора упор делался на среднюю ценовую категорию Windows vps серверов с ОЗУ 2Гб и 2 ядрами CPU.
Специально выбирались разные системы виртуализации.
В обзоре большое внимание уделял тестам дисковой системы, так как на мой взгляд это один из главных элементов в работе виртуального сервера. Время доступа к диску, скорость чтениязаписи а так же стабильная работа дисковой системы мастер сервера это залог быстрой и комфортной работы для нас как для клиентов.

Не забывал про сеть и процессор а так же делился общим впечатлением от работы сервера.

Провайдеры выбирались случайно, тестировал тех у кого смог быстро (в течении 30 минут) получить виртуальный сервер для тестов.
В конце обзора сделал сводную таблицу с краткими итогами и своей субъективной оценкой.
Читать полностью »

Продолжаем

Продолжаем создание кластера, начатое первой части.
На этот раз я расскажу про настройку кластера.

В прошлый раз мы закончили на том, что началась синхронизация DRBD.
Если мы в качестве Primary сервера для обоих ресурсов выбрали один и тот же сервер, то после завершения синхронизации должны в /proc/drbd увидеть примерно такую картину:

# cat /proc/drbd
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@debian-service, 2013-04-30 07:43:49
 0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate B r-----
    ns:0 nr:190397036 dw:190397036 dr:1400144904 al:0 bm:4942 lo:0 pe:0 ua:0 ap:0 ep:1 wo:d oos:0
 1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate B r-----
    ns:0 nr:720487828 dw:720485956 dr:34275816 al:0 bm:3749 lo:468 pe:0 ua:0 ap:0 ep:1 wo:d oos:0

Самое интересное поле тут ds:UpToDate/UpToDate, означающее что и локальная и удаленная копия актуальны.

После этого переведем ресурсы в secondary режим — дальше ими будет управлять кластер:

# drbdadm secondary VM_STORAGE_1
# drbdadm secondary VM_STORAGE_2

Pacemaker

Итак, менеджер кластера.

Если коротко, то это мозг всей системы, который управляет абстракциями, называемыми ресурсами.
Ресурсом кластера может быть, в принципе, что угодно: IP-адреса, файловые системы, DRBD-устройства, программы-службы и так далее. Довольно просто создать свой ресурс, что мне и пришлось сделать для управления iSCSI таргетами и LUN-ами, об этом далее.

Установим:

# apt-get install pacemaker

Corosync

Pacemaker использует инфраструктуру Corosync для взаимодействия между узлами кластера, поэтому для начала нужно будет настроить её.

Corosync имеет достаточно широкий функционал и несколько режимов для поддержки связи между нодами (unicast, multicast, broadcast), имеет поддержку RRP (Redundant Ring Protocol), которая позволяет использовать несколько разных путей для общения между нодами кластера для минимизации риска получить Split-brain, то есть ситуации, когда связь между нодами полностью пропадает, и они обе считают что сосед умер. В результате обе ноды переходят в рабочий режим и начинается хаос :)

Поэтому мы будем использовать как репликационный, так и внешний интерфейсы для обеспечения связности кластера.Читать полностью »

Данная статья является продолжением серии, начатой в публикациях Контейнеры — это будущее облаков и Контейнеризация на Linux в деталях — LXC и OpenVZ. Часть 1.

Если публикацию про будущее можно пропустить, то статья «часть 1» будет обязательна к прочтению, чтобы понять, про что мы тут говорим :)

Контейнеризация на Linux в деталях — LXC и OpenVZ Часть 2

Техническая реализация подсистемы лимитирования аппаратных ресурсов контейнеров

Для полноты описания мы обязательно должны затронуть аспект разграничения не только ресурсов системы и прав, но и аппаратных ресурсов.

Какие ресурсы нам нужно делить между пользователями:

  • Процессор
  • Жесткий диск (нагрузка на него)
  • Память (объем)

Для всех подобных ограничений используется подсистема cgroups. Нагрузку на ввод/вывод можно фиксировать с помощью подсистемы cgroups blkio, причем, важно отметить, что есть как возможность задания жестких лимитов в байтах/секунду и операциях в секунду (IOPS), так и возможность задания весовых коэффициентов (то есть, например, 10% от всего сервера). Память лимитируется посредством memory cgroup, тут все довольно просто — указываем объем ОЗУ, если контейнер его превышает — процесс испытывает сообщение OOM. Для процессора допустима только возможность указания нагрузки в процентах, что объясняется особенностями реализации планировщика на Linux.

Итого, для реализации разграничения использования ресурсов мы воспользовались следующими cgroups:

  • cpu
  • memory
  • blkio

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js