Свойства объекта Пул представлены в таблице 1.

Таблица 1. Свойства объекта Пул
namevaluesourcetype
size111875308126208-largeint
capacity4-int (0-100): percentage
healthONLINE-string: {ONLINE,DEGRADED, FAULTED,OFFLINE, REMOVED,UNAVAIL}
guid12796701319652121210defaultlargeint
version-defaultint
dedupditto0defaultint
dedupratio1.00x-float
free107253066813440-largeint
allocated4622241312768-largeint
readonlyoff-string: {ON,OFF}
comment-defaultstring
expandsize--largeint
consuming1-largeint
freeing0defaultlargeint
fragmentation0%-int (0-100): percentage
leaked0defaultlargeint
checkpoint--string

Методы

8.5.1 pool-map()

Метод pool-map() позволяет получить словарь пулов всего кластера по node_id

Запрос:
{
	"jsonrpc":	"2.0",
	"method":	"pool-map",
	"id":"971b3642-5889-44f2-ac17-7f97ef996160"
}

Ответ:
{
   "id" : "971b3642-5889-44f2-ac17-7f97ef996160",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : {
         "1" : [
            {
               "capacity_pct" : 44,
               "guid" : "13291040547173576569",
               "health" : "ONLINE",
               "name" : "z04",
               "node_id" : 1
            }
         ],
         "2" : [
            {
               "capacity_pct" : 8,
               "guid" : "12192028730459580391",
               "health" : "ONLINE",
               "name" : "z03",
               "node_id" : 2
            }
         ],
         "3" : [
            {
               "capacity_pct" : 43,
               "guid" : "1112801652704741613",
               "health" : "ONLINE",
               "name" : "z02",
               "node_id" : 3
            }
         ],
         "4" : [
            {
               "capacity_pct" : 23,
               "guid" : "1045579883550775657",
               "health" : "ONLINE",
               "name" : "z01",
               "node_id" : 4
            }
         ]
      }
   }
}

8.5.2 pool-map-by-guid()

С помощью данного метода можно получить словарь пулов всего кластера по guid пула.

Запрос:
{
	"jsonrpc":	"2.0",
	"method":	"pool-map-by-guid",
	"id":		"eb03e892-132a-11ed-bf1a-1356afb91e77"
}

Ответ:
{
	"id": "eb03e892-132a-11ed-bf1a-1356afb91e77",
	"jsonrpc": "2.0",
	"result": {
		"code": 1,
		"data": {
			"14523019082101348142": {
				"capacity_pct": 16,
				"consuming": 1,
				"free": 2400415073964,
				"guid": "14523019082101348142",
				"health": "ONLINE",
				"name": "z03",
				"nodeid": 5,
				"provisioned": 1668713160840,
				"provisioned_pct": 63,
				"size": 2638827906660,
				"size_raw": 4398046511104,
				"used": 238412832696
			},
			"16231361151942834019": {
				"capacity_pct": 24,
				"consuming": 1,
				"free": 2279644257708,
				"guid": "16231361151942834019",
				"health": "ONLINE",
				"name": "z02",
				"nodeid": 5,
				"provisioned": 2822234518472,
				"provisioned_pct": 107,
				"size": 2638827906660,
				"size_raw": 4398046511104,
				"used": 359183648952
			},
			"4182847010042355858": {
				"capacity_pct": 49,
				"consuming": 1,
				"free": 1908817714980,
				"guid": "4182847010042355858",
				"health": "ONLINE",
				"name": "z05",
				"nodeid": 1,
				"provisioned": 2688849402072,
				"provisioned_pct": 102,
				"size": 2638827906660,
				"size_raw": 4398046511104,
				"used": 730010191680
			},
			"5210166094835362280": {
				"capacity_pct": 14,
				"consuming": 1,
				"free": 2425393637676,
				"guid": "5210166094835362280",
				"health": "ONLINE",
				"name": "z01",
				"nodeid": 3,
				"provisioned": 1097688450008,
				"provisioned_pct": 42,
				"size": 2638827906660,
				"size_raw": 4398046511104,
				"used": 213434268984
			},
			"9286176334769597033": {
				"capacity_pct": 9,
				"consuming": 1,
				"free": 2490388461180,
				"guid": "9286176334769597033",
				"health": "ONLINE",
				"name": "z04",
				"nodeid": 2,
				"provisioned": 1768526008072,
				"provisioned_pct": 67,
				"size": 2638827906660,
				"size_raw": 4398046511104,
				"used": 148439445480
			}
		}
	}
}

