Перейти к содержанию

Администрирование пулов ресурсов#

Определение пула ресурсов#

Пул ресурсов – это совокупность из одного или нескольких серверов Numa vServer, соединённых друг с другом в общую единицу, на которой возможно развертывание, запуск и исполнение ВМ. Для одного пула ресурсов поддерживаются до 64 серверов.

При использовании общего хранилища пул ресурсов позволяет виртуальным машинам работать с любым сервером Numa vServer, имеющим достаточный для функционирования ВМ объем оперативной памяти, и в дальнейшем динамически перемещаться между серверами Numa vServer с минимальными простоями. При сбое отдельного сервера администратор может перезапустить отказавшую ВМ на другом сервере того же пула ресурсов. Если для пула включен механизм обеспечения высокой доступности (High Availability, HA), то в случае отказа сервера ВМ будут автоматически перемещены на работающий сервер.

Пул ресурсов имеет, по крайней мере, один физический сервер, называемый мастером. Только мастер предоставляет интерфейс для администрирования всем пулом. По мере надобности мастер передает команды отдельным участникам.

Примечание

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

Требования для создания пула ресурсов#

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

Требования к аппаратному обеспечению#

Описание гомогенного пула:

  • поставщик ЦП (Intel, AMD) должен быть одинаковым на всех ЦП на всех серверах (разработчик, модель, характеристики);
  • серверы пула должны работать под управлением одной версии программного обеспечения Numa vServer.

Требования для конфигурации сервера, присоединяющегося к пулу#

  • Сервер не является членом существующего пула ресурсов.
  • На сервере не настроено общее хранилище.
  • На сервере не размещены ни работающие, ни приостановленные виртуальные машины.
  • На виртуальных машинах сервера не ведутся активные операции, такие как завершение работы виртуальной машины.
  • Системное время на сервере синхронизировано с системным временем мастера (например, с помощью NTP).
  • Интерфейс управления сервером не агрегирован. Вы можете настроить интерфейс управления, когда сервер успешно присоединится к пулу.
  • Управляющий IP-адрес является статическим, либо настроен на самом сервере, либо с помощью соответствующей конфигурации на DHCP-сервере.

Серверы Numa vServer в пулах ресурсов могут содержать различное количество физических сетевых интерфейсов и иметь локальные хранилища данных различного размера. На практике часто бывает трудно получить несколько серверов с одинаковыми процессорами, поэтому допускаются незначительные изменения. Если необходимо, чтобы в вашей среде серверы с разными ЦП находились в одном и том же пуле ресурсов, вы можете принудительно объединить пул (см. раздел Создание гетерогенного пула ресурсов).

Примечание

Серверы, предоставляющие общее хранилище NFS, iSCSI, SAMBA для пула, должны иметь статический IP-адрес или быть адресуемыми в DNS.

Хотя это не указано в технических требованиях по созданию пула ресурсов непосредственно, но преимущества пулов (например, возможность динамически выбирать, на каком хосте Numa vServer запускать ВМ) доступны, только если имеется хотя бы одно хранилище данных с общим доступом для членов пула. Если возможно, необходимо отложить создание пула до тех пор, пока подобное хранилище не станет доступно. Когда это произойдёт, рекомендуется переместить существующие ВМ и диски, которых хранились локально, в общее хранилище пула.

Создание пула ресурсов#

Когда новый сервер присоединяется к пулу ресурсов, присоединяющийся сервер синхронизирует свою локальную базу данных со всей базой данных пула и наследует некоторые параметры из пула:

  • конфигурации ВМ, локального и удаленного хранилища добавляются в общую базу данных пула. Если возможно или необходимо сделать ресурсы общими, они будут собраны в объединённом хосте в пуле;
  • присоединяемый сервер наследует существующие общие для пула хранилища данные, также создаются соответствующие записи физического блочного устройства (PBD) так, чтобы новый сервер мог автоматически получить доступ к существующему общему хранилищу;
  • сетевая информация наследуется присоединяемым сервером частично: наследуются структурные особенности сетевого адаптера, виртуальных сетей VLAN, агрегаций сетевых интерфейсов. Данные установленных политик не наследуется. К подобным свойствам, которые не могут получить значения наследованием и должны быть переконфигурированы вручную, относятся:
    • IP-адреса интерфейсов управления, которые сохраняются из исходной конфигурации;
    • местонахождение интерфейса управления, которое не меняется по сравнению с исходной конфигурацией. Например, если другие серверы пула имеют свои интерфейсы управления в агрегации интерфейсов, то добавляемый сервер должен быть в обязательном порядке включён в агрегацию после вхождения в пул;
    • сетевые адаптеры, выделенные для соединения с хранилищем, которые должны быть пересвязаны с новым хостом через интерфейс командной строки и физические блочные устройства, которые для правильного распределения трафика должны быть переподключены (это вызвано отсутствием в операции объединения пула операции присвоения IP-адресов; без правильной настройки интерфейсы, выделенные для соединения с хранилищем, бесполезны). Более подробно о настройке сетевых интерфейсов с помощью команд cм. в разделе Настройка сетевого интерфейса, выделенного для соединения с хранилищем.

Примечание

Вы можете присоединить новый сервер к пулу ресурсов только в том случае, если интерфейс управления сервером находится в той же VLAN, что и пул ресурсов.

Для объединения серверов host1 и host2 в пул ресурсов выполните следующие действия:

  1. Откройте консоль на сервере host2.
  2. Выполните следующую команду:

    xe pool-join master-address=<host1-IP-address> master-username=<administrator-username> master-password=<password>
    

    где master-address – IP-адрес или доменное имя сервера host1;
    master-username – логин администратора, присвоенный при установке Numa vServer на сервер host1;
    master-password – пароль администратора, присвоенный при установке Numa vServer на сервер host1.

