.. _Managing Storage Nodes: Managing Storage Nodes ---------------------- .. _vinfra node join: vinfra node join ~~~~~~~~~~~~~~~~ Join a node to the storage cluster: :: usage: vinfra node join [--disk :[:]] ``--disk : [:]`` Disk configuration in the format: - ````: disk device ID or name; - ````: 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 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 | +---------+--------------------------------------------+ .. _vinfra node list: 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 |product_name| (both unassigned and used in the storage cluster). .. _vinfra node show: vinfra node show ~~~~~~~~~~~~~~~~ Show storage node details: :: usage: vinfra node show ```` 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 show the details of the node with the ID ``4f96acf5-3bc8-4094-bcb6-4d1953be7b55``. .. _vinfra node release: 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] ``--force`` Release node without data migration ```` 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 | +---------+----------------------------------------+ .. _vinfra node forget: vinfra node forget ~~~~~~~~~~~~~~~~~~ Remove a node from the storage cluster: :: usage: vinfra node forget ```` Node ID or hostname Example: :: # vinfra node forget fd1e46de-6e17-4571-bf6b-1ac34ec1c225 +---------+--------------------------------------+ | Field | Value | +---------+--------------------------------------+ | task_id | 0eac3b74-e8f5-4974-9efe-a9070187d83c | +---------+--------------------------------------+ This commands creates a task to unregister the node with the ID ``fd1e46de-6e17-4571-bf6b-1ac34ec1c225`` from |product_name|. 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 | +---------+----------------------------------------+