Руководство по системному администрированию: контейнеры в Solaris - управление ресурсами и зонами

Обзор управления ресурсами

Современные вычислительные среды должны гибко реагировать на изменчивые рабочие нагрузки, создаваемые в системе разнообразными приложениями. Рабочая нагрузка – это совокупность всех процессов приложения или группы приложений. Если функции управления ресурсами не используются, операционная система Solaris реагирует на запросы рабочих нагрузок путем динамической адаптации к новым запросам приложений. Эта стандартная реакция обычно предоставляет всем приложениям, работающим в системе, равный доступ к ресурсам. Функции управления ресурсами Solaris позволяют реализовать дифференцированный подход к рабочим нагрузкам. Имеются следующие возможности:

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

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

Реализация системной конфигурации, использующей средства управления ресурсами, может служить нескольким целям. Имеются следующие возможности:

При планировании конфигурации с управлением ресурсами необходимо учесть следующие ключевые аспекты:

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

Эффективное управление ресурсами реализуется в системе Solaris благодаря механизмам управления, механизмам уведомления и механизмам наблюдения. Многие из этих возможностей предоставляются через расширения существующих механизмов, например файловой системы proc(4), наборов процессоров и классов планирования. Другие возможности относятся исключительно к управлению ресурсами. Описание этих возможностей приводится в последующих главах.

Классификация ресурсов

Ресурс – это любой аспект вычислительной системы, которым можно управлять в целях изменения поведения приложений. Таким образом, ресурс – это возможность, запрашиваемая приложением явным или неявным образом. Если надежно написанное приложение сталкивается с отклонением запроса или ограничением этой возможности, его выполнение замедляется.

Классификация ресурсов, в отличие от идентификации ресурсов, может проводиться по ряду осей. В качестве осей можно выбрать следующие: явные или неявные требования, основанные на времени, например процессорное время, или независимые от времени, например назначенные доли ЦП и т.д.

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

Могут предоставляться дополнительные интерфейсы, позволяющие реализовать явное согласование уровней обслуживания ЦП или полосы пропускания. Управление явно запрашиваемыми ресурсами, например запросами на создание дополнительных потоков, можно осуществлять посредством ограничений.

Механизмы контроля в управлении ресурсами

В операционной системе Solaris доступны три типа механизмов управления – ограничения, планирование и распределение.

Механизмы ограничений

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

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

Механизмы планирования

Под планированием понимается формирование последовательности принимаемых решений по распределению ресурсов с определенными интервалами. Решения принимаются на основании предсказуемого алгоритма. Если приложение не потребляет выделенные ему ресурсы, эти ресурсы остаются доступными для других приложений. Управление ресурсами на основе планирования позволяет полностью использовать конфигурацию с неполным распределением, обеспечивая при этом управляемость приложений в сценарии с полным или чрезмерным распределением. Интерпретация термина "управляемость" зависит от лежащего в основе алгоритма. В некоторых случаях алгоритм планирования может гарантировать определенный уровень доступности ресурса для всех приложений. Доступом приложений к ресурсам ЦП управляет настраиваемый планировщик долевого распределения (FSS), описанный в Глава 8Планировщик долевого распределения (обзор).

Механизмы распределения

Распределение используется для привязывания рабочей нагрузки к подмножеству доступных системных ресурсов. Эта привязка позволяет гарантировать доступность для этой рабочей нагрузки известного количества ресурсов. Описанные в Глава 12Пулы ресурсов (обзор) пулы ресурсов позволяют ограничить выполнение рабочих нагрузок определенными подмножествами компьютера.

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

Настройка управления ресурсами

Часть конфигурации управления ресурсами можно разместить в сетевой службе имен. Эта возможность позволяет администраторам применять ограничения по ресурсам не индивидуально, а к целому набору компьютеров. Связанные задачи можно снабдить общим идентификатором, что позволит отслеживать совокупное потребление ресурсов по данным учета.

Более подробное описание параметров управления ресурсами и идентификаторов, ориентированных на рабочие нагрузки, приведены в Глава 2Проекты и задачи (обзор). Подсистема расширенного учета, связывающая эти идентификаторы с потреблением ресурсов приложениями, описана в Глава 4Расширенный учет (обзор).

Взаимодействие с зонами Solaris

Для дальнейшего совершенствования прикладной среды функции управления ресурсами можно использовать совместно с зонами Solaris. Взаимодействие между этими функциями и зонами описано в соответствующих разделах настоящего руководства.