Создание гетерогенного пула ресурсов#

Numa vServer позволяет объединять в пул отличающимся по своим характеристикам серверам. Такой пул принято называть гетерогенным. Создание гетерогенного пула возможно при использовании технологий в процессорах Intel (FlexMigration) и AMD (Extended migration), которые обеспечивают процессор свойствами «маскирование» (masking) или «выравнивание» (leveling). Эти свойства позволяют конфигурировать процессор так, чтобы он предоставлял нужный набор функций. Позволяя создавать пулы из серверов с отличающимися характеристиками процессоров, которые поддерживают миграцию ВМ.

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

  • процессоры сервера, вступающего в пул, должны быть от того же поставщика (AMD, Intel), что и процессоры на серверах, которые уже находятся в пуле. Идентичность семейства, модели и версии не обязательна;
  • процессоры сервера, вступающего в пул, должны поддерживать технологию FlexMigration фирмы Intel или технологию Extended Migration фирмы AMD;
  • характеристики процессоров сервера, являющихся членами пула, должны составлять подмножество набора характеристик процессоров сервера, вступающего в пул;
  • сервер, вступающий в пул, и серверы, находящиеся в пуле, должны работать с одинаковыми версиями программного обеспечения Numa vServer.

Любые изменения в наборе конфигураций пула не влияют на виртуальные машины, которые в данный момент работают в пуле. Работающая ВМ продолжает использовать набор конфигураций, который был применен при запуске. Этот набор конфигураций фиксируется при загрузке и сохраняется при переносе, приостановке и возобновлении операций. Если уровень пула падает, когда к нему присоединяется сервер с более низкими характеристиками, работающую виртуальную машину можно перенести на любой сервер в пуле, кроме недавно добавленного. При перемещении или миграции виртуальной машины на другой сервер в пределах или между пулами Numa vServer сравнивает набор функций виртуальной машины с набором функций сервера назначения. Если установлено, что наборы функций совместимы, виртуальная машина может мигрировать. Это позволяет виртуальной машине свободно перемещаться внутри и между пулами независимо от того, какие функции использует виртуальная машина.

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

Присвоение имени пулу ресурсов#

По умолчанию серверы Numa vServer принадлежат безымянному пулу или пулу, имеющего имя мастер сервера. Для присвоения нового имени пулу ресурсов выполните команду:

xe pool-param-set name-label=<new-pool=name> uuid=<pool-uuid>
Для поиска нужного идентификатора pool_uuid воспользуйтесь функцией автодополнения (клавиша Tab) или командой xe pool-list.

Добавление системы хранения с общим доступом#

Подсказка

Полный список поддерживаемых типов хранилищ приведен в разделе Создание и настройка хранилищ данных.

В данном разделе описывается пример создания хранилища данных с общим доступом на существующем сервере NFS.

Для добавления общего NFS-хранилища к пулу ресурсов через CLI Numa vServer выполните следующие действия:

  1. Откройте консоль на любом сервере в пуле.
  2. Создайте хранилище данных на <server:/path>:

    xe sr-create content-type=user type=nfs name-label=<sr-name> shared=true device-config:server=<server-IP-address> device-config:serverpath=<path>
    

    где параметр device-config:server – адрес сервера, на котором запущен сервер NFS, параметр device-config:serverpath – путь к каталогу на сервере NFS. После установки параметра shared=true общее хранилище будет автоматически присоединено к каждому серверу в пуле и в дальнейшем любые подключаемые к пулу серверы будут присоединены к этому хранилищу. UUID созданного хранилища данных будет выведен на экран.

  3. Узнайте UUID пула:

    xe pool-list
    

  4. Задайте хранилище по умолчанию в качестве места хранения для участников пула:

    xe pool-param-set uuid=<pool-uuid> default-SR=<sr-uuid>
    

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

Вывод сервера из пула ресурсов#

Примечание

Перед выводом сервера из пула убедитесь, что все ВМ, запущенные на этом сервере, выключены или перенесены на другие серверы, иначе сервер нельзя будет вывести из пула.

Для вывода сервера из пула ресурсов через CLI выполните следующие действия:

  1. Откройте консоль на любом сервере в пуле.
  2. Узнайте UUID сервера:

    xe host-list
    

  3. Извлеките нужный сервер из пула:

    xe pool-eject host-uuid=<host-uuid>
    

После вывода сервера из пула, сервер будет перезагружен, переинициализирован и возвращен в исходное состояние (состояние после инсталляции).

Внимание!

Нельзя извлекать сервер, если он содержит важные данные на его локальном диске, так как все данные будут удалены после извлечения. Если нужно сохранить эти данные, следует скопировать ВМ в общее хранилище пула командой:

xe vm-copy sr-uuid=<sr-uuid> vm=<vm-name> new-name-label=<new-vm-name>

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

Подготовка серверов пула к обслуживанию#

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

Примечание

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

Для подготовки участника пула к обслуживанию и возобновления его функционирования после проведения обслуживания выполните следующую последовательность действий:

  1. Заблокируйте сервер:
    xe host-disable uuid=<host_uuid>
    
  2. Переместите ВМ к другим серверам в пуле.
    xe host-evacuate uuid=<host_uuid>
    
  3. Выполните требуемые операции по обслуживанию сервера.
  4. После выполнения операций по обслуживанию разблокируйте сервер:
    xe host-enable uuid=<host_uuid>
    

После разблокировки обслуженного сервера на нем можно запустить ВМ.