Управление переподпиской в частном облаке
Частное облако — модель облачных вычислений, которая представляет собой выделенную инфраструктуру. В отличие от публичного, частное облако позволяет пользователям иметь полный контроль над инфраструктурой и безопасностью. Частное облако имеет больше возможностей для кастомизации, в том числе разрешает настройку переподписки.
Что такое pCPU, vCPU и переподписка
• pCPU (physical CPU) — это физический процессор, который обычно применяется в вычислительных системах и серверах. pCPU может содержать одно или несколько ядер, которые могут выполнять различные задачи.
• vCPU (virtual CPU) — это абстракция физического процессора, созданная программным обеспечением виртуализации для обеспечения работы виртуальной машины.
vCPU напрямую связан с pCPU, так как виртуальный процессор — это лишь представление части мощностей физического процессора, предоставляемого в пользование виртуальной машине. vCPU — это одно или несколько цельных ядер pCPU, что означает, что на сервер с 8-ядерным процессором можно одновременно запустить не более 8 виртуальных машин.
Но благодаря переподписке каждое ядро может быть разделено, что позволяет выделять виртуальной машине не целое ядро pCPU, а лишь его часть, точнее часть времени работы этого ядра.
• Переподписка — процесс логического разделения ядер физического процессора на части, позволяющий выделять виртуальной машине меньшее количество pCPU.
Само слово «переподписка» подразумевает передачу каких-либо ресурсов от одного пользователя к другому, то есть переподписать ресурсы.
Технический аспект переподписки
Возможность виртуализации заключается в том, что на одном физическом сервере можно создать несколько виртуальных серверов, ограниченных в использовании физических ресурсов. Гостевая операционная система, запущенная внутри виртуальной среды, будет думать, что имеет полный доступ ко всем выделенным ресурсам. Однако гипервизор будет скрыто динамически изменять объем ресурсов, выделенных для гостевой операционной системы, в зависимости от их текущей загрузки.
Для обеспечения эффективной работы в режиме переподписки необходимо оценить использование физической памяти виртуальной машиной и назначить ей соответствующий объем памяти. Определение размера рабочего набора, то есть количество страниц физической памяти, используемых гостевой ОС, требует особых алгоритмов.
При запуске гостевой ОС выделяется память виртуальной машине. В режиме переподписки часть физической памяти у виртуальной машины может быть вытеснена. Для этого используется фиктивный захват физической памяти гостевой ОС, реализуемый с помощью специального агента. Агент передает информацию о захваченных страницах гипервизору, который может затем перераспределить их в пользу другой виртуальной машины. Управление фиктивным захватом физической памяти критически важно для эффективной работы гостевой ОС и всей системы в целом.
Недостаточное количество фиктивно занятой памяти приводит к вытеснению других виртуальных машин, что снижает их производительность. Другими словами, если фиктивно захваченной памяти недостаточно, система начинает вытеснять другие виртуальные машины для освобождения дополнительной физической памяти.
Чрезмерный фиктивный захват, в свою очередь, приводит к росту страничных промахов гостевой ОС. Страничный промах — это ситуация, когда процессор пытается получить доступ к странице памяти, которая не находится в физической памяти на данный момент. Чем больше страниц физической памяти изымается, тем больше увеличивается нагрузка на остальные страницы системы.
Для решения этих проблем необходима корректная оценка размера рабочего набора. При наличии такой оценки можно фиктивно занимать объем памяти, равный назначенной памяти за вычетом размера рабочего набора, что позволяет избежать гостевой подкачки.
Фиктивный захват изменяет работу гостевой ОС, что отражается в гостевых счетчиках — статистических параметрах, автоматически вычисляемых для мониторинга. Оценка размера рабочего набора может основываться как на предыдущих наблюдениях, так и на гостевых счетчиках.
Однако оценка размера рабочего набора — сложный и подверженный высокой скорости изменений процесс, что снижает ее точность. Поэтому система виртуализации должна готова к быстрой корректировке объема фиктивно занятой памяти в зависимости от наблюдаемого поведения гостевой ОС.
Путем регулирования объема фиктивно занятой памяти на основании оценки размера рабочего набора и корректировки этого объема в зависимости от реакции гостевой ОС, можно сэкономить физическую память и достичь большей плотности размещения виртуальных машин без ущерба для уровня обслуживания.
Управление переподпиской
При использовании переподписки vCPU в облачном сервисе следует обращать внимание на следующие ключевые аспекты управления ресурсами:
• мониторинг использования ресурсов. Следует регулярно отслеживать, сколько ресурсов было использовано, и сравнивать это с лимитом ресурсов, доступных по подписке. Это поможет определить, сколько ресурсов нужно размещать на виртуальные машины в будущем;
• анализ лимитов. Следует проанализировать, сколько ресурсов требуется в среднем для работы текущих виртуальных машин, а также сколько ресурсов используется при повышенной нагрузке. Это может помочь сделать выводы о том, нужно ли увеличивать или уменьшать степень переподписки;
• автоматизация мониторинга. Автоматическое оповещение о том, что были превышены лимиты, позволяет оперативно реагировать на ситуацию;
• оптимизация использования ресурсов. Оптимизировать работу виртуальных машин и сократить количество потребляемых ресурсов можно с помощью использования технологий и инструментов виртуализации, устранения узких мест и оптимизации настроек работы приложений.
Относительно того, сколько ресурсов выделять на виртуальную машину и какую степень переподписки использовать, здесь нет однозначного ответа. Мы рекомендуем выделять ресурсы в зависимости от комбинации приложений и размера баз данных, используемых на виртуальной машине.
Mission-critical приложения
Для Mission-critical приложений, где высокая доступность, надежность и быстродействие являются ключевыми факторами, предпочтительным является соотношение 1:1 между виртуальными и физическими ядрами.
Преимущества:
• минимизация задержек и взаимного влияния. В ситуации, когда активность на одной виртуальной машине не мешает работе другой виртуальной машины, скорость выполнения задач будет выше. Благодаря соотношению 1:1 между vCPU и pCPU задержки и конкуренция за ресурсы снижаются;
• максимизация производительности. Такие приложения могут использовать всю выделенную им мощность, что оказывает положительное влияние на скорость и стабильность их работы;
• высокая доступность. Mission-critical приложения требуют высокой постоянной доступности. Выделение равного количества физических ядер для виртуальных ядер высвобождает ресурсы и исключает возможность их переподписки. Это уменьшает риск сбоев и обеспечивает стабильность работы;
• улучшение качества услуг (QoS). Чтобы обеспечить высокое качество услуг в Mission-critical приложениях, таких как финансовые транзакции, контроль над инфраструктурой и обработка больших объемов данных, перебои в работе и задержки в обработке запросов могут сказываться на бизнесе. Соотношение 1:1 между vCPU и pCPU помогает снизить задержки и улучшить качество услуг для конечных пользователей.
Недостатки:
• высокая стоимость. Использование соотношения 1:1 между vCPU и pCPU может быть более дорогостоящим, поскольку все доступные ресурсы используются без переподписки. Это может привести к увеличению операционных расходов;
• снижение эффективности использования ресурсов. В некоторых случаях приложение может быть менее требовательным к ресурсам, и выделение одного физического ядра на одно виртуальное ядро может привести к недостаточному использованию имеющихся ресурсов, что снижает их экономическую эффективность.
Чаще всего отказ от переподписки для Mission-critical приложений полностью оправдывает себя. Недостатки, связанные с удорожанием поддержки таких приложений, полностью перекрываются тем фактом, что ресурсы, выделенные на ВМ, будут использованы только на соответствующие приложения в любой момент времени.
Business-critical приложения — 3 vCPU / 1 pCPU.
В зависимости от приложения и его требований к производительности и доступности, соотношение 3 vCPU на 1 pCPU может быть подходящим решением.
Преимущества:
• повышение уровня утилизации ресурсов. Использование трех виртуальных ядер на одно физическое ядро позволяет эффективнее использовать ресурсы, что хорошо влияет на общую стоимость владения и экономическую эффективность;
• уменьшение затрат. Такое соотношение дешевле по сравнению с использованием 1:1 между vCPU и pCPU. В результате снижаются расходы на операционные затраты и стоимость оборудования;
• увеличение плотности виртуальных машин. С повышением соотношения vCPU к pCPU может быть размещено больше виртуальных машин на имеющихся физических серверах, что снижает необходимость увеличения площади для размещения и расходы на энергоснабжение, что, в свою очередь, позволяет экономить.
Недостатки:
• возможное снижение производительности. При наличии большего количества vCPU на одном pCPU ресурсы могут быть ограничены и привести к конкуренции за вычислительную мощность. Это может снизить производительность отдельных приложений и вызвать небольшие задержки;
• потенциальное влияние на надежность и доступность. При использовании более высокого соотношения vCPU к pCPU риски, связанные с высокой нагрузкой или сбоями, могут увеличиться, что может повлиять на надежность и доступность бизнес-критических приложений;
• ухудшение качества услуг (QoS). Большее количество задач выполняется на одном физическом ядре, что может снизить качество обслуживания для конечных пользователей, особенно для бизнес-критических операций.
Большинство архитекторов сходится на том, что соотношение 3:1 допустимо для Business-critical приложений без существенного влияния на производительность. Если данное соотношение является слишком рискованным для бизнеса, а 1:1 достаточно дорогим, можно использовать 2 vCPU на 1 pCPU. Это станет оптимальным решением между надежностью и ценой при повышенных потребностях к производительности.
Инфраструктурные и обеспечивающие приложения
Такие приложения обычно не являются критическими для бизнеса. Соотношение 5 vCPU на 1 pCPU может быть обоснованным. Но, конечно, все зависит от требований приложений.
Преимущества:
• сокращение расходов. При использовании соотношения 5:1 уменьшается количество физических серверов, нужных для запуска тех же приложений, что в свою очередь экономит на затратах на оборудование и технические услуги;
• рациональное использование ресурсов. Соотношение 5:1 позволяет более эффективно использовать pCPU и повышает уровень утилизации мощности оборудования.
Недостатки:
• уменьшенный уровень доступности. При использовании соотношения 5:1 понижается уровень доступности. Например, если у одного из серверов сбоит один pCPU, будет недоступно сразу несколько виртуальных машин, что вызовет проблему для приложений и пользователей;
• снижение производительности. При повышенной загрузке машины уменьшается доступная вычислительная мощность, из-за чего на каждую виртуальную машину приходится меньше мощности;
• несоответствие требованиям приложений. Некоторые приложения могут требовать большего количества ресурсов, чем может предоставить такая степень переподписки, что может сказаться на производительности.
Соотношение 5 vCPU на 1 pCPU может эффективно использовать ресурсы сервера и сократить расходы, но следует учитывать низкий уровень доступности и возможные риски снижения производительности. Каждая организация должна сама решить, подходит ли такое соотношение для ее требований и бизнес-целей.
Виртуальные десктопы
Виртуальные десктопы представляют собой виртуальные машины, созданные для работы пользователей, которые могут удаленно управлять виртуальным рабочим столом и использовать приложения, установленные на этом виртуальном рабочем столе. В такой конфигурации архитекторы советуют использовать степень переподписки, равную 10:1.
Преимущества:
• высокая степень гибкости и адаптивности. Виртуальная машина может быстро адаптироваться к изменениям нагрузки и изменениям потребностей пользователей;
• возможность запуска большего числа ВМ. Это позволяет сэкономить затраты на оборудование и улучшить управление ресурсами;
• высокая степень изоляции между виртуальными машинами. Если один виртуальный десктоп или приложение зависнет или упадет, это не повлияет на работу других виртуальных машин;
• возможность управления ресурсами между виртуальными машинами. Организации могут управлять нагрузкой на сервер, перераспределяя ресурсы между виртуальными машинами при необходимости;
• низкая стоимость. За счет того, что на одном pCPU могут располагаться 10 vCPU, увеличивается количество машин, способных работать на одном физическом сервере. Это является очень выгодным решением.
Недостатки:
• большая нагруженность. Совместное использование процессора между 10 виртуальными машинами может привести к увеличению времени отклика, когда много машин находятся в активном состоянии. Это может повлиять на производительность приложений, работающих на виртуальной машине.
Соотношение 10 vCPU / 1 pCPU является выгодным вариантом для обеспечения эффективности виртуальных десктопов и оптимального распределения нагрузки на оборудование. Однако необходимо учитывать потребности собственной организации и масштабы ее деятельности для выбора оптимального варианта и эффективной работы с виртуальными машинами.
От своих задач и степени важности работающих на ВМ приложений зависит то, какую степень переподписки выбрать. Каждое соотношение имеет свои плюсы и минусы. Чаще всего провайдеры устанавливают степень переподписки равную 5:1, а лоукостеры могут поднимать ее вплоть до 10:1. Часто переподписку не позволяют регулировать на стороне клиента, провайдер устанавливает фиксированные значения. Но ITGLOBAL.COM позволяет самостоятельно настраивать степень переподписки в частном облаке.