Метка «виртуализация» - 2

Недавно на хабре публиковались статьи о openvz и lxc. Это напомнило мне, что эта статья всё еще валяется в sandbox'е…

Для целей размещения проектов я применяю такую схему: каждый сервис запускается в изолированной среде: боевой — отдельно, тестовый — отдельно, телефония — отдельно, веб — отдельно. Это снижает риски взлома систем, позволяет бакапить всё и вся одним rsync'ом на соседний сервер по крону, а в случае слёта железа просто поднять на соседнем железе. (А использование drbd + corosync позволяет это делаеть еще и автоматически)

Для создания изолированной среды есть два подхода, именуемые VDS (виртуализация аппаратуры) и VPS/jail (виртуализация процессного пространства).

Для создания VDS изоляций применяют XEN, VirtualBox, VMWare и прочие виртуальные машины.
Для создания VPS на linux используется либо linux-vserver, либо openvz, либо lxc.

Плюсы VDS: система внутри может быть совершенно любой, можно держать разные версии ядер, можно ставить другую ОС.
Минусы VDS: высокие потери производительности на IO, избыточное потребление CPU и RAM на сервисы, дублирующие запущенные на серверной ОС.

Плюсы VPS: крайне низкая потеря производительности, только на изоляцию, запускаются только те сервисы, которые реально необходимы.
Минусы VPS: можно запустить только linux и ядро будет только той версии, что уже запущено.

Так как мне не нужны разные ОС, то всюду применяю linux-vserver (так уж сложилось исторически, применяю с 2004го года, а openvz вышел в открытый доступ в 2005м), а lxc в моём понимании еще не дорос до продакшена (хотя и очень близок уже).

Ниже я опишу базовые операции по запуску LAMP сервера в изолированном окружении.
Читать полностью »

Анализ современных технологий виртуализации

В настоящее время все большую популярность набирают технологии виртуализации. И это не случайно – вычислительные мощности компьютеров растут. В результате развития технологий, появляются шести-, восьми-, шестнадцатиядерные процессоры (и это еще не предел). Растет пропускная способность интерфейсов компьютеров, а также емкость и отзывчивость систем хранения данных. В результате возникает такая ситуация, что имея такие мощности на одном физическом сервере, можно перенести в виртуальную среду все серверы, функционирующие в организации (на предприятии). Это возможно сделать с помощью современной технологии виртуализации.

Технологии виртуализации в настоящее время становятся одним из ключевых компонентов современной ИТ-инфраструктуры крупных предприятий (организаций). Сейчас уже сложно представить построение нового серверного узла компании без использования технологии виртуализации. Определяющими факторами такой популярности, несмотря на некоторые недостатки, можно назвать экономию денег и времени, а также высокий уровень безопасности и обеспечение непрерывности бизнес-процессов.

В данной статье приведен анализ современной технологии виртуализации, ее преимуществ и недостатков. Также рассмотрены современные системы виртуализации и подходы к созданию виртуальных сред.
Читать полностью »

Вступление

В статье описывается способ проброса физических устройств из гипервизора KVM в гостевую ОС с помощью технологии VFIO, реализованной в linux kernel 3.9.*.
Материал не является руководством к действию (прим. туториалом). Все описанные инструкции вы производите на свой страх и риск.

Эксперимент выполняется под ОС Ubuntu 13.10:

  • kernel: 3.11.0-15-generic
  • qemu: 1.5.0
  • seabios: 1.7.3

Аппаратная часть стенда:

  • мат. плата: AMD990FX
  • процессор: AMD FX-8120
  • опер. память: DDR3 PC3-14900
  • видеокарта: ATI RADEON HD 7750
  • видеокарта (гость): NVIDIA GTX560-TI

Видеокарта для гостевой системы и хоста, может быть, предположительно, любая (NVIDIA, ATI RADEON).
Материнская плата должна иметь блок управления памятью ввода/вывода (IOMMU) — технология AMD-Vi или VT-d.
Если используется процессор Intel, то он также должен поддерживать VT-d.
Независимо от выбранной платформы в биосе материнской платы должны быть реализованы IVRS/DMAR таблицы.
Читать полностью »

На Хабре есть много статей о том, что контейнерная виртуализация — это плохо или хорошо, но пошаговой интструкции по ее установке и настройке мне найти не удалось. Постараюсь заполнить этот пробел.

Виртуализация — очень актуальная тема, так как позволяет более рационально использовать ресурсы сервера. И, признаюсь, мне было очень приятно познакомиться с OpenVZ.

OpenVZ — это реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, так называемых контейнеров (Virtual Environments, VE).

