Ana içeriğe geç

Depolama yöntemlerinin alanları ve hata kodları

Ne zaman kullanılır​

Bir entegrasyon yazarken veya bir yanıtı incelerken alanların tam kümesini, parametre türünü, rol düzeyini, VDC (sanal veri merkezi) sınırını ve bir hata kodunun anlamını bilmeniz gerekir. Adım adım prosedürler için havuzları görüntüleme ve dataset özellikleri talimatlarına; model için Depolama havuzları sayfasına bakın.

Grup özeti​

YöntemModParametrelerErişimNe döndürür
pool-mapeşzamanlı, veritabanındanyokCluster master, Resource Viewernode_id değerine göre gruplanmış havuzlar
pool-map-by-guideşzamanlı, veritabanındanyokkanonik API belgelerinde belirtilmemişguid değerine göre gruplanmış, kapasiteli havuzlar
pools-listeşzamansız, aktarılannodeIdCluster masterdüğümün hizmet verdiği havuzlar, ZFS özellikleriyle
pools-geteşzamansız, aktarılannodeId, nameCluster masterbir havuzun tam özellikleri
filesystems-geteşzamansız, aktarılanguidrol <= 2, kendi VDC'sidataset özellikleri
filesystems-seteşzamansız, aktarılanguid, propertiesrol <= 2, kendi VDC'sigüncellenmiş dataset özellikleri

Eşzamansız yöntemler iki kez yanıt verir: bir ara {"message": "relayed"} yanıtı ve Storage ajanından gelen nihai bir geri çağrı.

Yöntemler​

pool-map​

Hizmet veren düğümün numarası olan node_id değerine göre gruplanmış küme havuzu haritası. Parametre yoktur.

