Skip to content

8.5 Пул

Свойства объекта Пул представлены в таблице 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
                }
        }
}