Bagikan melalui


Metode CreateVirtualDisk dari kelas MSFT_StoragePool

Membuat disk virtual menggunakan sumber daya kumpulan penyimpanan.

Sintaks

UInt32 CreateVirtualDisk(
  [in]  String              FriendlyName,
  [in]  UInt64              Size,
  [in]  Boolean             UseMaximumSize,
  [in]  UInt16              ProvisioningType,
  [in]  String              ResiliencySettingName,
  [in]  UInt16              Usage,
  [in]  String              OtherUsageDescription,
  [in]  UInt16              NumberOfDataCopies,
  [in]  UInt16              PhysicalDiskRedundancy,
  [in]  UInt16              NumberOfColumns,
  [in]  Boolean             AutoNumberOfColumns,
  [in]  UInt64              Interleave,
  [in]  Boolean             IsEnclosureAware,
  [in]  String              PhysicalDisksToUse[],
  [in]  String              StorageTiers[],
  [in]  UInt64              StorageTierSizes[],
  [in]  UInt64              WriteCacheSize,
  [in]  Boolean             AutoWriteCacheSize,
  [in]  Boolean             RunAsJob,
  [out] String              CreatedVirtualDisk,
  [out] MSFT_StorageJob REF CreatedStorageJob,
  [out] String              ExtendedStatus
);

Parameter

FriendlyName [in]

Nama yang mudah diingat untuk disk virtual.

Nama yang mudah diingat diharapkan deskriptif, tetapi tidak diharuskan unik. Perhatikan bahwa beberapa kumpulan penyimpanan tidak mengizinkan pengaturan nama yang mudah diingat selama pembuatan disk virtual. Jika kumpulan penyimpanan tidak mendukung ini, pembuatan disk virtual masih harus berhasil, namun disk virtual mungkin memiliki nama yang berbeda yang ditetapkan untuknya.

Parameter ini diperlukan dan tidak boleh NULL.

Ukuran [in]

Menunjukkan ukuran yang diinginkan, dalam byte, dari disk virtual. Perhatikan bahwa beberapa subsistem penyimpanan akan membulatkan ukuran ke atas atau ke bawah ke kelipatan ukuran unit alokasinya. Pada output, parameter ini menunjukkan ukuran aktual disk virtual yang dibuat. Parameter ini tidak dapat digunakan jika UseMaximumSize diatur ke TRUE.

UseMaximumSize [in]

Jika TRUE, parameter ini menginstruksikan array penyimpanan untuk membuat disk virtual terbesar yang mungkin mengingat sumber daya yang tersedia dari kumpulan penyimpanan ini. Parameter ini tidak dapat digunakan jika parameter Ukuran diatur.

ProvisioningType [in]

Menentukan jenis provisi untuk disk virtual.

Nilai Makna
Tidak diketahui 0 Jenis provisi tidak diketahui. Ini bisa berarti bahwa informasi ini tidak tersedia, atau bahwa subsistem penyimpanan menggunakan metode alokasi kepemilikan.
Tipis 1 Penyimpanan untuk disk virtual dialokasikan sesuai permintaan.
Tetap 2 Penyimpanan untuk disk virtual dialokasikan saat disk dibuat.

ResiliencySettingName [in]

Pengaturan ketahanan yang diinginkan untuk digunakan sebagai templat untuk disk virtual ini. Nilai parameter ini harus sesuai dengan properti Nama objek MSFT_ResiliencySetting tertentu. Hanya pengaturan ketahanan yang terkait dengan kumpulan penyimpanan ini yang dapat digunakan.

Penggunaan [in]

Menentukan penggunaan yang dimaksudkan untuk disk virtual.

Anda dapat menentukan deskripsi yang telah ditentukan sebelumnya atau deskripsi kustom. Untuk menentukan deskripsi yang telah ditentukan sebelumnya, gunakan nilai selain Lainnya.

Untuk menentukan deskripsi kustom, gunakan Lainnya dan tentukan nilai non-NULL untuk properti OtherUsageDescription .

