Метка «openvz»

image

Обход ограничений контейнера simfs OpenVZ — CVE-2014-3519.

Существует возможность получить доступ к файлам за пределами своего контейнера.

Функция open_by_handle_at () позволяет получить доступ к файлам на смонтированной файловой системе используя file_handle структуру.

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

Подробнее:

OpenVZ simfs container filesystem breakout

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

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

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

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

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

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

Виртуализация — очень актуальная тема, так как позволяет более рационально использовать ресурсы сервера. И, признаюсь, мне было очень приятно познакомиться с 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

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

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. Разные мелочи

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

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

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

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

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

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

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

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

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

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

  • cpu
  • memory
  • blkio

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

Всем привет!

В прошлой статье мы начали разговор о преимуществах контейнерной изоляции (контейнеризации), теперь мне бы хотелось углубится в технические аспекты реализации контейнеров.

Контейнеризация на Linux в деталях — LXC и OpenVZ. Часть 1
Читать полностью »

LXC (Linux Containers) — так ли все прекрасно на самом деле? На просторах Интернета можно встретить не одну статью, где нахваливают LXC и утверждают, что за этой технологией будущее. Я уже в третий раз сажусь поизучать текущий статус и каждый раз выясняется множество нюансов. Первая попытка была где-то года полтора или два назад, вторая — после релиза Debian 7, третья — на этих выходных. Причина в том, что Debian/Ubuntu мне нравятся на порядок больше, чем CentOS/RHEL. Но к сожалению, в плане контейнерной виртуализации (в частности OpenVZ) в Debain/Ubuntu стало совсем печально в последних релизах. В том числе и благодаря более активному продвижению LXC. Собственно, LXC так LXC — лишь бы решало нужные задачи. Я не являюсь хостером и такой виртуализацией пользуюсь в основном ради целей разработки, тестирования и для работы некоторых собственных проектов.

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

в 5:16, , рубрики: linux, openvz, Wheezy, метки: ,

Устанавливаем vzctl из стандартного репозитария Debian и запрещаем его обновление, чтобы vzctl от Proxmox не потянул за собой 100500 зависимостей:

apt-get update
apt-get install vzctl
apt-mark hold vzctl

Подключаем репозитарий от Proxmox:
Читать полностью »

Мы в компании Centos-admin следим за появлением новых технологий, тестируем их и, конечно же, внедряем. Почти на всех серверах мы используем контейнерную виртуализацию OpenVZ. В целях расширения набора инструментов, применяемых в работе, мы решили изучить и протестировать нативную виртуализацию Linux LXC.
Под катом вы найдете небольшой обзор технологии и краткий мануал по использованию LXC в Debian Wheezy и наши выводы.
Читать полностью »

Павел Одинцов, технический директор компании FastVPS Eesti OU

Мы занимаемся услугами по аренде виртуальных (VPS) и выделенных серверов уже почти 7 лет и поддерживаем сейчас более 170 тысяч сайтов наших клиентов. За это время мы успели пару раз сменить платформу виртуализации, попробовав и Xen, и OpenVZ, и Parallels Cloud Server, и в итоге остановились на PCS. Зачем мы меняли платформы, по каким параметрам их сравнивали, что нас в них радовало, а чем, прямо скажем, мы были недовольны – под катом.
image
Читать полностью »


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