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öntem | Mod | Parametreler | Erişim | Ne döndürür |
|---|---|---|---|---|
pool-map | eşzamanlı, veritabanından | yok | Cluster master, Resource Viewer | node_id değerine göre gruplanmış havuzlar |
pool-map-by-guid | eşzamanlı, veritabanından | yok | kanonik API belgelerinde belirtilmemiş | guid değerine göre gruplanmış, kapasiteli havuzlar |
pools-list | eşzamansız, aktarılan | nodeId | Cluster master | düğümün hizmet verdiği havuzlar, ZFS özellikleriyle |
pools-get | eşzamansız, aktarılan | nodeId, name | Cluster master | bir havuzun tam özellikleri |
filesystems-get | eşzamansız, aktarılan | guid | rol <= 2, kendi VDC'si | dataset özellikleri |
filesystems-set | eşzamansız, aktarılan | guid, properties | rol <= 2, kendi VDC'si | gü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.
| Parametre | Tür | Zorunlu | Kısıtlamalar |
|---|---|---|---|
nodeId | number | evet | 1–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.
| Parametre | Tür | Zorunlu | Kısıtlamalar |
|---|---|---|---|
nodeId | number | evet | 1–99 aralığı |
name | string | evet | havuz 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.
| Parametre | Tür | Zorunlu | Kısıtlamalar |
|---|---|---|---|
guid | string | number | evet | uzunluk 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.
| Parametre | Tür | Zorunlu | Kısıtlamalar |
|---|---|---|---|
guid | string | number | evet | uzunluk en az 1, sayısal değer |
properties | object | evet | değ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.
| Alan | pool-map | pool-map-by-guid | Anlamı |
|---|---|---|---|
guid | evet | evet | kalıcı havuz tanımlayıcısı |
name | evet | evet | havuz adı |
health | evet | evet | havuz durumu; sağlıklı bir havuz için ONLINE |
consuming | evet | evet | küme havuzu etkin veri depolaması için kabul etmiştir |
capacity_pct | evet | evet | yüzde olarak havuz kullanımı |
size | evet | evet | yedekliliğe ayrılan pay hariç kullanılabilir kapasite |
node_id | evet | — | havuza şu anda hizmet veren düğümün numarası |
nodeid | — | evet | adında alt çizgi olmayan aynı alan |
size_raw | — | evet | ham kapasite, havuz disklerinin kapasitelerinin toplamı |
used | — | evet | verilerin kullandığı alan |
free | — | evet | kalan kullanılabilir kapasite |
provisioned | — | evet | havuzun dataset'lerinin talep edilen boyutlarının toplamı |
provisioned_pct | — | evet | provisioned değerinin kullanılabilir kapasiteye oranı |
scrubbing | — | evet | bütünlük denetimi sürüyor |
resilvering | — | evet | yedekliliğin geri yüklenmesi sürüyor |
lif | — | evet | havuzun 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:
| Alan | Anlamı |
|---|---|
volsize | talep edilen birim boyutu; konuk sistemin gördüğü budur |
volblocksize | birim blok boyutu |
used | dataset'in havuzda şu anda kapladığı alan |
usedbydataset | bu alanın verilerin kendisi tarafından kullanılan payı |
usedbysnapshots | bu alanın anlık görüntüler tarafından tutulan payı |
snapshot_count | dataset anlık görüntülerinin sayısı |
snapshot_limit | anlık görüntü sayısı sınırı; -1 sınır olmadığı anlamına gelir |
logicalused | sıkıştırmadan önceki veri boyutu |
compression | lz4 veya zstd gibi sıkıştırma algoritması |
compressratio | sıkıştırmadan elde edilen kazanç |
dedup | dataset tekilleştirmesi |
encryption | dataset şifrelemesi |
available | dataset'in kullanabileceği kalan alan |
readonly | salt okunur mod |
reservation | ayrılmış alan |
refreservation | dataset'in kendi verileri için rezervasyon |
Hata kodları
| Kod | İleti | Yöntemler | Anlamı |
|---|---|---|---|
-403 | Access denied | gruptaki tüm yöntemler | yetersiz rol düzeyi veya başka bir VDC için istek |
-21 | veritabanı hatası metni | pool-map | dağıtıcı haritayı veritabanından okuyamadı |
-29 | Unable to obtain pool map data | pool-map-by-guid | veritabanı hatası veya kümede hiç havuz yok |
-23 | aktarma hatası metni | pools-list | istek düğüme gönderilmedi |
-24 | nodeId is not present in the cluster | pools-list | kümede bu numaraya sahip düğüm yok |
-25 | Pool is not present on the requested node | pools-list | düğüm havuz verisi olmadan yanıt verdi |
-33 | aktarma hatası metni | pools-get | istek düğüme gönderilmedi |
-34 | nodeId is not present in the cluster | pools-get | kümede bu numaraya sahip düğüm yok |
-35 | Pool is not present on the requested node | pools-get | düğüm havuz için veri olmadan yanıt verdi |
-57 | param guid has bad value | filesystems-get | geçersiz guid veya aktarma hatası |
-58 | Dataset does not exist at users scope | filesystems-get | dataset mevcut değil veya başka bir VDC'ye ait |
-53 | Unable to locate the dataset | filesystems-get | dağıtıcının veritabanındaki dataset satırının adı boş |
-54 | Unable to locate the pool of the dataset | filesystems-get | dataset'in havuzuna hizmet veren düğüm atanmamış |
-86 | param guid has bad value | filesystems-set | geçersiz guid veya aktarma hatası |
-87 | Filesystems methods has not been enabled | filesystems-set | kümede filesystem_options özelliği devre dışı |
-88 | Dataset does not exist at users scope | filesystems-set | dataset mevcut değil veya başka bir VDC'ye ait |
-83 | Unable to locate the dataset | filesystems-set | dağıtıcının veritabanındaki dataset satırının adı boş |
-84 | Unable to locate the pool of the dataset | filesystems-set | dataset'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ütun | Harita alanı |
|---|---|
GUID | guid |
Name | name |
Health | health |
Consuming | consuming |
Scrubbing | scrubbing |
Resilvering | resilvering |
Current node | nodeid |
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.