Объект Pack
[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Объект пакета моделирует группу дисков, коллекцию дисков и томов, управляемых базовым или динамическим поставщиком программного обеспечения. Поставщик может содержать несколько объектов пакета.
С помощью API приложения могут направлять VDS для добавления одного или нескольких дисков в пакет, привязки дисков к томам и при необходимости перемещения дисков в качестве единицы между узлами. Невозможно импортировать существующий том в пакет.
Примечание
Членство в пакете не подразумевает согласованность между дисками с точки зрения производительности, носителя, протокола взаимодействия и других характеристик.
Объекты диска либо нераспределены и управляются VDS, либо являются членами только одного пакета. Базовый поставщик программного обеспечения может иметь ноль или более пакетов, каждый из которых содержит один базовый диск. Поставщик не накладывает ограничений на количество томов на базовом диске. Динамический поставщик может иметь ноль или более пакетов с несколькими динамическими дисками в каждом пакете. Этот поставщик ограничивает количество томов на диске в зависимости от размера базы данных диспетчера логических дисков (LDM) в один мегабайт. Учитывая, что том имеет по крайней мере один пул и один экстент диска, максимальное количество томов в пакете составляет приблизительно 1000. Максимальное число понижается по мере того, как количество дисков повышается.
Помимо дисковых объектов, пакет может содержать один или несколько объектов LUN, реализованных одним или несколькими поставщиками оборудования. Для ядра Windows LUN — это просто другой диск. (Объекты LUN должны быть распакованы на компьютере, где выполняется программа поставщика.) Если диск является LUN, объект LUN предоставляет интерфейсы IVdsLun и IVdsDisk . Объект pack использует IVdsDisk вместо IVdsLun для перечисления LUN в пакете. Более подробное описание LUN см. в разделе Объект LUN.
На следующем рисунке показан пакет с двумя элементами: диском и LUN. Приложение может добавить эти объекты в интерактивный пакет и создать том из базовых дисков и экстентов диска, представленных шпинделями.
Используйте метод IVdsSwProvider::CreatePack для создания нового объекта pack. Вызывающие объекты могут получить указатель на конкретный пакет, выбрав нужный объект pack из перечисления, возвращаемого методом IVdsSwProvider:: QueryPacks . С помощью объекта pack можно добавлять, удалять или заменять элементы пакета. При добавлении объекта диска в пакет VDS инициализирует диск, чтобы отменить привязку всех существующих томов. В отличие от этого, LUN сохраняет все сведения о привязке при добавлении в пакет. При удалении последнего диска из пакета VDS удаляет объект pack, когда вызывающий объект освобождает последнюю ссылку на объект .
Свойства объекта включают идентификатор объекта, имя, состояние пакета и флаги. Сетевой пакет доступен для настройки и использования, автономный пакет недоступен. VDS поддерживает любое количество сетевых и автономных пакетов.
Windows Server 2003: Поддерживает только один онлайн-пакет одновременно.
VDS принудительно применяет кворум подключенных дисков в пакете. Кворум определяет, может ли пакет иметь состояние "в сети" и не позволяет нескольким узлам предоставлять состояние "в сети" одному пакету. Если количество подключенных дисков в пакете ниже кворума (n/2 + 1), VDS переключит пакет в автономный режим.
В следующей таблице перечислены связанные интерфейсы, перечисления и структуры.
Тип | Элемент |
---|---|
Интерфейсы, которые всегда предоставляются этим объектом | IVdsPack и IVdsPack2*. |
Связанные перечисления | VDS_PACK_FLAG и VDS_PACK_STATUS. |
Связанные структуры | VDS_PACK_PROP и VDS_PACK_NOTIFICATION. |
*Windows Server 2003: Этот интерфейс не поддерживается до Windows Vista.