TR | UK | KK | BE | EN |

Оверселлинг


Оверселлинг англ Overselling — продажа услуг поставщика сверх тех объёмов ресурсов, которые возможно предоставить

Синоним: овербукинг англ Overbooking

Содержание

  • 1 Оверселлинг в хостинг индустрии
  • 2 Принцип оверселлинга
  • 3 Оверселлинг на различных виртуализациях
    • 31 Технология виртуализации OpenVZ
      • 311 Оверселлинг RAM
      • 312 Оверселлинг CPU
    • 32 Технология виртуализации FreeBSD Jail
      • 321 Оверселлинг RAM
      • 322 Оверселлинг CPU
      • 323 FreeBSD Jail & OpenVZ оверселлинг HDD
    • 33 Технология виртуализации KVM
      • 331 Оверселлинг RAM
      • 332 Оверселлинг CPU
  • 4 Ссылки

Оверселлинг в хостинг индустрии

Применительно к продаже услуг хостинга оверселлинг означает продажу вычислительных мощностей в объёмах больших, чем может предоставить серверное оборудование

Изначально оверселлинг ассоциировался с продажей услуг виртуального хостинга, и касался в основном таких ресурсов, как трафик и место на жестком диске С популяризацией услуг виртуальных выделенных серверов VPS/VDS слово «оверселлинг» стало известно широкой аудитории и является обычной практикой для большинства хостинг-провайдеров

Принцип оверселлинга

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

Пример:

На сервере c 32Gb оперативной памяти можно завести 32 виртуальных выделенных сервера, которым будет выделено по 1 Gb оперативной памяти, тогда все клиенты гарантировано получат свою оперативную память при максимальной нагрузке Обычно, на сервер такой мощности помещают гораздо больше виртуальных машин

Теоретически возможна ситуация, когда одновременно все VPS/VDS попытаются задействовать выделенные им мощности, и физический сервер будет загружен до предела Тогда клиенты провайдера могут заметить последствия оверселлинга: замедление работы сервисов, ошибки, периодическая недоступность сайта Большинство хостинг-провайдеров тщательно следят за нагрузкой на своих физических серверах и не допускают подобных ситуаций Системы мониторинга вовремя перераспределяют «проблемных» клиентов между другими серверами, что происходит незаметно для самих клиентов

Оверселлинг на различных виртуализациях

Технология виртуализации OpenVZ

Оверселлинг RAM

Операционная система Linux ведет подсчет используемой памяти при помощи нескольких значений: VIRT, RES, SHM

VIRT virtual size of a process — виртуальный объём памяти, потребляемый процессом Это сумма актуально используемой памяти, памяти зарезервированной этим процессом для своих нужд, файлов на диске, которые использует процесс чаще всего библиотеки и общая память с другими процессами VIRT показывает, сколько памяти процесс может получить в настоящий момент

RES resident size — актуально используемый объём памяти в данный момент Она всегда меньше чем VIRT, так как чаще всего программы используют одни и те же библиотеки

SHR — показывает, как много памяти VIRT используется как общая

Например, программа использует лишь часть каких-то функций библиотеки Таким образом, в VIRT и SHM будет записана полностью вся библиотека, а в RES попадет лишь та часть, которая реально используется

При подсчете используемой памяти на OpenVZ внутри контейнера берётся в расчёт именно VIRT, что больше, чем реально потребляемая память, но может быть использована гостевой ОС Таким образом, продавая VPS/VDS по VIRT памяти, можно продать больше, чем есть памяти на родительском сервере

Для оверселлинга памяти используются параметры vmguarpages, oomguarpages и vmguarpages — это предоставление памяти контейнеру, а oomguarpages — лимит памяти для процесса

Оверселлинг CPU

Ограничение использования CPU задается при запуске контейнера через параметры cpuunits минимальное гарантированное значение процессорного времени для VDS, cpulimit максимальное значение которое может использовать VDS, в процентах и cpus количество ядер, используемых VDS

Cpulimit будет работать тогда, когда сервер ненагружен и одному из контейнеров не хватает значения в cpuunits, тогда он может использовать до n% ядра ядер, значение в cpus

Технология виртуализации FreeBSD Jail

Оверселлинг RAM

Оверселлинг памяти осуществляется по тому же принципу что и в OpenVZ, с одним отличием, считается RES То есть реально используемая память Например, у вас есть n процессов использующих libc библиотеку, каждый процесс потребляет по 10 Мб, из них 2 Мб — это директивы из libc, таким образом будет посчитано 10-2n+2, и не важно сколько он зарезервировал в VIRT Раз в 5 секунд в случае превышения процессы убиваются механизмом ядра, решающим проблемы с исчерпанием доступной памяти, называемым OOMkiller