8.5.3 vms-suspend-pool()

vms-suspend-pool() приостановливает все виртуальные машины пула, а также потребление ими ресурсов этого пула.
Опциональный параметр takeback-on-fail определяет поведение в случае неудачной приостановки хотя бы одной виртуальной машины. По умолчанию виртуальные машины, которые были успешно приостановлены, остаются в приостановленном состоянии, а виртуальные машины, в ходе приостановки которых возникла ошибка, возвращаются к работе. Но при ненулевом значении данного параметра и возникновении ошибки хотя бы с одной из виртуальных машин пула, все они возобновят свою работу.

Запрос:
{
	"jsonrpc":	"2.0",
	"id":		"a900a270-1328-11ed-812f-0727b0b91e77",
	"method":	"vms-suspend-pool",
	"params":	{
		"pool_name":		"z03",
		"takeback-on-fail":	1
	}
}

Ответ:
{
        "jsonrpc": "2.0"
        "id": "a900a270-1328-11ed-812f-0727b0b91e77",
        "result": {
                "code": 1,
                "data": {}
        },
}

8.5.4 vms-resume-pool()

Данный метод позволяет возобновить работу всех виртуальных машин пула, приостановленных в результате предыдущего вызова vms-suspend-pool(), и возобновить потребление ресурсов пула виртуальными машинами.

Запрос:
{
	"jsonrpc":	"2.0",
	"id":		"88afc0b8-1329-11ed-afa6-9816afb91e77",
	"method":	"vms-resume-pool",
	"params":	{
		"pool_name":		"z03"
	}
}

Ответ:
{
        "jsonrpc": "2.0",
        "id": "88afc0b8-1329-11ed-afa6-9816afb91e77",
        "result": {
                "code": 1,
                "data": {}
        }
}

8.5.5 pools-list()

С помощью pools-list() можно получить список пулов на конкретном узле.

Запрос:
{
	"jsonrpc":	"2.0",
	"method":	"pools-list",
	"id":		"88b95fb4-f7fc-11ea-9a6f-25d855bcd16b",
	"params": {
		"nodeId":	0
	}
}

Ответ:
{
	"id":		"88b95fb4-f7fc-11ea-9a6f-25d855bcd16b",
	"jsonrpc":	"2.0",
	"result": {
		"code":	1,
		"data":	{
			"z00": {
				"allocated":		700945440768,
				"capacity":		29,
				"checkpoint":		"-",
				"comment":		"-",
				"dedupditto":		0,
				"dedupratio":		"1.00",
				"expandsize":		0,
				"fragmentation":	0,
				"free":			1687056375808,
				"freeing":		0,
				"guid":			4001847881948111433,
				"health":		"ONLINE",
				"leaked":		0,
				"nodeId":		0,
				"readonly":		"off",
				"size":			2388001816576
			}
		}
	}
}

8.5.6 pools-get()

pools-get() позволяет получить свойства конкретного пула.

Запрос:
{
	"jsonrpc":	"2.0",
	"method":	"pools-get",
	"id":		"f8837f80-ba23-4bdb-94b8-609dc50eeab6",
	"params": {
		"nodeId":	0,
		"name":		"z00"
	}
}

Ответ:
{
        "id":		"f8837f80-ba23-4bdb-94b8-609dc50eeab6",
        "jsonrpc":	"2.0",
        "method":	"pools-get",
        "result": {
                "code": 1,
                "data": {
                        "allocated": 591290449920,
                        "altroot": "-",
                        "ashift": 0,
                        "autoexpand": "off",
                        "autoreplace": "off",
                        "autotrim": "off",
                        "bootfs": "-",
                        "cachefile": "none",
                        "capacity": 24,
                        "checkpoint": "-",
                        "comment": "-",
                        "compatibility": "off",
                        "consuming": 1,
                        "dedupditto": 0,
                        "dedupratio": 1.23,
                        "delegation": "on",
                        "expandsize": 0,
                        "failmode": "panic",
                        "fragmentation": 10,
                        "free": 1796711366656,
                        "freeing": 0,
                        "guid": 16231361151942834000,
                        "health": "ONLINE",
                        "leaked": 0,
                        "listsnapshots": "off",
                        "load_guid": 10494015148618138000,
                        "maxblocksize": 1048576,
                        "maxdnodesize": 16384,
                        "multihost": "off",
                        "name": "z02",
                        "readonly": "off",
                        "size": 2388001816576,
                        "tname": "-",
                        "version": 5000
                }
        }
}