Lainnya (1)

Tidak dibatasi (2)

Dicadangkan untuk ComputerSystem (server blok) (3)

Dicadangkan oleh Layanan Replikasi (4)

Dicadangkan oleh Migration Services (5)

Sumber Replika Lokal (6)

Sumber Replika Jarak Jauh (7)

Target Replika Lokal (8)

Target Replika Jarak Jauh (9)

Sumber atau Target Replika Lokal (10)

Sumber atau Target Replika Jarak Jauh (11)

Target Replika Delta (12)

Komponen Elemen (13)

Dicadangkan sebagai Kontributor Kumpulan (14)

Anggota Volume Komposit (15)

Anggota VirtualDisk Komposit (16)

Dicadangkan untuk Sparing (17)

OtherUsageDescription [in]

Penggunaan khusus vendor untuk disk virtual baru. Parameter ini hanya dapat ditentukan jika properti Penggunaan diatur ke Lainnya.

NumberOfDataCopies [in]

Menentukan jumlah salinan data lengkap yang akan dipertahankan untuk disk virtual.

Jika ditentukan, nilai ini akan menggantikan NumberOfDataCopiesDefault yang akan diwarisi dari pengaturan ketahanan yang ditentukan oleh ResiliencySettingName.

PhysicalDiskRedundancy [in]

Menentukan berapa banyak kegagalan disk fisik yang harus dapat ditahan oleh disk virtual sebelum kehilangan data terjadi. Jika ditentukan, nilai ini akan menggantikan PhysicalDiskRedundancyDefault yang akan diwarisi dari pengaturan ketahanan yang ditentukan oleh ResiliencySettingName.

NumberOfColumns [in]

Menentukan jumlah disk fisik yang mendasari di mana data harus bergaris. Jika ditentukan, nilai ini akan menggantikan NumberOfColumnsDefault yang akan diwarisi dari pengaturan ketahanan yang ditentukan oleh ResiliencySettingName.

AutoNumberOfColumns [in]

Jika TRUE, bidang ini menginstruksikan penyedia penyimpanan (atau subsistem) untuk secara otomatis memilih apa yang ditentukannya untuk menjadi jumlah kolom terbaik untuk disk virtual. Jika bidang ini TRUE, parameter NumberOfColumns harus NULL.

Interleave [in]

Menentukan jumlah byte yang harus untuk strip dalam pengaturan ketahanan berbasis striping umum. Strip didefinisikan sebagai ukuran bagian dari garis yang terletak pada satu disk fisik. Dengan demikian Interleave * NumberOfColumns akan menghasilkan ukuran satu garis data pengguna.

Jika parameter ini ditentukan, nilai ini akan menggantikan InterleaveDefault yang akan diwarisi dari pengaturan ketahanan yang ditentukan oleh ResiliencySettingName.

IsEnclosureAware [in]

Menentukan perilaku alokasi untuk disk virtual ini. Disk virtual sadar penutup akan dengan cerdas memilih disk fisik yang akan digunakan untuk redundansinya. Jika TRUE, disk virtual akan mencoba menggunakan disk fisik dari penutup yang berbeda untuk menyeimbangkan toleransi kesalahan antara dua penutup fisik atau lebih.

PhysicalDisksToUse [in]

Jika parameter ini berisi daftar disk fisik, alokasi penyimpanan disk virtual ini terbatas pada disk fisik dalam daftar. Disk fisik ini harus sudah ditambahkan ke kumpulan penyimpanan ini.

StorageTiers [in]

Tingkat penyimpanan pada disk virtual ini. Setiap elemen array adalah objek MSFT_StorageTier .

StorageTierSizes [in]

Ukuran tingkat penyimpanan.

WriteCacheSize [in]

Ukuran cache tulis pada disk virtual.

AutoWriteCacheSize [in]

TRUE jika penyedia harus mengambil ukuran cache tulis otomatis; jika tidak, FALSE.

RunAsJob [in]