Поскольку OpenVZ базируется на ядре Linux, в роли «гостевых» систем могут выступать только дистрибутивы GNU/Linux. Однако виртуализация на уровне операционной системы в OpenVZ дает также и многие преимущества, а именно: удобство в администрировании, плотное размещения виртуальных контейнеров в хост-системе (это обычно положительно отражается на стоимости VPS-хостинга) и несколько лучшую производительность по сравнению с технологиями полной виртуализации.

Конечно, и недостатков достаточно. Главный из них, что в отличие от KVM, модули OpenVZ не входят в ванильное ядро, поэтому для фунционування последнего необходимо отдельное ядро и версия его далеко не последняя. На момент публикации этой статьи последняя стабильная версия — 2.6.32-042stab084.14. Из этого по сути следует, что хост-системой на OpenVZ может выступать не каждый дистрибутив, а только с ядром 2.6.32 и около версии. Поэтому, скажем, OpenVZ — ядро под Ubuntu 12.04 LTS вряд ли заведется (что я уже попробовал), ведь ядро здесь версии 3.8. Но не все так плохо, так как для RedHat 6 (CentOS 6, Scientific Linux 6) и Debian 7 все просто устанавливается и эти дистрибутивы официально поддеживаются Parallels.

Следующий недостаток в том, что все контейнеры работают под одним ядром (ядром хост-системы) и добавить необходимый модуль ядра уже будет не так просто, как в случае с технологиями полной виртуализации. В результате на OpenVZ-контейнерах не сможет работать NFS-сервер или другие сервисы, которым необходима тесная интегрирация с ядром. О некоторых других недостатках и преимуществах систем виртуализации можно почитать например здесь.

Теория без практики — мертва, поэтому самое время описать установку и настройку хост-системы для OpenVZ. В качестве хост-системы я выбрал CentOS 6.5. Добавляем репозитории для установки ядра OpenVZ и утилит для работы с контейнерами:

# wget -P /etc/yum.repos.d/  http://ftp.openvz.org/openvz.repo
# rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ

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

Гипервизор в составе лицензируемого Windows Server с самого начала существует в бесплатном варианте Hyper-V Server. Этот продукт включает в себя весь необходимый набор функций полноценной серверной платформы виртуализации, включающих поддержку Failover Cluster, RemoteFX и виртуальных машин Gen 2, и не несёт в себе лицензий на ОС Windows Server внутри виртуальных машин.
Однако администратора после установки ожидает сюрприз в виде вот такого синего окошка:
image
Да, Hyper-V Server представляет собой фактически Windows Server в режиме Core с уменьшенным количеством допустимых ролей, компонент и с отсутствием графической оболочки. Встроенная утилита Server Configuration поможет задать основные параметры сервера в части имени, IP-адреса, членства в домене, удаленного управления. Однако вопрос создания, изменения и управления виртуальными машинами, для которых и разворачивался сервер, остается открытым.
Читать полностью »

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • cpu
  • memory
  • blkio

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

image

Системы хранения данных ЕМС — это как хорошая немецкая машина. Знаешь, что немного переплачиваешь за бренд, но безопасность данных и чуткость управления обеспечены. И сервис: премиальная гарантия, например, доставка запчастей в течение 4 часов с выездом инженера в случае необходимости. Ну и главное: пугающие слова DU/DL перестанут появляться в отчётах. А это ведь самое страшное сочетание для сервисных инженеров и заказчиков. Снижение рисков простоя или потери данных – это то, за что ИТ-директор готов бороться любыми средствами.

Так вот, относительно недавно вышла новая линейка оборудования. Ниже её обзор с кратким ликбезом про СХД в принципе. И рассказ о том, как реально хорошие вещи сделали ещё лучше. Читать полностью »

Сейчас в нашей последней версии Parallels Desktop 9 for Mac есть 75 новых функций. Из них 33 так или иначе связаны с интеграцией OS X и Windows. А в самых первых версиях продукта эти функции были попросту базовыми. Сегодня специально для Хабра пишем о том, что и как было придумано, чтобы Windows и Mac жили вместе долго и счастливо, зачем «внедрились» в «Проводник» и как обманули мышь.
imageАлександр Гречишкин, руководитель Integration Team в Parallels

— С чего все началось?
А.Г.:
Сначала нам нужно было воспользоваться теми технологиями, которые в то время уже были на рынке. Виртуализация и эмуляция существовали еще с 1990-ых годов, и даже были решения для работы с одними ОС на компьютерах под другими ОС. Поэтому задачи в первых версиях у нас были такие: во-первых, сделать технологии и базовые функции точно такими же, как в уже существующих решениях. Во-вторых, придумать что-то свое, оригинальное. «Своими» уникальными функциями стали режим Coherence (возможность видеть и работать с Windows-программами на Mac так, как будто это родные приложения OS X) и Shared applications (иконки программ Windows в панели приложений Dock).
Читать полностью »


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