Лучшие практики
1. Физическая инфраструктура
Аннотация
В этой главе представлены рекомендации по выбору и настройке оборудования для использования с платформой виртуализации zVirt.
1.1. Серверы
1.1.1. Проверка оборудования
Перед развертыванием системы мы рекомендуем следующее:
-
Убедитесь, что всё оборудование включено в список совместимого оборудования.
Матрицу совместимости можно посмотреть на официальном сайте Orion soft.
-
Убедитесь, что ваше оборудование соответствует минимальным требованиям.
Требования к оборудованию описаны в разделе Требования в Руководстве по предварительному планированию инфраструктуры.
-
Протестируйте системную память на наличие аппаратных ошибок.
1.1.2. Рекомендации относительно ЦП
В этом разделе содержится описание некоторых особенностей относительно ЦП серверов и их влияние на использование в среде zVirt.
Уязвимости бокового канала процессора
Во многих современных процессорах был обнаружен класс уязвимостей безопасности, известных как "уязвимости бокового канала". Например, к ним относятся: Spectre, Meltdown, Foreshadow, L1TF. Некоторые меры по устранению этих уязвимостей могут оказать значительное влияние на производительность.
Способы устранения уязвимостей:
-
аппаратно;
-
с помощью микрокода;
Аппаратные меры по устранению
Некоторые недавние выпуски ЦП включают аппаратные средства защиты, которые могут устранить уязвимости с минимальным влиянием на производительность или вообще без него. Таким образом, в дополнение к любому приросту производительности этих процессоров, выбор их для новой системы может обеспечить еще больший прирост производительности по сравнению со старыми процессорами, которые требуют решения на уровне микрокода или ПО для устранения уязвимостей.
Устранение на уровне микрокода
Некоторые "уязвимости бокового канала" могут быть устранены на уровне микрокода. Микрокод — это слой кода, который выполняется на ЦП ниже видимого извне набора инструкций ЦП. Микрокод, поставляемый с процессором, может быть обновлен либо с помощью обновлений BIOS, либо с помощью операционной системы (ОС).
Аппаратная виртуализация
Большинство процессоров Intel® и AMD оснащены аппаратными функциями для поддержки виртуализации и повышения производительности. Функции: аппаратная виртуализация ЦП, виртуализация MMU и виртуализация ввода-вывода MMU — описаны ниже.
Аппаратная виртуализация ЦП (Intel VT и AMD-V™)
Аппаратная поддержка виртуализации ЦП, называемая Intel VT (в процессорах Intel) или AMD-V (в процессорах AMD), обеспечивает производительность, сравнимую с производительностью невиртуализованной машины.
Аппаратная виртуализация MMU (Intel EPT и AMD RVI)
Аппаратная виртуализация MMU, называемая Rapid Virtualization Indexing (RVI) в процессорах AMD и Extended Page Table (EPT) в процессорах Intel, устраняет накладные расходы, которые связаны с виртуализацией блоков управления памятью (MMU), и обеспечивает аппаратную поддержку для виртуализации MMU.
Аппаратная виртуализация MMU позволяет создать дополнительный уровень таблиц страниц, которые сопоставляют физическую память гостевой системы с адресами физической памяти. При этом устраняется необходимость в обслуживании теневых таблиц страниц. Это снижает потребление памяти и ускоряет рабочие нагрузки, в которых гостевые ОС часто изменяют таблицы страниц.
Несмотря на то, что аппаратная виртуализация MMU повышает производительность большинства рабочих нагрузок, она увеличивает время, необходимое для обслуживания промаха TLB. Тем самым снижается производительность рабочих нагрузок, нагружающих TLB. Тем не менее, эту возросшую стоимость промаха TLB можно смягчить, настроив гостевую ОС и приложения на использование больших страниц памяти.
Аппаратная виртуализация ввода-вывода MMU (VT-D и AMD-Vi)
Аппаратная виртуализация ввода-вывода MMU (IOMMU), называемая Intel VT-d в процессорах Intel и AMD-VI в процессорах AMD, представляет собой функцию управления памятью ввода-вывода, которая переназначает передачу ввода-вывода DMA и прерывания устройства. Эта функция может позволить ВМ иметь прямой доступ к аппаратным устройствам ввода-вывода, таким как сетевые карты, контроллеры хранения данных (HBA) и графические процессоры.
Общие рекомендации в отношении ЦП
В таблице ниже описаны параметры ЦП, которые следует учитывать при подготовке сервера к использованию в среде zVirt.
Параметр | Описание/рекомендации |
---|---|
Марка процессора |
|
Расширения виртуализации |
|
Многоядерные процессоры |
|
Поддерживаемая память |
Используйте ЦП с поддержкой новейшего поколения памяти, что позволит выбрать модули памяти с более высокой частотой и объемом. |
1.1.3. Рекомендации относительно памяти
В этом разделе приведены рекомендации по использованию памяти с zVirt.
Параметр | Описание/рекомендации | ||
---|---|---|---|
Бренд |
Старайтесь не смешивать бренды в одном сервере. |
||
Поколение |
|
||
Объем памяти |
|
||
Эффективная частота |
Старайтесь использовать модули с максимально допустимой частотой, но убедитесь, что эта частота поддерживается ЦП. Если частота выбранного модуля превышает допустимую частоту процессора и системной платы, он будет либо работать на частоте, поддерживаемой процессором, либо не будет работать совсем. |
||
Многоканальное подключение |
|
||
Многоранговая память |
|
||
Типы памяти (RDIMM и LRDIMM) |
|
1.1.4. Рекомендации по проверке и настройке BIOS
Аппаратные настройки BIOS по умолчанию на серверах не всегда могут быть лучшим выбором для оптимальной производительности. В этом разделе перечислены некоторые настройки BIOS, которые следует проверить, особенно при первой настройке нового сервера.
Общие настройки
-
Убедитесь, что вы используете последнюю версию BIOS, доступную для вашей системы.
После обновления BIOS необходимо повторно проверить настройки BIOS на случай, если станут доступны новые параметры BIOS или изменились настройки старых параметров. -
Убедитесь, что BIOS настроен на активацию всех заполненных процессорных сокетов и на активацию всех ядер в каждом сокете.
-
Активируйте Turbo Boost в BIOS, если ваши процессоры его поддерживают.
-
Убедитесь, что технология Hyper-Threading активирована в BIOS для процессоров, которые ее поддерживают.
-
В некоторых системах, поддерживающих архитектуру NUMA, предусмотрена возможность деактивации NUMA путем активации чередования узлов. В большинстве случаев наилучшую производительность можно получить, отключив чередование узлов (другими словами, оставив NUMA активированным).
-
Убедитесь, что все функции аппаратной виртуализации (VT-x, AMD-V, EPT, RVI и т.д.) активированы в BIOS.
После внесения изменений в эти функции аппаратной виртуализации некоторым системам может потребоваться полное отключение питания, прежде чем изменения вступят в силу. -
Деактивируйте в BIOS все устройства, которые вы не будете использовать. Это могут быть, например, ненужные последовательные, USB или сетевые порты.
1.2. Системы хранения данных
zVirt поддерживает различные типы хранилищ (подробнее см. в разделе Хранилище руководства администратора). В этом разделе приведены рекомендации по СХД.
1.2.1. Общие рекомендации
Многие рабочие нагрузки очень чувствительны к задержке операций ввода-вывода. Поэтому важно, чтобы устройства хранения данных были правильно настроены.
Для обеспечения должной производительности СХД учитывайте следующие рекомендации:
-
Обеспечьте достаточную пропускную способность инфраструктуры хранения данных.
-
При проектировании производительности сети хранения данных учитывайте физические ограничения сети, а не логические распределения. Использование VLAN или VPN не является подходящим решением проблемы превышения лимита подписки на каналы в общих конфигурациях. VLAN и другие способы виртуального разделения сети обеспечивают способ логической конфигурации сети, но не изменяют физические возможности каналов и магистралей между коммутаторами.
Виртуальные локальные сети и VPN позволяют использовать функции качества обслуживания сети (QoS). Эти функции не устраняют превышение лимита подписки, но позволяют распределять полосу пропускания предпочтительно или пропорционально определенному трафику.
-
Убедитесь, что адаптеры памяти установлены в слоты с достаточной пропускной способностью для поддержания ожидаемой пропускной способности. Будьте внимательны, чтобы различать похожие по звучанию, но потенциально несовместимые архитектуры шин, включая PCI, PCI-X, PCI Express (PCIe), PCIe 3.0 (он же PCIe Gen 3) и PCIe 4.0 (он же PCIe Gen 4). И обязательно обратите внимание на количество "полос" для тех архитектур, которые могут поддерживать более одной полосы.
Например, для обеспечения полной пропускной способности однопортовые платы HBA Fibre Channel 32 Гбит/с должны быть установлены как минимум в слоты PCIe Gen2 x8 или PCIe Gen 3 x4 (каждый из которых способен обеспечить максимальную пропускную способность 32 Гбит/с в каждом направлении), а двухпортовые HBA-платы Fibre Channel 32 Гбит/с должны быть установлены как минимум в слоты PCIe Gen 3 x8 (которые способны обеспечить максимальную пропускную способность 64 Гбит/с в каждом направлении).
-
Убедитесь, что скорость Fibre Channel стабильна, чтобы избежать проблем с производительностью.
-
При необходимости настройте максимальную длину очереди для плат HBA Fibre Channel.
-
Для iSCSI и NFS убедитесь, что топология вашей сети не содержит узких мест Ethernet, когда множество каналов маршрутизируются через малое количество каналов, что может привести к превышению лимита подписки и потере сетевых пакетов.
1.2.2. Рекомендации по подготовке СХД
В следующей таблице рассмотрены рекомендации, которые будут полезны при планировании и подготовке СХД для использования в среде виртуализации zVirt.
Параметр | Описание/рекомендации |
---|---|
Физическое хранилище и накопители |
|
Использование нескольких хранилищ для изоляции ввода-вывода |
Когда несколько ВМ работают с одним и тем же хранилищем данных, тои все они используют одни и те же ресурсы ввода-вывода. Это может привести к конфликтам и проблемам с производительностью. Поэтому на этапе планирования и проектирования инфраструктуры следует рассмотреть возможность изоляции потоков ввода/вывода. Для изоляции можно использовать несколько хранилищ для различных групп ВМ, чтобы они не конкурировали за ресурсы. Это повысит производительность и предотвратит проблемы, связанные с конфликтами. |
Переподписка на ресурсы хранилища |
На этапе подготовки СХД важно корректно рассчитать необходимые ресурсы хранилища, чтобы не возникло ситуации при которой возникает переподписка. |
Использование блочных хранилищ |
|
Мониторинг использования хранилища |
Необходимо убедиться, что в среде настроена система мониторинга за использованием хранилища и объемом свободного пространства. |
Создание плана резервного копирования |
Для резервного копирования ВМ можно использовать:
Независимо от выбранного метода необходимо регулярно тестировать план резервного копирования для проверки корректной работы. |
Защита данных с помощью избыточности |
Для защиты данных от потери используйте избыточность. Для этого можно использовать RAID и/или репликацию на резервную СХД. |
Избыточный доступ к хранилищу |
|
1.3. Проектирование сетевой инфраструктуры
В этом разделе приведены рекомендации по сетевому оборудованию для использования с zVirt.
1.3.1. Общие рекомендации относительно сетей
Перед оптимизацией сети ознакомьтесь с физическими аспектами сети:
-
Рассмотрите возможность использования сетевых адаптеров (NIC) серверного класса для достижения наилучшей производительности.
-
Убедитесь, что сетевая инфраструктура между исходной и целевой сетевыми картами не создает узких мест. Например, если обе сетевые карты имеют скорость 10 Гбит/с, проверьте, что все кабели и коммутаторы могут обеспечить такую пропускную способность и что коммутаторы не настроены на более низкое значение.
-
Убедитесь, что сетевые карты установлены в слоты с достаточной пропускной способностью для поддержания их максимальной пропускной способности. Например:
-
однопортовые сетевые адаптеры Ethernet 10 Гбит/с должны использовать PCIe x8 (или выше) или PCI-X 266;
-
двухпортовые сетевые адаптеры Ethernet 10 Гбит/с должны использовать PCIe x16 (или выше);
-
однопортовые сетевые адаптеры Ethernet 40 Гбит/с должны использовать слоты PCIe Gen 3 x8 (или выше);
-
двухпортовые адаптеры 40 Гбит/с (или выше) должны использовать слоты PCIe Gen 3 x16 (или выше).
-
-
Желательно, чтобы на пути к фактическому устройству Ethernet не было «микросхемы-моста» (например, PCI-X-PCIe или PCIe-PCI-X) (включая любую встроенную микросхему моста на самом устройстве), так как эти микросхемы могут снизить производительность.
Для достижения наилучшей производительности сети рекомендуется использовать сетевые адаптеры, поддерживающие следующие функции:
-
Checksum Offload (CSO) или TCP Checksum Offloading (TCO) — обеспечивает проверку заголовка пакета с помощью сетевой карты, а не ЦП.
-
Разгрузка сегментации TCP (TCP segmentation offload, TSO) — увеличивает исходящую пропускную способность сетевого интерфейса и снижение нагрузки на центральный процессор.
-
Разгрузка большого приёма (large receive offload, LRO) — увеличивает входящую пропускную способность сетевого интерфейса и снижение нагрузки на центральный процессор.
-
Возможность работы с несколькими элементами Scatter Gather на кадр Tx.
-
Jumbo frames.
1.3.2. Резервирование
Основные способы резервирования сети:
-
Установка дублирующего оборудования и обеспечение отказоустойчивых сервисов для критически важных устройств.
-
Использование резервных путей.
Рисунок 1. Использование резервных путей для трафика, возникающего между сервером и СХДЧтобы избежать возникновения петель при резервировании путей на уровне 2, используйте протоколы STP и RSTP. Рисунок 2. Резервирование путей между сервером и коммутатором с помощью Bond -
Использование устройств уровня 3 в магистральной системе. Уровень 3 не требует активации STP, а также обеспечивает лучший выбор пути и более высокую сходимость во время переключения на резервный ресурс.
-
Использование протоколов динамической маршрутизации (OSPF, EIGRP, ISIS).
1.3.3. Уменьшение размера домена отказов
Домен отказов представляет собой область сети, затронутую сбоями в работе критически важного устройства или сетевого сервиса.
Использование резервных каналов и надежных устройств корпоративного класса сводит к минимуму вероятность нарушения работы сети.
Как видно из первого рисунка, при правильном проектировании сети сбой одного устройства вызывает минимальные неблагоприятные последствия для инфраструктуры в целом:
-
При сбое коммутатора уровня доступа: инфраструктура теряет связь с конкретным устройством, подключенным к этому коммутатору. С точки зрения zVirt отключение отдельного домена хранения или сервера виртуализации не вызывает масштабный сбой среды (при корректном проектировании логической инфраструктуры), хотя последствия могут быть чувствительны. Уменьшения времени недоступности можно достичь за счет наличия резервного коммутатора уровня доступа, на который можно быстро переключиться.
-
При сбое одного коммутатора уровня ядра/распределения: система продолжает функционировать в нормальном режиме. Связь с хранилищами сохраняется, доступ к среде и виртуализированным сервисам также сохраняется (как изнутри, так и из внешних сетей).
-
При сбое граничного маршрутизатора: система продолжает функционировать в нормальном режиме. Связь с хранилищами сохраняется, доступ к среде и виртуализированным сервисам также сохраняется (как изнутри, так и из внешних сетей).
Из данного рисунка видно, что при подобном проекте сетевой инфраструктуры, последствия сбоя устройств могут быть значительными:
-
При сбое коммутатора уровня доступа: пропадает связь со всеми устройствами, подключенными к нему. В случае, например, если все серверы виртуализации подключены к одному коммутатору. Это приведёт к масштабному сбою среды и недоступности всех виртуализированных сервисов.
-
При сбое коммутатора уровня ядра/распределения: пропадает связь между всеми компонентами, что также вызывает масштабный сбой среды и недоступность всех виртуализированных сервисов.
-
При сбое граничного маршрутизатора: система продолжает функционировать в нормальном режиме, но виртуализированные сервисы теряют доступ во внешнюю среду, а также невозможно получить доступ к этим сервисам извне.
Увеличение пропускной способности
В иерархической модели сети в некоторых каналах между коммутаторами доступа и коммутаторами распределения может потребоваться обработка большего объема трафика, чем в других каналах. Поскольку трафик из нескольких каналов объединяется в одном исходящем канале, такой канал может стать "узким местом". Агрегация каналов позволяет администратору увеличить пропускную способность между устройствами за счет создания единого логического канала, состоящего из нескольких физических каналов.
2. Логическая инфраструктура
2.1. Общие рекомендации
Ниже приведены общие рекомендации по инфраструктуре среды виртуализации:
-
Используйте NTP (в zVirt поддерживается chrony) на всех хостах и виртуальных машинах в среде для синхронизации времени. Аутентификация и сертификаты особенно чувствительны к разнице во времени.
-
Для разрешения имён в продуктивной среде используйте DNS. Внесите в зоны прямого и обратного просмотра записи обо всех хостах виртуализации и менеджере управления.
-
Документируйте всё, чтобы все, кто работает с окружением, знали о его текущем состоянии и необходимых процессах.
2.2. Рекомендации по развертыванию Менеджера управления
В этом разделе описаны рекомендации по развертыванию Менеджера управления zVirt.
Менеджер управления — это центральная сущность в системе управления виртуализацией zVirt. От его работоспособности напрямую зависит доступность среды.
Ниже описаны параметры Менеджера управления, на которые стоит обратить внимание.
Категория | Описание/рекомендации | ||
---|---|---|---|
Режимы развертывания |
Развертывание в режиме Hosted Engine:
Развертывание в режиме Standalone:
|
||
Вычислительные мощности |
Для обеспечения должной производительности Менеджера управления рекомендуем предусмотреть для него следующие мощности (в зависимости от планируемого размера среды):
|
||
Хранилище |
|
||
Размещение компонентов |
Среда zVirt может быть настроена на размещение Менеджера управления, базы engine и базы DWH на разных хостах, но мы не рекомендуем их разделять. Раздельное размещение создаёт дополнительные точки отказа, требует резервирования каждого компонента по отдельности, а также Менеджер становится чувствителен к снижению производительности сети, соединяющей эти компоненты. |
||
Резервное копирование |
|
2.3. Рекомендации относительно хостов
Категория | Описание/рекомендации |
---|---|
Стандартизация оборудования |
Для обеспечения стабильной производительности:
|
Развертывание хостов |
|
Безопасность хостов |
|
Дополнительные настройки хостов |
Для хостов с объемом ОЗУ 128Гб и более включите поддержку hugepages. |
2.4. Рекомендации по проектированию центров данных и кластеров
Категория | Описание/рекомендации |
---|---|
Центры данных |
|
Кластеры |
|
2.5. Рекомендации относительно сетей
Категория | Описание/рекомендации | ||
---|---|---|---|
Использование агрегации (бондинга) |
|
||
Сети Ethernet |
|
||
Использование VLAN |
Мы рекомендуем активно использовать VLAN по следующим причинам:
|
||
Размер MTU и jumbo-кадры |
Для сетей хранения данных и сетей ВМ использование больших размеров MTU/jumbo-кадры обеспечит повышение эффективности сети.
|
||
Пропускная способность и VLAN |
При использовании VLAN необходимо определить приоритет и относительный размер требований к пропускной способности для продуктивных хостов, содержащих наиболее критичные рабочие нагрузки. В общем случае требования к пропускной способности следующие:
|
||
Сеть ограждения |
Используйте отдельные аппаратные коммутаторы для трафика ограждения. Если трафик управления и ограждения проходят через один коммутатор, этот коммутатор становится единой точкой отказа. |
Категория | Описание/рекомендации |
---|---|
Уровень центра данных |
|
Уровень кластера |
|
Использование меток |
Для автоматического связывания создаваемых логических сетей с нужными хостами используйте метки. |
2.6. Рекомендации относительно доменов хранения
Категория | Описание/рекомендации | ||
---|---|---|---|
Типы хранилищ |
|
||
Размеры доменов и технические ограничения |
|
||
Домен хранения с ролью Мастер |
|
2.7. Рекомендации относительно виртуальных машин
Категория | Описание/рекомендации |
---|---|
Выделение ресурсов |
ОЗУ
ЦП
Особенности применения vCPU При создании иногда ВМ может не видеть все выделенные ей виртуальные процессоры (vCPU). Например, у ВМ под управлением Windows есть следующие ограничения по процессоров:
Это ограничение не распространяется на ядра. То есть для повышения производительности вместо 8 виртуальных CPU вы можете предоставить vCPU в виде 2 сокетов по 4 ядра в каждом. Архитектура vCPU и NUMA
|
Производительность ВМ |
|
Виртуальные диски |
|
Шаблоны ВМ |
При проектировании среды необходимо учитывать, как будут развертываться ВМ и приложения:
|