Методы

8.2.1 cluster-overview()

Данный метод используется для получения обзора кластера: состояния его компонентов (узлов, сервисов) и утилиазции ресурсов (RAM, CPU, пулов)

Запрос :
{
	"jsonrpc":	"2.0",
	"method":	"cluster-overview",
	"id":		"e4b01804-7cd5-45d3-b440-0f6005b9b8c5"
}

Ответ:
{
   "id" : "e4b01804-7cd5-45d3-b440-0f6005b9b8c5",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : {
         "1" : {
            "cores" : 15,
            "node_cpu_cores" : 40,
            "node_name" : "q9u001.z.vstack.com",
            "node_ram" : 51539607552,
            "pools" : [
               {
                  "capacity_pct" : 1,
                  "guid" : "4182847010042355858",
                  "name" : "z05",
                  "provisioned_pct" : 3
               }
            ],
            "ram" : 13,
            "utilization_cores_pct" : "0.00",
            "utilization_ram_pct" : "4.07"
         },
         "2" : {
            "cores" : 45,
            "node_cpu_cores" : 20,
            "node_name" : "q9u002.z.vstack.com",
            "node_ram" : 51539607552,
            "pools" : [
               {
                  "capacity_pct" : 2,
                  "guid" : "9286176334769597033",
                  "name" : "z04",
                  "provisioned_pct" : 5
               }
            ],
            "ram" : 19,
            "utilization_cores_pct" : "0.00",
            "utilization_ram_pct" : "6.14"
         },
         "3" : {
            "cores" : 40,
            "node_cpu_cores" : 20,
            "node_name" : "q9u003.z.vstack.com",
            "node_ram" : 51539607552,
            "pools" : [
               {
                  "capacity_pct" : 2,
                  "guid" : "14523019082101348142",
                  "name" : "z03",
                  "provisioned_pct" : 8
               }
            ],
            "ram" : 75,
            "utilization_cores_pct" : "0.00",
            "utilization_ram_pct" : "9.66"
         },
         "4" : {
            "cores" : 0,
            "node_name" : "q9u004.z.vstack.com",
            "ram" : 0,
            "utilization_cores_pct" : "0.0",
            "utilization_ram_pct" : "0.0"
         },
         "5" : {
            "cores" : 70,
            "node_cpu_cores" : 20,
            "node_name" : "q9u005.z.vstack.com",
            "node_ram" : 51539607552,
            "pools" : [
               {
                  "capacity_pct" : 3,
                  "guid" : "5210166094835362280",
                  "name" : "z01",
                  "provisioned_pct" : 4
               },
               {
                  "capacity_pct" : 1,
                  "guid" : "16231361151942834019",
                  "name" : "z02",
                  "provisioned_pct" : 3
               }
            ],
            "ram" : 29,
            "utilization_cores_pct" : "0.30",
            "utilization_ram_pct" : "21.93"
         }
      }
   }
}


8.2.2 cluster-totals()

С помощью этого метода можно получить суммарные значения имеющихся и потребляемых ресурсов (RAM, CPU, пространства хранения).

Запрос :
{
        "jsonrpc":      "2.0",
        "id":           "349b4b08-724e-11ed-bfe5-7ca8afb91e77",
        "method":       "cluster-totals"
}

Ответ:
{
	"id":		"349b4b08-724e-11ed-bfe5-7ca8afb91e77",
	"jsonrpc":	"2.0",
	"result": {
		"code": 1,
		"data": {
			"cpu_cores_total":		120,
			"cpu_cores_provisioned":	120,
			"cpu_used":			3,
			"ram_total":			177167400960,
			"ram_provisioned":		103079215104,
			"ram_used":			1452266882,
			"space_total":			21990232555520,
			"space_provisioned":		4925812092433,
			"space_used":			72233946792
		}
	}
}


8.2.3 cluster-node-action()

Данный метод позволяет проводить действия с узлом кластера. В этом методе глагол определяется параметром action, у каждого глагола есть собственный ответ.
Параметр node_ID используется дли идентификаторов глаголов 2, 3, 4.
Таблица со словарем глаголов представлена ниже.

Таблица 1. Словарь глаголов
0list
1status
2enable
3disable
4exit
Запрос :
{
        "jsonrpc":      "2.0",
        "id":           "9bacee04-1237-11ed-aef9-9ea6afb91e77",
        "method":       "cluster-node-action",
        "params":       {
                "action":               1,
		"node_ID":		2
        }
}

Ответ:
{
   "id" : "9bacee04-1237-11ed-aef9-9ea6afb91e77",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : [
         {
            "enabled" : true,
            "id" : 1,
            "nodename" : "q9u001.z.vstack.com",
            "state" : "ONLINE"
         },
         {
            "enabled" : true,
            "id" : 2,
            "nodename" : "q9u002.z.vstack.com",
            "state" : "ONLINE"
         },
         {
            "enabled" : true,
            "id" : 3,
            "nodename" : "q9u003.z.vstack.com",
            "state" : "ONLINE"
         },
         {
            "enabled" : true,
            "id" : 4,
            "nodename" : "q9u004.z.vstack.com",
            "state" : "ONLINE"
         },
         {
            "enabled" : true,
            "id" : 5,
            "nodename" : "q9u005.z.vstack.com",
            "state" : "ONLINE"
         }
      ]
   }
}

8.2.4 cluster-service-stop()

С помощью cluster-service-stop() можно остановить сервис кластера.
Крайне рекомендуется использовать асинхронный режим вызова данного метода.

Запрос :
{
	"jsonrpc":	"2.0",
	"id":		"a6ca3996-1303-11ed-970a-1689afb91e77",
	"method":	"cluster-service-stop",
	"params":	{
		"service_name":		"zpool_z03"
	}
}

Ответ:
{
   "id" : "a6ca3996-1303-11ed-970a-1689afb91e77",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : null
   }
}

8.2.5 cluster-service-start()

Этот метод позволяет запускать сервис кластера.
Крайне рекомендуется использовать асинхронный режим вызова данного метода.

Запрос :
{
	"jsonrpc":	"2.0",
	"id":		"05f0e294-1304-11ed-ad4c-03a9afb91e77",
	"method":	"cluster-service-start",
	"params":	{
		"service_name":		"zpool_z03",
		"node_ID":		4
	}
}

Ответ:
{
   "id" : "05f0e294-1304-11ed-ad4c-03a9afb91e77",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : null
   }
}