Jika TRUE, metode ini menggunakan parameter CreatedStorageJob ketika permintaan membutuhkan waktu lama untuk layanan. Jika pekerjaan penyimpanan telah dibuat untuk melacak operasi, metode ini akan mengembalikan Parameter Metode Yang Diperiksa - Pekerjaan Dimulai.

Catatan

Bahkan jika RunAsJobTRUE, metode ini masih dapat mengembalikan hasil jika telah selesai dalam waktu yang cukup.

Jika FALSE atau NULL, metode ini akan mengikuti perilaku asinkron WMI default seperti yang ditentukan oleh metode klien untuk pemanggilan. Dengan kata lain, itu sinkron kecuali diminta sebaliknya.

CreatedVirtualDisk [out]

Menerima objek MSFT_VirtualDisk jika metode ini dijalankan secara normal (dengan RunAsJob diatur ke FALSE) dan disk virtual berhasil dibuat.

CreatedStorageJob [out]

Jika RunAsJob diatur ke TRUE dan metode ini membutuhkan waktu lama untuk dijalankan, parameter ini menerima referensi ke objek pekerjaan penyimpanan yang digunakan untuk melacak operasi yang berjalan lama.

ExtendedStatus [out]

String yang berisi objek MSFT_StorageExtendedStatus yang disematkan.

Parameter ini memungkinkan penyedia penyimpanan untuk mengembalikan informasi kesalahan yang diperluas (khusus implementasi).

Mengembalikan nilai

Sukses (0)

Tidak Didukung (1)

Kesalahan yang Tidak Ditentukan (2)

Waktu habis (3)

Gagal (4)

Parameter Tidak Valid (5)

Parameter Metode Diperiksa - Pekerjaan Dimulai (4096)

Ukuran Tidak Didukung (4097)

Tidak cukup ruang kosong (40000)

Akses ditolak (40001)

Tidak ada cukup sumber daya untuk menyelesaikan operasi. (40002)

Anda harus menentukan ukuran dengan menggunakan parameter Ukuran atau UseMaximumSize. Anda hanya dapat menentukan salah satu parameter ini pada satu waktu. (40005)

Tidak dapat tersambung ke penyedia penyimpanan. (46000)

Penyedia penyimpanan tidak dapat tersambung ke subsistem penyimpanan. (46001)

Pengklusteran failover tidak dapat diaktifkan untuk objek penyimpanan ini. (46008)

Subsistem ini tidak mendukung pembuatan disk virtual dengan jenis provisi yang ditentukan. (47001)

Operasi ini tidak didukung pada kumpulan penyimpanan primordial. (48000)

Kumpulan penyimpanan hanya dicadangkan untuk penggunaan khusus. (48001)

Pengaturan ketahanan yang ditentukan tidak didukung oleh kumpulan penyimpanan ini. (48002)

Tidak ada cukup disk fisik di kumpulan penyimpanan untuk membuat konfigurasi disk virtual yang ditentukan. (48004)

Kumpulan penyimpanan tidak dapat menyelesaikan operasi karena status kesehatan atau operasionalnya tidak mengizinkannya. (48006)

Kumpulan penyimpanan tidak dapat menyelesaikan operasi karena konfigurasinya baca-saja. (48007)

Anda harus menentukan info ukuran (parameter Ukuran atau UseMaximumSize) atau info tingkat (parameter StorageTiers dan StorageTierSizes), tetapi bukan info ukuran dan info tingkat. (48010)

Tidak ada drive alokasi otomatis yang ditemukan di kumpulan penyimpanan. (48011)

Tidak ada pengaturan ketahanan dengan nama tersebut. (49000)

Nilai untuk NoSinglePointOfFailure tidak didukung. (49001)

Nilai untuk PhysicalDiskRedundancy berada di luar rentang nilai yang didukung. (49002)

Nilai untuk NumberOfDataCopies berada di luar rentang nilai yang didukung. (49003)

Nilai untuk ParityLayout berada di luar rentang nilai yang didukung. (49004)

Nilai untuk Interleave berada di luar rentang nilai yang didukung. (49005)

Nilai untuk NumberOfColumns berada di luar rentang nilai yang didukung. (49006)

Nilai untuk WriteCacheSize berada di luar rentang nilai yang didukung. (50005)

Salah satu disk fisik yang ditentukan tidak didukung oleh operasi ini. (51000)

Tidak cukup disk fisik yang ditentukan untuk berhasil menyelesaikan operasi. (51001)

Keterangan

Metode ini hanya tersedia ketika properti SupportsVirtualDiskCreation pada subsistem penyimpanan diatur ke TRUE. Jika diatur ke FALSE, metode ini akan gagal dengan MI_RESULT_NOT_SUPPORTED.

Metode ini tidak didukung untuk kumpulan primordial.

Metode ini hanya memerlukan FriendlyName dan Ukuran untuk ditentukan. Ukuran dapat ditentukan secara eksplisit melalui parameter Ukuran , atau disuruh menggunakan ruang maksimum yang tersedia dari kumpulan penyimpanan dengan menggunakan parameter UseMaximumSize . FriendlyName dan Size diperlakukan sebagai tujuan daripada persyaratan yang sulit. Misalnya, tidak semua array berbasis SMI-S dapat mendukung nama ramah kustom, namun pembuatan disk virtual masih akan berhasil. Jika ukuran yang ditentukan tidak tercapai, maka ukuran aktual yang digunakan untuk disk virtual akan dikembalikan dalam struktur parameter keluar.

Penggunaan disk virtual ini dapat diatur menggunakan parameter Usage dan OtherUsageDescription . Jika nilai untuk OtherUsageDescription diberikan, Penggunaan harus diatur ke 1 - 'Lainnya', jika tidak, kesalahan akan dikembalikan.

Secara default, pengaturan ketahanan yang diterapkan ke disk virtual ini akan menjadi apa pun yang ditentukan dalam properti ResiliencySettingNameDefault kumpulan penyimpanan. Ini dapat ditimpa menggunakan parameter ResiliencySettingName . Perhatikan bahwa nama yang diberikan di sini harus sesuai dengan pengaturan ketahanan yang terkait dengan kumpulan penyimpanan ini. Nilai lainnya akan mengakibatkan kesalahan.

Pengaturan individual pengaturan ketahanan dapat ditimpa menggunakan parameter NumberOfDataCopies, PhysicalDiskRedundancy, NumberOfColumns, dan Interleave . Jika parameter ini tidak digunakan, default dari pengaturan ketahanan akan digunakan. Penimpaan ini tidak akan bertahan kembali ke instans pengaturan ketahanan tertentu; namun beberapa penyedia penyimpanan dapat memilih untuk membuat instans pengaturan ketahanan baru untuk mengambil konfigurasi baru ini. Jika salah satu tujuan yang ditentukan dalam parameter penimpaan berada di luar rentang, atau tidak didukung oleh kumpulan penyimpanan, kesalahan akan dikembalikan.

Kebijakan provisi untuk disk virtual ditentukan dengan cara yang sama dengan pengaturan ketahanan. Jika tidak ada preferensi yang ditentukan dalam parameter ProvisioningType , kebijakan ditentukan oleh properti ProvisioningTypeDefault kumpulan penyimpanan. Jika parameter ProvisioningType ditentukan, default diabaikan dan nilai yang ditentukan akan digunakan sebagai gantinya.

Alokasi dapat dikontrol lebih lanjut oleh parameter PhysicalDisksToUse . Mungkin ada skenario tertentu di mana administrator penyimpanan ingin memilih disk fisik mana yang harus mendukung disk virtual secara manual. Ketika parameter ini ditentukan, data untuk disk virtual hanya akan disimpan pada disk fisik dalam array ini dan bukan pada yang lain.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 R2 [hanya aplikasi desktop]
Ruang nama Root\Microsoft\Windows\Storage
Header Vdssys.h
MOF Storagewmi.mof

Lihat juga

MSFT_StoragePool