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


Метод CreateStoragePool класса MSFT_StorageSubSystem

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

Физический диск доступен для создания пула носителей, если свойство CanPool объекта MSFT_PhysicalDisk имеет значение TRUE.

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

Синтаксис

UInt32 CreateStoragePool(
  [in]  String              FriendlyName,
  [in]  UInt16              Usage,
  [in]  String              OtherUsageDescription,
  [in]  String              PhysicalDisks[],
  [in]  String              ResiliencySettingNameDefault,
  [in]  UInt16              ProvisioningTypeDefault,
  [in]  UInt64              LogicalSectorSizeDefault,
  [in]  Boolean             EnclosureAwareDefault,
  [in]  UInt64              WriteCacheSizeDefault,
  [in]  Boolean             AutoWriteCacheSize,
  [in]  Boolean             RunAsJob,
  [out] String              CreatedStoragePool,
  [out] MSFT_StorageJob REF CreatedStorageJob,
  [out] String              ExtendedStatus
);

Параметры

FriendlyName [in]

Указывает понятное имя для нового пула носителей.

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

Если подсистема не поддерживает эту функцию, создание пула носителей по-прежнему должно завершиться успешно. Однако пулу может быть присвоено другое имя.

Этот параметр является обязательным и не может иметь значение NULL.

Использование [in]

Указывает предполагаемое использование пула носителей.

Можно указать предопределенное описание или пользовательское описание. Чтобы указать предопределенное описание, используйте значение, отличное от Другое.

Чтобы указать пользовательское описание, используйте другое и укажите значение, отличное от NULL, для параметра OtherUsageDescription .

Другое (1)

Неограниченный (2)

Зарезервировано для ComputerSystem (блочный сервер) (3)

Зарезервировано в качестве контейнера разностной реплики (4)

Зарезервировано для служб миграции (5)

Зарезервировано для служб локальной репликации (6)

Зарезервировано для служб удаленной репликации (7)

Зарезервировано для щадя ( 8)

OtherUsageDescription [in]

Позволяет пользователю задать настраиваемый тип использования для нового объекта MSFT_StoragePool . Этот параметр можно указать, только если для параметра Usage задано значение Другое.

PhysicalDisks [in]

Массив строк, каждая из которых содержит внедренный экземпляр класса MSFT_PhysicalDisk .

Этот параметр используется для указания массива объектов MSFT_PhysicalDisk , которые будут использоваться в качестве резервного хранилища данных для только что созданного пула носителей. Физические диски должны поступать из первичного пула в подсистеме, в которой создается этот пул. Все физические диски должны поступать из одного первичного пула.

Этот параметр является обязательным и не может иметь значение NULL.

ResiliencySettingNameDefault [in]

Требуемый параметр устойчивости, используемый по умолчанию при создании нового виртуального диска в этом пуле носителей. Если для свойства SupportsMultipleResiliencySettingsPerStoragePool подсистемы задано значение FALSE, этот параметр также выступает в качестве указания поставщику управления хранилищем, в котором параметр устойчивости должен наследоваться этим пулом носителей. Если значение не задано, поставщик управления хранилищем отвечает за выбор наиболее подходящего параметра устойчивости.

ProvisioningTypeDefault [in]

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

Тонкий (1)

Исправлено (2)

LogicalSectorSizeDefault [in]

Размер логического сектора по умолчанию в байтах. Это полезно, если пул носителей может содержать сочетание эмулированных 512-байтовых и собственных 4K-байтовых или 512-байтовых собственных физических дисков.

EnclosureAwareDefault [in]

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

WriteCacheSizeDefault [in]

Размер кэша записи по умолчанию для создания виртуального диска.

AutoWriteCacheSize [in]

Если задано значение TRUE, поставщик должен получить размер кэша автоматической записи.

RunAsJob [in]

Если задано значение TRUE, этот метод использует параметр CreatedStorageJob , когда обслуживание запроса занимает много времени. Если для отслеживания операции было создано задание хранилища, этот метод возвращает параметры метода Checked — Job Started .

Примечание

Даже если runAsJob имеет значение TRUE, этот метод по-прежнему может возвращать результат, если он был завершен в достаточное время.

Если значение РАВНО FALSE или NULL, этот метод будет следовать асинхронной реакции WMI по умолчанию, определяемой методом клиента для вызова. Другими словами, он является синхронным, если не запрошено иное.

CreatedStoragePool [out]

