Прочитать на английском

Поделиться через


операции сохранения Hyper-V расширяемого коммутатора

При остановке, сохранении или динамическом переносе дочерней секции Hyper-V состояние времени выполнения секции сохраняется. Во время операции сохранения расширение расширяемого коммутатора Hyper-V может сохранять данные во время выполнения о расширяемом сетевом адаптере коммутатора (сетевой адаптер).

При выполнении операции сохранения в дочерней секции Hyper-V расширяемый интерфейс коммутатора уведомляет расширение об операции. Расширение уведомляется с помощью следующих запросов идентификатора объекта (OID):

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

При получении запроса метода OID_SWITCH_NIC_SAVE расширение может выполнить одно из следующих действий:

  • Если расширение имеет данные о времени выполнения для сохранения, оно инициализирует структуру NDIS_SWITCH_NIC_SAVE_STATE и задает различные члены, такие как элемент ExtensionId, чтобы определить себя и сохраненные данные. Расширение также сохраняет данные в структуре NDIS_SWITCH_NIC_SAVE_STATE, начиная с байта, указанного в SaveDataOffset от начала структуры, а затем завершает запрос метода OID с кодом NDIS_STATUS_SUCCESS.

  • Если структура NDIS_SWITCH_NIC_SAVE_STATE не предоставляет достаточного размера буфера, перечисленного в элементе NDIS_OBJECT_HEADER Size для хранения состояния времени выполнения, расширение задает поля структуры метода BytesNeeded значение NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 плюс объем буфера, необходимого для хранения сохраненных данных, и завершает OID с NDIS_STATUS_BUFFER_TOO_SHORT. Идентификатор OID будет восстановлён с требуемым размером.

  • Если у расширения нет данных времени выполнения для сохранения, необходимо вызвать NdisFOidRequest. Это перенаправит запрос метода OID в базовые расширения в стеке расширяемого драйвера коммутатора. Дополнительные сведения об этой процедуре см. в разделе фильтрации запросов OID в драйвере фильтра NDIS.

Дополнительные сведения об этом запросе OID см. в разделе Обработка запроса OID_SWITCH_NIC_SAVE.

OID_SWITCH_NIC_SAVE_COMPLETE
Расширяемый интерфейс коммутатора сигнализирует протокольному элементу расширяемого коммутатора выдать этот идентификатор по завершении операции сохранения данных времени выполнения для расширяемого сетевого адаптера коммутатора.

Этот запрос OID уведомляет расширение о завершении операции сохранения данных только для указанного сетевого интерфейсного контроллера (NIC) расширяемого коммутатора.

Дополнительные сведения об этом запросе OID см. в разделе Обработка запроса OID_SWITCH_NIC_SAVE_COMPLETE.

Во время операции сохранения данных на этапе выполнения протокол на границе расширяемого коммутатора отправляет запросы OID OID_SWITCH_NIC_SAVE и OID_SWITCH_NIC_SAVE_COMPLETE для сетевого интерфейса подключенного дочернего раздела Hyper-V. Если несколько дочерних разделов Hyper-V остановлены или мигрированы в реальном времени, граничный протокол выдает отдельные наборы запросов OID_SWITCH_NIC_SAVE и OID_SWITCH_NIC_SAVE_COMPLETE для каждого сетевого интерфейса.

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