Оверселлинг CPU

CPU лимитируется тоже по схожему принципу с OpenVZ, на VPS/VDS выставляется мягкий лимит до 1 ядра, так же существует жесткий лимит, который срабатывает по команде, если контейнеру уже отдано 1 ядро и нагрузка долго держится и не падает, то будет задействован жесткий лимит

FreeBSD Jail & OpenVZ оверселлинг HDD

На обоих виртуализациях осуществим оверселлинг дискового пространства путём многократной продажи В данном случае хостинг-провайдеру нужно постоянно следить за тем, чтобы оставалось достаточно свободного места, на случай если один несколько из контейнеровVDS потребует себе все, что полагается

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

Технология виртуализации KVM

На данной виртуализации возможен оверселлинг процессора и оперативной памяти

Оверселлинг RAM

Оверселлинг оперативной памяти может быть осуществлен при использовании технологий Kernel SamePage Merging KSM, Ballooning и Swapping

KSM работает по следующему принципу:

Первым делом нужно настроить KSM на сканирование областей памяти, по умолчанию KVM виртуализация не настроена на работы KSM После настройки KSM начинает сканировать оперативную память в поисках идентичных данных Когда KSM находит 2 и более совпадений, она помечает данные как общие и заменяет все одинаковые участки памяти одним блоком и делает его защищенным от записи Если позже один из процессов, использующий такую память, делает запрос на изменение информации, KSM создает новую область копируя защищенный от записи блок

Ballooning:

Гипервизор программа управления операционными системами посылает запрос гостевой ОС VDS, чтобы она вернула часть оперативной памяти назад под его управление:

  1. Драйвер virtio_balloon на VDS получает запрос от гипервизора
  2. The virtio_balloon driver создает облако памяти внутри VPS/VDS, к которому не могут обращаться процессы, запущенные внутри VDS
  3. The virtio_balloon driver всегда пытается удовлетворить запрос гипервизора Однако, он может быть просто не в состоянии выполнить данный запрос Например, когда приложения, запущенные на VPS/VDS, используют всю оперативную память В таких ситуациях гостевая ОС выделяет максимально возможный участок памяти, чтобы хотя бы частично выполнить запрос от гипервизора
  4. После выделения облака, гостевая ОС сообщает об этом гипервизору

Гипервизор использует эту память по своему усмотрению, там где она ему нужнее в данный момент Когда память из облака становится свободной, гипервизор может вернуть её обратно гостевой ОС, у которой его взял:

  1. Гипервизор вновь посылает запрос virtio_balloon driver гостевой ОС
  2. Запрос сообщает драйверу, что облако памяти можно разрушить и использовать по своему усмотрению
  3. Драйвер делает память из облака доступной для использования гостевой ОС

Swapping:

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

Оверселлинг CPU

Оверселлинг CPU поддерживается гипервизором KVM через планировщик Linux и механизм cgroups, путём выставления приоритета определенным процессам При этом гостевые ОС не будут ощущать проблем, если не используют процессор на 100 % При оверселлинге CPU нельзя продать одной VDS больше ядер, чем есть на сервере и не нужно допускать нагрузку более 80 % на систему, так как дальнейший оверселлинг может заметно снизить производительность работы как гостевых ОС так и самого сервера

Ссылки

  • Виртуальная энциклопедия по Linux
  • Официальная документация проекта OpenVZ
  • Linux information for IBM® systems


Оверселлинг Информацию О

Оверселлинг


  • user icon

    Оверселлинг beatiful post thanks!

    29.10.2014


Оверселлинг
Оверселлинг
Оверселлинг Вы просматриваете субъект
Оверселлинг что, Оверселлинг кто, Оверселлинг описание

There are excerpts from wikipedia on this article and video

Случайные Статьи

Анна-Павловна

Анна-Павловна

Анна-Павловна (нидерл. Anna Paulowna) — община и город в Нидерландах, в провинции Северная...
Белоспинный лори

Белоспинный лори

Систематика на Викивидах Изображения на Викискладе ITIS 554806 NCBI 176072 Межд...
Мартинес Сомало, Эдуардо

Мартинес Сомало, Эдуардо

Его Высокопреосвященство кардинал Эдуардо Мартинес Сомало (исп. Eduardo Martinez Somalo; род. 3...
Зенитная установка

Зенитная установка

Зенитная установка — общее название военной техники, предназначенной для ведения огня по воздуш...