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

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

В данном разделе описан способ создания пула ресурсов через интерфейс командной строки хе, представлена типовая, основанная на протоколе сетевого доступа к файловым системам (Network File System, NFS) конфигурация общего хранилища, приведены примеры управления ВМ, а также описаны рекомендуемые действия при отказе физического сервера.

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

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

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

Примечание

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

Примечание

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

Для объединения серверов host1 и host2 в пул ресурсов необходимо:

  • открыть консоль на сервере host2;
  • выполнить следующую команду:
xe pool-join master-address=<host1 IP-address>  master-username=<administrator_username> master-password=<password>

В качестве значения параметра master-address должно быть указано полное его IP-адрес или его доменное имя, а параметр master-password должен содержать пароль администратора, присвоенный при установке Numa vServer на сервер host1.

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

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

xe pool-param-set name-label=<New_pool_name> uuid=<pool_uuid>

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

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

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

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

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

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

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

Полный список поддерживаемых типов хранилищ (см. раздел Создание и настройка хранилищ данных). В данном пункте показано как создаётся хранилище данных с общим доступом на существующем сервере NFS. Что бы добавить общее хранилище NFS к пулу ресурсов через интерфейс CLI, необходимо:

  • открыть консоль на любом сервере в пуле;
  • создать хранилище данных на <server:/path> командой:
xe sr-create content-type=user type=nfs name-label=<Example_SR> shared=true device-config:server=<server IP-address> device-config:serverpath=<path>

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

  • найти идентификатор UUID пула можно командой:
xe pool-list
  • Задать хранилище по умолчанию в качестве места хранения для участников пула можно следующей командой:
xe pool-param-set uuid=<pool_uuid> default-SR=<sr_uuid>

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

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

Примечание

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

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

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

  • открыть консоль на любом сервере в пуле;
  • найти UUID сервера командой:
xe host-list
  • извлечь нужный сервер из пула:
xe pool-eject host-uuid=<host_uuid>

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

Предупреждение

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

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

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

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

Примечание

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

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

  • выполнить команды:
xe host-disable uuid=<host_uuid>
xe host-evacuate uuid=<host_uuid>

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

  • выполнить требуемые операции по обслуживанию сервера;
  • после выполнения операций по обслуживанию разблокировать сервер:
xe host-enable uuid=<host_uuid>

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