{"jsonrpc": "2.0", "method": "pool-map", "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

pool-map-by-guid​

guid değerine göre gruplanmış ayrıntılı küme havuzu haritası. Parametre yoktur.

{"jsonrpc": "2.0", "method": "pool-map-by-guid", "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

pools-list​

nodeId ile belirtilen düğümün hizmet verdiği havuzların listesi.

ParametreTürZorunluKısıtlamalar
nodeIdnumberevet1–99 aralığı
{"jsonrpc": "2.0", "method": "pools-list", "params": {"nodeId": 5}, "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

pools-get​

nodeId ile belirtilen düğümün hizmet verdiği bir havuz hakkında ayrıntılı bilgi.

ParametreTürZorunluKısıtlamalar
nodeIdnumberevet1–99 aralığı
namestringevethavuz adı
{"jsonrpc": "2.0", "method": "pools-get", "params": {"nodeId": 5, "name": "pool-a"}, "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

filesystems-get​

Disk GUID'sine göre ZFS dosya sistemi özellikleri.

ParametreTürZorunluKısıtlamalar
guidstring | numberevetuzunluk en az 1, sayısal değer
{"jsonrpc": "2.0", "method": "filesystems-get", "params": {"guid": "12345"}, "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

filesystems-set​

Disk GUID'sine göre ZFS dosya sistemi özelliklerini değiştirir. filesystem_options özelliğinin etkin olmasını gerektirir.

ParametreTürZorunluKısıtlamalar
guidstring | numberevetuzunluk en az 1, sayısal değer
propertiesobjectevetdeğiştirilecek ZFS özelliklerini içeren nesne
{"jsonrpc": "2.0", "method": "filesystems-set", "params": {"guid": "12345", "properties": {"compression": "zstd"}}, "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

Havuz haritası alanları​

Her iki harita yöntemi de vStack Center veritabanından yanıt verir. Alan kümeleri farklıdır; sütunlar her alanı hangi yöntemin döndürdüğünü gösterir.

Alanpool-mappool-map-by-guidAnlamı
guidevetevetkalıcı havuz tanımlayıcısı
nameevetevethavuz adı
healthevetevethavuz durumu; sağlıklı bir havuz için ONLINE
consumingevetevetküme havuzu etkin veri depolaması için kabul etmiştir
capacity_pctevetevetyüzde olarak havuz kullanımı
sizeevetevetyedekliliğe ayrılan pay hariç kullanılabilir kapasite
node_idevet—havuza şu anda hizmet veren düğümün numarası
nodeid—evetadında alt çizgi olmayan aynı alan
size_raw—evetham kapasite, havuz disklerinin kapasitelerinin toplamı
used—evetverilerin kullandığı alan
free—evetkalan kullanılabilir kapasite
provisioned—evethavuzun dataset'lerinin talep edilen boyutlarının toplamı
provisioned_pct—evetprovisioned değerinin kullanılabilir kapasiteye oranı
scrubbing—evetbütünlük denetimi sürüyor
resilvering—evetyedekliliğin geri yüklenmesi sürüyor
lif—evethavuzun erişilebilir olduğu ağ adresi

Düğüm alanı adındaki fark (node_id ve nodeid) bir belge yazım hatası değil, yanıtların bir özelliğidir: her iki yöntemi ayrıştıran bir istemcinin her iki adı da tanıması gerekir.

Canlı yöntem yanıt alanları​

Düğüm havuzları: pools-list​

data nesnesindeki anahtar havuz adıdır. Kayıt alanları:

allocated capacity checkpoint comment dedupditto dedupratio expandsize
fragmentation freeing guid health leaked nodeId readonly size

Temel alanların anlamları: allocated: kullanılan alan, capacity: yüzde olarak kullanım, fragmentation: yüzde olarak parçalanma, dedupratio: tekilleştirme oranı, expandsize: kullanılabilir genişleme, readonly: salt okunur mod, freeing: serbest bırakılmakta olan alan, leaked: kaybolan bloklar.

Havuz özellikleri: pools-get​

data nesnesi ZFS havuz özelliklerinin tam kümesini döndürür:

allocated altroot ashift autoexpand autoreplace autotrim bootfs cachefile
capacity checkpoint comment compatibility consuming dedupditto dedupratio
delegation expandsize failmode fragmentation free freeing guid health
leaked listsnapshots load_guid maxblocksize maxdnodesize multihost name
readonly resilvering scrubbing size tname version

Bunlar harita alanlarına ek olarak havuzun kendi özelliklerini içerir: ashift: havuz blok boyutu; autoexpand, autoreplace, autotrim: otomatik genişleme, disk değişimi ve TRIM; failmode: arıza davranışı; version: havuz sürümü; load_guid: geçerli havuz yüklemesinin tanımlayıcısı.

Dataset özellikleri: filesystems-get ve filesystems-set​

filesystems-get yanıtı, pool-a/vm-100-disk-0 gibi tam dataset adı olan fs_name alanını ve properties nesnesini içerir. filesystems-set yanıtında dağıtıcı fs_name alanını kaldırır ve yalnızca properties kalır. result.code alanı da farklıdır. filesystems-get için dağıtıcı bunu 1 olarak ayarlar; filesystems-set için kod Storage ajanından değiştirilmeden gelir.

properties içindeki alanlar:

available checksum compression compressratio context copies createtxg
creation dedup defcontext encryption fscontext guid inconsistent keyformat
keylocation logbias logicalreferenced logicalused mlslabel objsetid
pbkdf2iters pbkdf2salt primarycache readonly redacted redundant_metadata
refcompressratio referenced refreservation reservation rootcontext
secondarycache snapdev snapshot_count snapshot_limit unique used
usedbychildren usedbydataset usedbyrefreservation usedbysnapshots
useraccounting volblocksize volsize written

En sık incelenen alanlar:

AlanAnlamı
volsizetalep edilen birim boyutu; konuk sistemin gördüğü budur
volblocksizebirim blok boyutu
useddataset'in havuzda şu anda kapladığı alan
usedbydatasetbu alanın verilerin kendisi tarafından kullanılan payı
usedbysnapshotsbu alanın anlık görüntüler tarafından tutulan payı
snapshot_countdataset anlık görüntülerinin sayısı
snapshot_limitanlık görüntü sayısı sınırı; -1 sınır olmadığı anlamına gelir
logicalusedsıkıştırmadan önceki veri boyutu
compressionlz4 veya zstd gibi sıkıştırma algoritması
compressratiosıkıştırmadan elde edilen kazanç
dedupdataset tekilleştirmesi
encryptiondataset şifrelemesi
availabledataset'in kullanabileceği kalan alan
readonlysalt okunur mod
reservationayrılmış alan
refreservationdataset'in kendi verileri için rezervasyon

Hata kodları​

KodİletiYöntemlerAnlamı
-403Access deniedgruptaki tüm yöntemleryetersiz rol düzeyi veya başka bir VDC için istek
-21veritabanı hatası metnipool-mapdağıtıcı haritayı veritabanından okuyamadı
-29Unable to obtain pool map datapool-map-by-guidveritabanı hatası veya kümede hiç havuz yok
-23aktarma hatası metnipools-lististek düğüme gönderilmedi
-24nodeId is not present in the clusterpools-listkümede bu numaraya sahip düğüm yok
-25Pool is not present on the requested nodepools-listdüğüm havuz verisi olmadan yanıt verdi
-33aktarma hatası metnipools-getistek düğüme gönderilmedi
-34nodeId is not present in the clusterpools-getkümede bu numaraya sahip düğüm yok
-35Pool is not present on the requested nodepools-getdüğüm havuz için veri olmadan yanıt verdi
-57param guid has bad valuefilesystems-getgeçersiz guid veya aktarma hatası
-58Dataset does not exist at users scopefilesystems-getdataset mevcut değil veya başka bir VDC'ye ait
-53Unable to locate the datasetfilesystems-getdağıtıcının veritabanındaki dataset satırının adı boş
-54Unable to locate the pool of the datasetfilesystems-getdataset'in havuzuna hizmet veren düğüm atanmamış
-86param guid has bad valuefilesystems-setgeçersiz guid veya aktarma hatası
-87Filesystems methods has not been enabledfilesystems-setkümede filesystem_options özelliği devre dışı
-88Dataset does not exist at users scopefilesystems-setdataset mevcut değil veya başka bir VDC'ye ait
-83Unable to locate the datasetfilesystems-setdağıtıcının veritabanındaki dataset satırının adı boş
-84Unable to locate the pool of the datasetfilesystems-setdataset'in havuzuna hizmet veren düğüm atanmamış

Parametre doğrulayıcısı geçersiz bir nodeId değerini reddeder. İstemci, istek yöntem işleyicisine ulaşmadan önce -32602 Invalid params alır.

İki kod çiftinin her biri iki farklı durumu kapsar: -57 ve -86 geçersiz bir guid değerini ve aktarma hatasını kapsar; -58 ve -88 eksik bir dataset'i ve başka bir VDC'ye ait bir dataset'i kapsar. İkinci çift kasıtlıdır: başka bir VDC'deki bir dataset'in varlığı açığa çıkarılmaz.

Arayüz sütunlarının eşlemesi​

Storage Resources sekmesindeki ZFS pools tablosu havuz haritası alanlarını yansıtır. Tam sütun eşlemesini arayüz tanımlar; aşağıdaki alanlar karşılık gelen değerleri içerir.

SütunHarita alanı
GUIDguid
Namename
Healthhealth
Consumingconsuming
Scrubbingscrubbing
Resilveringresilvering
Current nodenodeid
Capacity (RAW)size_raw ve capacity_pct

Örnek​

Uçtan uca bir sıra: haritayı alın, içinden bir havuz seçin ve dataset özelliklerini sorgulayın.

{"jsonrpc": "2.0", "method": "pool-map-by-guid", "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

Yanıttan "nodeid": 5 ve "name": "pool-a" değerlerini alın. Havuz özelliklerini isteyin:

{"jsonrpc": "2.0", "method": "pools-get", "params": {"nodeId": 5, "name": "pool-a"}, "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

Ardından bu havuzdaki bir disk dataset'inin özelliklerini isteyin:

{"jsonrpc": "2.0", "method": "filesystems-get", "params": {"guid": "12345"}, "id": "cbf4478c-84b5-45ac-97cd-0390d7190585"}

Beklenen sonuç: nihai yanıtta fs_name değeri pool-a/ ile başlar; dataset gerçekten istenen havuzdadır.