Managing Storage Groups: Difference between revisions
Created page with "{{howto_header}} If you're unfamiliar with what a storage group is, see: * Storage Group Generally speaking, the Anvil! tries to auto-assemble storage groups for you. When all the hardware is the same size, this works pretty well. However, if the volume groups on two subnodes, or on a DR host differ, this may not work. In such cases, you can manually configure storage groups using the <span class="code">anvil-manage-storage-group</span> tool. {{note|1=There a..." |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{howto_header}} | {{howto_header}} | ||
{{note|1=There are plans to add storage group management to the Striker UI. Until then, this is a command-line process.}} | |||
If you're unfamiliar with what a storage group is, see: | If you're unfamiliar with what a storage group is, see: | ||
Line 7: | Line 9: | ||
Generally speaking, the Anvil! tries to auto-assemble storage groups for you. When all the hardware is the same size, this works pretty well. However, if the [[volume group]]s on two subnodes, or on a DR host differ, this may not work. In such cases, you can manually configure storage groups using the <span class="code">anvil-manage-storage-group</span> tool. | Generally speaking, the Anvil! tries to auto-assemble storage groups for you. When all the hardware is the same size, this works pretty well. However, if the [[volume group]]s on two subnodes, or on a DR host differ, this may not work. In such cases, you can manually configure storage groups using the <span class="code">anvil-manage-storage-group</span> tool. | ||
= Showing Existing Storage Groups = | |||
To start, lets look at the storage groups on an example Anvil! cluster with three nodes and a DR host. | |||
<syntaxhighlight lang="bash"> | |||
anvil-manage-storage-groups --show | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Anvil Node: [an-anvil-01] - Demonstration anvil node | |||
- Subnode: [an-a01n01] volume groups; | |||
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp] | |||
- Subnode: [an-a01n02] volume groups; | |||
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV] | |||
- Storage group: [Storage group 1], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e] | |||
- [an-a01n01]:[cs_mk-a07n01_hdd1] | |||
- [an-a01n02]:[cs_mk-a07n02_hdd1] | |||
- Storage group: [Storage group 2], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04] | |||
- [an-a01n01]:[rhel_an-a01n01] | |||
- [an-a01n02]:[rhel_an-a01n01] | |||
Anvil Node: [an-anvil-02] - RX200 S8 Test Node | |||
- Subnode: [an-a02n01] volume groups; | |||
- [cs_an-a02n01], size: [1.90 TiB], free: [1.73 TiB], internal UUID: [dZDEij-PIbn-5e7I-kXAM-0kIB-ChKv-FRKc5d] | |||
- Subnode: [an-a02n02] volume groups; | |||
- [cs_an-a02n02], size: [1.90 TiB], free: [1.73 TiB], internal UUID: [NqqvWf-lKn3-AZWe-GaH1-ZIKl-XMYs-Pja2Md] | |||
Anvil Node: [an-anvil-04] - Test Mixed-Hardware Anvil! Node | |||
- Subnode: [an-a04n01] volume groups; | |||
- [cs_an-a02dr01], size: [1.90 TiB], free: [1.83 TiB], internal UUID: [c7VKul-XR5i-TCai-OsS6-nLWb-Gax2-xCkOtF] | |||
- Subnode: [an-a04n02] volume groups; | |||
- [cs_mk-a07dr02], size: [819.20 GiB], free: [717.71 GiB], internal UUID: [5rPfUK-Da5j-6V4C-wE2O-e09R-fjAz-oT5mTA] | |||
Disaster Recovery Hosts: | |||
- DR Host: [an-a01dr01] VGs: | |||
- [rhel_an-a01dr01], size: [1.91 TiB], free: [1.82 TiB], internal UUID: [kqFk0c-3QDz-nM8c-jWlB-byuN-6A4G-hOuoHS] | |||
</syntaxhighlight> | |||
= Renaming Storage Groups = | |||
By default, when the Anvil! auto-creates a storage group, it simply gets the name '<span class="code">Storage Group X</span>'. | |||
In most cases, nodes usually only have one volume group, and one so this name is fine. However, imagine a scenario where a node has a mix of small capacity, high speed, high IOPS storage and a second, larger, slower storage array. In this case, renaming them will make it easier to decide which to use when providing servers. | |||
We can see what's on <span class="code">an-anvil-01</span>; | |||
<syntaxhighlight lang="text"> | |||
Anvil Node: [an-anvil-01] - Demonstration anvil node | |||
- Subnode: [an-a01n01] volume groups; | |||
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp] | |||
- Subnode: [an-a01n02] volume groups; | |||
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV] | |||
- Storage group: [Storage group 1], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e] | |||
- [an-a01n01]:[cs_mk-a07n01_hdd1] | |||
- [an-a01n02]:[cs_mk-a07n02_hdd1] | |||
- Storage group: [Storage group 2], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04] | |||
- [an-a01n01]:[rhel_an-a01n01] | |||
- [an-a01n02]:[rhel_an-a01n01] | |||
</syntaxhighlight> | |||
We can see that <span class="code">Storage group 1</span> combines the volume groups <span class="code">cs_mk-a07n01_hdd1</span> and <span class="code">cs_mk-a07n02_hdd1</span>. So lets rename this group to <span class="code">HDD-Backed Storage</span>. | |||
<syntaxhighlight lang="bash"> | |||
anvil-manage-storage-groups --rename --new-name "HDD-Backed Storage" --group "Storage group 1" --anvil an-anvil-01 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
The storage group: [Storage group 1] on the Anvil! node: [an-anvil-01] has been renamed to: [HDD-Backed Storage]. | |||
</syntaxhighlight> | |||
Now lets rename the other storage group to <span class="code">Fast Storage</span>; | |||
<syntaxhighlight lang="bash"> | |||
anvil-manage-storage-groups --rename --new-name "Fast Storage" --group "Storage group 2" --anvil an-anvil-01 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
The storage group: [Storage group 2] on the Anvil! node: [an-anvil-01] has been renamed to: [Fast Storage]. | |||
</syntaxhighlight> | |||
Now let's confirm the names have changed; | |||
<syntaxhighlight lang="bash"> | |||
anvil-manage-storage-groups --show | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Anvil Node: [an-anvil-01] - Demonstration anvil node | |||
- Subnode: [an-a01n01] volume groups; | |||
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp] | |||
- Subnode: [an-a01n02] volume groups; | |||
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV] | |||
- Storage group: [Fast Storage], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04] | |||
- [an-a01n01]:[rhel_an-a01n01] | |||
- [an-a01n02]:[rhel_an-a01n01] | |||
- Storage group: [HDD-Backed Storage], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e] | |||
- [an-a01n01]:[cs_mk-a07n01_hdd1] | |||
- [an-a01n02]:[cs_mk-a07n02_hdd1] | |||
<...snip...> | |||
</syntaxhighlight> | |||
Excellent! | |||
= Adding a Volume Group to a Storage Group = | |||
In this example, the <span class="code">an-a01dr01</span> [[DR host]] needs to have it's volume group <span class="code">rhel_an-a01dr01</span> joined to <span class="code">HDD-Backed Storage</span> storage group. This is not uncommon when a DR host has different hardware or storage from the nodes. We need to do this before we can | |||
Context; | |||
* [[Disaster Recovery Tasks]] | |||
<syntaxhighlight lang="bash"> | |||
anvil-manage-storage-groups --add --group "HDD-Backed Storage" --member kqFk0c-3QDz-nM8c-jWlB-byuN-6A4G-hOuoHS --anvil an-anvil-01 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Added the volume group: [rhel_an-a01dr01] on the host: [an-a01dr01] to the storage group: [HDD-Backed Storage]. The new member UUID is: [0aea3507-d1e6-4839-8412-ef46f7fb19f6]. | |||
</syntaxhighlight> | |||
Now we can confirm; | |||
<syntaxhighlight lang="bash"> | |||
anvil-manage-storage-groups --show | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Anvil Node: [an-anvil-01] - Demonstration anvil node | |||
- Subnode: [an-a01n01] volume groups; | |||
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp] | |||
- Subnode: [an-a01n02] volume groups; | |||
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM] | |||
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV] | |||
- Storage group: [Fast Storage], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04] | |||
- [an-a01n01]:[rhel_an-a01n01] | |||
- [an-a01n02]:[rhel_an-a01n01] | |||
- Storage group: [HDD-Backed Storage], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e] | |||
- [an-a01dr01]:[rhel_an-a01dr01] | |||
- [an-a01n01]:[cs_mk-a07n01_hdd1] | |||
- [an-a01n02]:[cs_mk-a07n02_hdd1] | |||
<...snip...> | |||
</syntaxhighlight> | |||
<span class="code"></span> | <span class="code"></span> | ||
<syntaxhighlight lang="bash"> | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
</syntaxhighlight> | |||
{{footer}} | {{footer}} |
Latest revision as of 17:18, 16 November 2023
Alteeve Wiki :: How To :: Managing Storage Groups |
![]() |
Note: There are plans to add storage group management to the Striker UI. Until then, this is a command-line process. |
If you're unfamiliar with what a storage group is, see:
Generally speaking, the Anvil! tries to auto-assemble storage groups for you. When all the hardware is the same size, this works pretty well. However, if the volume groups on two subnodes, or on a DR host differ, this may not work. In such cases, you can manually configure storage groups using the anvil-manage-storage-group tool.
Showing Existing Storage Groups
To start, lets look at the storage groups on an example Anvil! cluster with three nodes and a DR host.
anvil-manage-storage-groups --show
Anvil Node: [an-anvil-01] - Demonstration anvil node
- Subnode: [an-a01n01] volume groups;
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp]
- Subnode: [an-a01n02] volume groups;
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV]
- Storage group: [Storage group 1], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e]
- [an-a01n01]:[cs_mk-a07n01_hdd1]
- [an-a01n02]:[cs_mk-a07n02_hdd1]
- Storage group: [Storage group 2], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04]
- [an-a01n01]:[rhel_an-a01n01]
- [an-a01n02]:[rhel_an-a01n01]
Anvil Node: [an-anvil-02] - RX200 S8 Test Node
- Subnode: [an-a02n01] volume groups;
- [cs_an-a02n01], size: [1.90 TiB], free: [1.73 TiB], internal UUID: [dZDEij-PIbn-5e7I-kXAM-0kIB-ChKv-FRKc5d]
- Subnode: [an-a02n02] volume groups;
- [cs_an-a02n02], size: [1.90 TiB], free: [1.73 TiB], internal UUID: [NqqvWf-lKn3-AZWe-GaH1-ZIKl-XMYs-Pja2Md]
Anvil Node: [an-anvil-04] - Test Mixed-Hardware Anvil! Node
- Subnode: [an-a04n01] volume groups;
- [cs_an-a02dr01], size: [1.90 TiB], free: [1.83 TiB], internal UUID: [c7VKul-XR5i-TCai-OsS6-nLWb-Gax2-xCkOtF]
- Subnode: [an-a04n02] volume groups;
- [cs_mk-a07dr02], size: [819.20 GiB], free: [717.71 GiB], internal UUID: [5rPfUK-Da5j-6V4C-wE2O-e09R-fjAz-oT5mTA]
Disaster Recovery Hosts:
- DR Host: [an-a01dr01] VGs:
- [rhel_an-a01dr01], size: [1.91 TiB], free: [1.82 TiB], internal UUID: [kqFk0c-3QDz-nM8c-jWlB-byuN-6A4G-hOuoHS]
Renaming Storage Groups
By default, when the Anvil! auto-creates a storage group, it simply gets the name 'Storage Group X'.
In most cases, nodes usually only have one volume group, and one so this name is fine. However, imagine a scenario where a node has a mix of small capacity, high speed, high IOPS storage and a second, larger, slower storage array. In this case, renaming them will make it easier to decide which to use when providing servers.
We can see what's on an-anvil-01;
Anvil Node: [an-anvil-01] - Demonstration anvil node
- Subnode: [an-a01n01] volume groups;
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp]
- Subnode: [an-a01n02] volume groups;
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV]
- Storage group: [Storage group 1], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e]
- [an-a01n01]:[cs_mk-a07n01_hdd1]
- [an-a01n02]:[cs_mk-a07n02_hdd1]
- Storage group: [Storage group 2], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04]
- [an-a01n01]:[rhel_an-a01n01]
- [an-a01n02]:[rhel_an-a01n01]
We can see that Storage group 1 combines the volume groups cs_mk-a07n01_hdd1 and cs_mk-a07n02_hdd1. So lets rename this group to HDD-Backed Storage.
anvil-manage-storage-groups --rename --new-name "HDD-Backed Storage" --group "Storage group 1" --anvil an-anvil-01
The storage group: [Storage group 1] on the Anvil! node: [an-anvil-01] has been renamed to: [HDD-Backed Storage].
Now lets rename the other storage group to Fast Storage;
anvil-manage-storage-groups --rename --new-name "Fast Storage" --group "Storage group 2" --anvil an-anvil-01
The storage group: [Storage group 2] on the Anvil! node: [an-anvil-01] has been renamed to: [Fast Storage].
Now let's confirm the names have changed;
anvil-manage-storage-groups --show
Anvil Node: [an-anvil-01] - Demonstration anvil node
- Subnode: [an-a01n01] volume groups;
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp]
- Subnode: [an-a01n02] volume groups;
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV]
- Storage group: [Fast Storage], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04]
- [an-a01n01]:[rhel_an-a01n01]
- [an-a01n02]:[rhel_an-a01n01]
- Storage group: [HDD-Backed Storage], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e]
- [an-a01n01]:[cs_mk-a07n01_hdd1]
- [an-a01n02]:[cs_mk-a07n02_hdd1]
<...snip...>
Excellent!
Adding a Volume Group to a Storage Group
In this example, the an-a01dr01 DR host needs to have it's volume group rhel_an-a01dr01 joined to HDD-Backed Storage storage group. This is not uncommon when a DR host has different hardware or storage from the nodes. We need to do this before we can
Context;
anvil-manage-storage-groups --add --group "HDD-Backed Storage" --member kqFk0c-3QDz-nM8c-jWlB-byuN-6A4G-hOuoHS --anvil an-anvil-01
Added the volume group: [rhel_an-a01dr01] on the host: [an-a01dr01] to the storage group: [HDD-Backed Storage]. The new member UUID is: [0aea3507-d1e6-4839-8412-ef46f7fb19f6].
Now we can confirm;
anvil-manage-storage-groups --show
Anvil Node: [an-anvil-01] - Demonstration anvil node
- Subnode: [an-a01n01] volume groups;
- [cs_mk-a07n01_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [FZDBL7-XSpK-KZ5E-JRwF-U1yH-7RrV-T2jioq]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [uYRAK8-Czf0-jUQ1-4ilh-Axj8-TlLO-3SO2kp]
- Subnode: [an-a01n02] volume groups;
- [cs_mk-a07n02_hdd1], size: [3.82 TiB], free: [3.72 TiB], internal UUID: [NyFHtO-zAoK-H6Cd-1v2B-AGT7-54j1-pUfOBM]
- [rhel_an-a01n01], size: [277.87 GiB], free: [203.87 GiB], internal UUID: [NeV8y4-9DZQ-vau0-iIE8-A1AQ-qJX3-bjsOIV]
- Storage group: [Fast Storage], UUID: [d12658d3-e0ae-40c1-b2db-11126a2eaf04]
- [an-a01n01]:[rhel_an-a01n01]
- [an-a01n02]:[rhel_an-a01n01]
- Storage group: [HDD-Backed Storage], UUID: [4c57dba7-bdb0-4244-8655-8d7aaa93255e]
- [an-a01dr01]:[rhel_an-a01dr01]
- [an-a01n01]:[cs_mk-a07n01_hdd1]
- [an-a01n02]:[cs_mk-a07n02_hdd1]
<...snip...>
Any questions, feedback, advice, complaints or meanderings are welcome. | |||
Alteeve's Niche! | Alteeve Enterprise Support | Community Support | |
© 2025 Alteeve. Intelligent Availability® is a registered trademark of Alteeve's Niche! Inc. 1997-2025 | |||
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions. |