Если пул носителей успешно создан, этот параметр получает строку, содержащую внедренный объект MSFT_StoragePool .

CreatedStorageJob [out]

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

ExtendedStatus [out]

Строка, содержащая внедренный объект MSFT_StorageExtendedStatus .

Этот параметр позволяет поставщику хранилища возвращать расширенные (зависящие от реализации) сведения об ошибках.

Возвращаемое значение

Успешное выполнение (0)

Не поддерживается (1)

Неустановленная ошибка (2)

Время ожидания (3)

Сбой (4)

Недопустимый параметр (5)

Объект не найден (8)

Проверенные параметры метода — задание запущено (4096)

Доступ запрещен (40001)

Недостаточно ресурсов для завершения операции. (40002)

Кэш устарел (40003)

Произошла непредвиденная ошибка ввода-вывода (40004)

Сбой запроса из-за неустранимой ошибки оборудования устройства. (40007)

Не удается подключиться к поставщику хранилища. (46000)

Поставщик хранилища не может подключиться к подсистеме хранения. (46001)

Не удалось включить кластеризация отработки отказа для этого объекта хранилища. (46008)

Параметр устойчивости с таким именем не существует. (49000)

Значение параметра WriteCacheSize выходит за пределы поддерживаемого диапазона значений. (50005)

Один из указанных физических дисков не поддерживается этой операцией. (51000)

Для успешного завершения операции было указано недостаточно физических дисков. (51001)

Один из указанных физических дисков уже используется. (51002)

Один из указанных физических дисков использует размер сектора, который не поддерживается этим пулом носителей. (51003)

Один или несколько физических дисков не подключены к узлам, на которых создается пул. (51005)

Комментарии

Подсистемы, которые не поддерживают пулы носителей, должны реализовать этот метод следующим образом:

Подсистемы, которые поддерживают пулы носителей, но не разрешают выбор пула носителей (выбор администратором пула, в котором создается виртуальный диск), создание, изменение или удаление, должны реализовывать этот метод следующим образом:

Подсистемы, которые поддерживают пулы носителей и выбор пула носителей, но не поддерживают создание, изменение или удаление пула носителей, должны реализовывать этот метод следующим образом:

  • Свойство SupportsAutomaticStoragePoolSelection объекта MSFT_StorageSubSystem должно иметь значение TRUE , только если реализован метод MSFT_StoragePool.CreateVirtualDisk .
  • Свойства SupportsStoragePoolCreation, SupportsStoragePoolModification и SupportsStoragePoolDeletion объекта MSFT_StorageSubSystem должны иметь значение FALSE.
  • Объект MSFT_VirtualDisk должен быть создан в подсистеме путем вызова MSFT_StorageSubSystem.CreateVirtualDisk. В этом случае поддержка этого метода является обязательной.
  • Пул носителей, в котором будет создан объект MSFT_VirtualDisk , должен быть автоматически выбран пользователем.
  • Требуется поддержка классов MSFT_StoragePool и MSFT_ResiliencySetting . Требуется поддержка по крайней мере одного конкретного пула и одного типа параметра устойчивости.
  • Поддержка метода MSFT_StoragePool.CreateVirtualDisk необязательна.

Подсистемы, поддерживающие пулы носителей и выбор пула носителей, а также поддерживающие создание, изменение или удаление пула носителей, должны реализовывать этот метод следующим образом:

  • Свойство SupportsAutomaticStoragePoolSelection объекта MSFT_StorageSubSystem должно иметь значение TRUE , только если реализован метод MSFT_StoragePool.CreateVirtualDisk .
  • Свойства SupportsStoragePoolCreation, SupportsStoragePoolModification и SupportsStoragePoolDeletion объекта MSFT_StorageSubSystem должны иметь значение TRUE.
  • Объект MSFT_VirtualDisk должен быть создан в подсистеме путем вызова MSFT_StorageSubSystem.CreateVirtualDisk. В этом случае поддержка этого метода является обязательной.
  • Пул носителей, в котором будет создан объект MSFT_VirtualDisk , должен быть автоматически выбран пользователем.
  • Требуется поддержка классов MSFT_StoragePool и MSFT_ResiliencySetting . Требуется поддержка по крайней мере одного конкретного пула и одного типа параметра устойчивости.
  • Поддержка метода MSFT_StoragePool.CreateVirtualDisk необязательна.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Пространство имен Root\Microsoft\Windows\Storage
MOF Storagewmi.mof

См. также раздел

MSFT_StorageSubSystem