8.2 Кластер
Методы¶
8.2.1 cluster-overview()¶
Данный метод используется для получения обзора кластера: состояния его компонентов (узлов, сервисов) и утилизации ресурсов (RAM, CPU, пулов).
Запрос:
Ответ:
{
"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, пространства хранения).
Запрос:
Ответ:
{
"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
}
}
}
По каждому из типов ресурсов предоставлены 3 поля с соответствующими суффиксами в именах:
- total: количество имеющихся в наличии ресурсов;
- provisioned: количество ресурсов, которые предоставлены к потреблению;
- used: количество реально потребляемых ресурсов.
Единицы измерения для ресурсов CPU — ядра, для ресурсов RAM и space — байты.
8.2.3 cluster-node-action()¶
Данный метод позволяет проводить действия с узлом кластера. В этом методе глагол определяется параметром action, у каждого глагола есть собственный ответ.
Параметр node_ID используется дли идентификаторов глаголов 2, 3, 4.
Таблица со словарем глаголов представлена ниже.
0 | list |
1 | status |
2 | enable |
3 | disable |
4 | exit |
Запрос:
{
"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()¶
Этот метод позволяет запускать сервис кластера. Крайне рекомендуется использовать асинхронный режим вызова данного метода.
Запрос:
Ответ: