2.3. Managing Storage Nodes

2.3.1. vinfra node join

Join a node to the storage cluster:

usage: vinfra node join [--disk <disk>:<role>[:<key=value,...>]] <node>
--disk <disk>:<role> [:<key=value,...>]

Disk configuration in the format:

  • <disk>: disk device ID or name
  • <role>: disk role (cs, mds, journal, mds-journal, mds-system, cs-system, system)
  • comma-separated key=value pairs with keys (optional):
    • tier: disk tier (0, 1, 2 or 3)
    • journal-tier: journal (cache) disk tier (0, 1, 2 or 3)
    • journal-type: journal (cache) disk type (no_cache, inner_cache or external_cache)
    • journal-disk: journal (cache) disk ID or device name
    • journal-size: journal (cache) disk size, in bytes
    • bind-address: bind IP address for the metadata service

E.g., sda:cs:tier=0,journal-type=inner_cache. This option can be used multiple times.

<node>
Node ID or hostname

Example:

# vinfra node join f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4 \
--disk sda:mds-system \
--disk sdb:cs \
--disk sdc:cs
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | a2713068-9544-4ea1-8ec8-69a068cf86f2 |
+---------+--------------------------------------+

This command creates a task to add the node with the ID f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4 to the storage cluster and assigns roles to disks: mds-system to sda, cs to sdb and sdc.

Task outcome:

# vinfra task show a2713068-9544-4ea1-8ec8-69a068cf86f2
+---------+--------------------------------------------+
| Field   | Value                                      |
+---------+--------------------------------------------+
| args    | - f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4     |
|         | - 1                                        |
| kwargs  | disks:                                     |
|         | - id: 85F32403-94A9-465A-9E6C-C1A2B41294FC |
|         |   role: mds-system                         |
|         |   service_params: {}                       |
|         | - id: FE0B5876-E054-489B-B0FD-72429BEFD46A |
|         |   role: cs                                 |
|         |   service_params: {}                       |
|         | - id: D3BEF4BB-AA3B-4DB6-9376-BC7CDA636700 |
|         |   role: cs                                 |
|         |   service_params: {}                       |
| name    | backend.tasks.node.AddNodeInClusterTask    |
| result  | {}                                         |
| state   | success                                    |
| task_id | a2713068-9544-4ea1-8ec8-69a068cf86f2       |
+---------+--------------------------------------------+

2.3.2. vinfra node list

List storage nodes:

usage: vinfra node list

Example:

# vinfra node list
+--------------------------+---------------+------------+-----------+-------------+----------+
| id                       | host          | is_primary | is_online | is_assigned | is_in_ha |
+--------------------------+---------------+------------+-----------+-------------+----------+
| 09bb6b84-70a5-41ae-b342- | node001.<...> | True       | True      | True        | False    |
| 23e5fc7cc126             |               |            |           |             |          |
| 187edb11-38c5-487b-bd7f- | node002.<...> | False      | True      | True        | False    |
| 57b0fa4b733c             |               |            |           |             |          |
| e6255aed-d6e7-41b2-ba90- | node003.<...> | False      | True      | True        | False    |
| 86164c1cd9a6             |               |            |           |             |          |
+--------------------------+---------------+------------+-----------+-------------+----------+

This command lists all nodes registered in Virtuozzo Hybrid Infrastructure (both unassigned and used in the storage cluster).

2.3.3. vinfra node show

Show storage node details:

usage: vinfra node show <node>
<node>
Node ID or hostname

Example:

# vinfra node show 4f96acf5-3bc8-4094-bcb6-4d1953be7b55
+---------------+--------------------------------------+
| Field         | Value                                |
+---------------+--------------------------------------+
| cpu_cores     | 2                                    |
| host          | stor-1.example.com.vstoragedomain.   |
| id            | 4f96acf5-3bc8-4094-bcb6-4d1953be7b55 |
| ipaddr        | stor-1.example.com.vstoragedomain.   |
| is_assigned   | False                                |
| is_in_ha      | False                                |
| is_installing | False                                |
| is_online     | True                                 |
| is_primary    | True                                 |
| is_virt       | True                                 |
| mem_total     | 8201310208                           |
| roles         | management:                          |
|               |   is_primary: true                   |
| tasks         |                                      |
+---------------+--------------------------------------+

This command shows the details of the node with the ID 4f96acf5-3bc8-4094-bcb6-4d1953be7b55.

2.3.4. vinfra node maintenance precheck

Start node maintenance precheck:

usage: vinfra node maintenance precheck <node>
<node>
Node ID or hostname

Example:

# vinfra node maintenance precheck 9dcc9632-911c-4cc5-9a89-5a6fa5db2314
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | 7c7f0afa-10f4-41b7-9b2e-973f3d392178 |
+---------+--------------------------------------+

This command creates a task to start maintenance precheck for the node with the ID f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4.

Task outcome:

# vinfra task show 7c7f0afa-10f4-41b7-9b2e-973f3d392178
+---------+-------------------------------------------------------------------+
| Field   | Value                                                             |
+---------+-------------------------------------------------------------------+
| details |                                                                   |
| name    | backend.business.models.maintenance.tasks.MaintenancePrecheckTask |
| result  |                                                                   |
| state   | success                                                           |
| task_id | 7c7f0afa-10f4-41b7-9b2e-973f3d392178                              |
+---------+-------------------------------------------------------------------+

2.3.5. vinfra node maintenance start

Start node maintenance:

usage: vinfra node maintenance start [--iscsi-mode <mode>] [--compute-mode <mode>]
                                     [--s3-mode <mode>] [--storage-mode <mode>]
                                     [--alua-mode <mode>] [--nfs-mode <mode>] <node>
--iscsi-mode <mode>
Ignore ISCSI evacuation during maintenance (ignore).
--compute-mode <mode>
Ignore compute evacuation during maintenance (ignore).
--s3-mode <mode>
Ignore S3 evacuation during maintenance (ignore).
--storage-mode <mode>
Ignore storage evacuation during maintenance (ignore).
--alua-mode <mode>
Ignore Block Storage target groups during maintenance (ignore).
--nfs-mode <mode>
Ignore NFS evacuation during maintenance (ignore).
<node>
Node ID or hostname

Example:

# vinfra node maintenance start 9dcc9632-911c-4cc5-9a89-5a6fa5db2314 \
--iscsi-mode ignore --compute-mode ignore
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | 3d4c23b6-9f62-412c-ad7c-ec9537a36fa7 |
+---------+--------------------------------------+

This command creates a task to start maintenance for the node with the ID 9dcc9632-911c-4cc5-9a89-5a6fa5db2314 without evacuating its iSCSI and compute services.

Task outcome:

# vinfra task show 3d4c23b6-9f62-412c-ad7c-ec9537a36fa7
+---------+----------------------------------------------------------------+
| Field   | Value                                                          |
+---------+----------------------------------------------------------------+
| details |                                                                |
| name    | backend.business.models.maintenance.tasks.MaintenanceStartTask |
| result  |                                                                |
| state   | success                                                        |
| task_id | 3d4c23b6-9f62-412c-ad7c-ec9537a36fa7                           |
+---------+----------------------------------------------------------------+

2.3.6. vinfra node maintenance status

Show node maintenance details:

usage: vinfra node maintenance status <node>
<node>
Node ID or hostname

Example:

# vinfra node maintenance status 9dcc9632-911c-4cc5-9a89-5a6fa5db2314
+-----------+----------------------------------------------+
| Field     | Value                                        |
+-----------+----------------------------------------------+
| node_id   | 9dcc9632-911c-4cc5-9a89-5a6fa5db2314         |
| params    | compute_mode: ignore                         |
|           | iscsi_mode: ignore                           |
|           | nfs_mode: evacuate                           |
|           | s3_mode: evacuate                            |
|           | storage_mode: suspend                        |
| precheck  |                                              |
| resources | compute:                                     |
|           |   failed: []                                 |
|           |   handled: []                                |
|           |   initial:                                   |
|           |   - id: fa69e3f1-461c-4f4a-b442-3ffb356130c1 |
|           |     status: ACTIVE                           |
|           |   - id: f336f631-cc82-43e6-a582-8dcfcd24a722 |
|           |     status: ACTIVE                           |
|           |   - id: 48864c3f-d9bf-4c32-abdc-901395c3b5f9 |
|           |     status: ACTIVE                           |
|           |   - id: 5fd82e2a-3fef-4171-bfa4-67daa99ae64f |
|           |     status: ACTIVE                           |
|           |   untouched: []                              |
|           | iscsi:                                       |
|           |   failed: []                                 |
|           |   handled: []                                |
|           |   initial: []                                |
|           | nfs: null                                    |
| state     | suspended_complete                           |
| task      | flow: complete                               |
|           | id: fe8e5ff5-48c1-4a23-a533-28233aaae4db     |
|           | state: success                               |
|           | updated_at: '2019-11-20T13:52:15.849492'     |
+-----------+----------------------------------------------+

This command shows maintenance details for the node with the ID 9dcc9632-911c-4cc5-9a89-5a6fa5db2314.

2.3.7. vinfra node maintenance stop

Return node to operation:

usage: vinfra node maintenance stop <node>
<node>
Node ID or hostname

Example:

# vinfra node maintenance stop 9dcc9632-911c-4cc5-9a89-5a6fa5db2314
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | 34e0b546-aa2c-466c-93fe-7dff28c543c6 |
+---------+--------------------------------------+

This command creates a task to stop maintenance for the node with the ID 9dcc9632-911c-4cc5-9a89-5a6fa5db2314.

Task outcome:

# vinfra task show 34e0b546-aa2c-466c-93fe-7dff28c543c6
+---------+---------------------------------------------------------------+
| Field   | Value                                                         |
+---------+---------------------------------------------------------------+
| details |                                                               |
| name    | backend.business.models.maintenance.tasks.MaintenanceStopTask |
| result  |                                                               |
| state   | success                                                       |
| task_id | 34e0b546-aa2c-466c-93fe-7dff28c543c6                          |
+---------+---------------------------------------------------------------+

2.3.8. vinfra node release

Release a node from the storage cluster. Start data migration from the node as well as cluster replication and rebalancing to meet the configured redundancy level:

usage: vinfra node release [--force] <node>
--force
Release node without data migration
<node>
Node ID or hostname

Example:

# vinfra node release f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | c2a653a2-8991-4b3a-8bdf-5c0872aa75b3 |
+---------+--------------------------------------+

This command creates a task to release the node with the ID f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4 from the storage cluster with migration of data to maintain the set redundancy mode.

Task outcome:

# vinfra task show c2a653a2-8991-4b3a-8bdf-5c0872aa75b3
+---------+----------------------------------------+
| Field   | Value                                  |
+---------+----------------------------------------+
| args    | - f59dabdb-bd1c-4944-8af2-26b8fe9ff8d4 |
|         | - false                                |
| kwargs  | {}                                     |
| name    | backend.tasks.node.ReleaseNodeTask     |
| state   | success                                |
| task_id | c2a653a2-8991-4b3a-8bdf-5c0872aa75b3   |
+---------+----------------------------------------+

2.3.9. vinfra node forget

Remove a node from the storage cluster:

usage: vinfra node forget <node>
<node>
Node ID or hostname

Example:

# vinfra node forget fd1e46de-6e17-4571-bf6b-1ac34ec1c225
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | 0eac3b74-e8f5-4974-9efe-a9070187d83c |
+---------+--------------------------------------+

This command creates a task to unregister the node with the ID fd1e46de-6e17-4571-bf6b-1ac34ec1c225 from Virtuozzo Hybrid Infrastructure.

Task outcome:

# vinfra task show 0eac3b74-e8f5-4974-9efe-a9070187d83c
+---------+----------------------------------------+
| Field   | Value                                  |
+---------+----------------------------------------+
| args    | - fd1e46de-6e17-4571-bf6b-1ac34ec1c225 |
| kwargs  | {}                                     |
| name    | backend.tasks.node.DeleteNodeTask      |
| state   | success                                |
| task_id | 0eac3b74-e8f5-4974-9efe-a9070187d83c   |
+---------+----------------------------------------+