PowerStore:在 PowerStore X 型号设备内部节点上使用 VMFS
Riepilogo: 本知识库文章介绍如何在 PowerStore X 型号设备内部节点上使用 VMFS。预览版本 — 此知识库文章与为 FH-Core 计划的功能相关。
Istruzioni
默认情况下,AppsON 虚拟机利用 PowerStore 高效的 vVol 实现,因为它简单易用、设计优化并且集成在 PowerStore UI 中。由于 vVol 简单易用、设计优化并且集成在 PowerStore UI 中,我们仍然建议使用 vVol,但从 PowerStore 版本 2.0 开始,PowerStore X 型号设备还支持使用 VMFS 数据存储区来存储 AppsON 中的虚拟机,具体方法是允许使用 PowerStore 的 REST API 或 CLI 将数据块卷映射到 PowerStore 的内部 ESXi 主机。在这些情况下,在使用 VMFS 时,出于性能原因,应考虑以下事项:
- 始终使用多个 VMFS 数据存储区,跨 VMFS 数据存储区分布虚拟机。
- 构成 VMFS 数据存储区的底层数据块卷应与 PowerStore 中的相反节点相关联。
提醒:PowerStore 的 vVol 体系结构的设计方式使得上述两点不适用,因此建议使用 vVol。
此外,由于 DRS 跨两个节点分布虚拟机,因此一些虚拟机将具有通过 ToR 交换机到其数据存储区的间接 I/O 路径,而其他虚拟机具有直接从虚拟机到存储的直接 I/O 路径。如果需要,可以在 vSphere 中使用“should run”策略创建虚拟机相关性规则,如 PowerStore 信息中心提供的《虚拟化指南》中所述。
步骤高层概览
- 识别内部 PowerStore X ESXi 主机。每个 PowerStore X 设备有两个主机。
- 每个设备至少创建两个卷,以格式化为 VMFS。
- 将两个卷映射到 PowerStore X 设备的每个 ESXi 主机,以确保高可用性。
- 在要用作 VMFS 的卷数量及其映射到的内部 ESXi 主机数量之间均匀分布节点关联性。如果存在单个设备 PowerStore X 使用两个 VMFS 卷的情况,请将节点关联性设置为 VMFS 卷 1 上的 NodeA,并将节点关联性设置为 VMFS 卷 2 上的 NodeB。
- 为 PowerStore X 设备的 ESXi 主机重新扫描 vSphere 中的存储适配器,并为显示的每个卷创建一个 VMFS 数据存储区,以确保其映射到设备中的两个主机。
使用 PowerStore CLI (pstcli):
通过发出“host show”命令来识别内部 PowerStore X 节点。内部主机将显示为“<NameOfCluster>-Appliance<#>-node-A”和“<NameOfCluster>-Appliance<#>-node-B”,以及描述“Internal host for the system”和 ESXi 的“Os_Type”值
***示例*** pstcli -d <cluster_IP> -u admin -p <password> host show # | id | name | description | os_type | host_group.name ----+--------------------------------------+-----------------------------+-------------------------------+---------+----------------- 1 | e744d953-b5ba-4d20-88ac-51aba9098e30 | AB-H1234-appliance-1-node-B | Internal host for the system. | ESXi | 2 | eb81db9f-1410-480f-8199-40ab2fa8d41a | AB-H1234-appliance-1-node-A | Internal host for the system. | ESXi |
2.通过发出“volume create”命令并指定名称和大小来创建两个新卷。
***示例*** pstcli -d <cluster_IP> -u admin -p <password> volume create -name VMFS1 -size 549755813888 -performance_policy_id default_medium -appliance_id A1 Created # | id ----+-------------------------------------- 1 | 6ff93940-6337-46dc-b68d-5fc99004dd71 pstcli -d <cluster_IP> -u admin -p <password> volume create -name VMFS2 -size 549755813888 -performance_policy_id default_medium -appliance_id A1 Created # | id ----+-------------------------------------- 1 | 4fd9a173-41d1-4dc3-806f-e9e5366715a4 pstcli -d 10.123.123.123 -u admin -p 333!xxxxxx volume show # | id | name | type | wwn | size | protection_policy.name ----+--------------------------------------+-------+---------+--------------------------------------+------------------------+------------------------ 1 | 4fd9a173-41d1-4dc3-806f-e9e5366715a4 | VMFS2 | Primary | naa.68ccf09800e95b41cfb7beb83a82aec0 | 549755813888 (512.00G) | 2 | 6ff93940-6337-46dc-b68d-5fc99004dd71 | VMFS1 | Primary | naa.68ccf09800d6c5db7018b8f3e71ecf28 | 549755813888 (512.00G) |
3.通过发出带有“attach -host_id”的“volume”命令,将这些新卷映射到两个内部 ESXi 主机。
***示例*** pstcli -d <cluster_IP> -u admin -p <password> volume -id 4fd9a173-41d1-4dc3-806f-e9e5366715a4 attach -host_id e744d953-b5ba-4d20-88ac-51aba9098e30 -logical_unit_number 1 Success pstcli -d <cluster_IP> -u admin -p <password> volume -id 4fd9a173-41d1-4dc3-806f-e9e5366715a4 attach -host_id eb81db9f-1410-480f-8199-40ab2fa8d41a -logical_unit_number 1 Success pstcli -d <cluster_IP> -u admin -p <password> volume -id 6ff93940-6337-46dc-b68d-5fc99004dd71 attach -host_id e744d953-b5ba-4d20-88ac-51aba9098e30 -logical_unit_number 2 Success pstcli -d <cluster_IP> -u admin -p <password> volume -id 6ff93940-6337-46dc-b68d-5fc99004dd71 attach -host_id eb81db9f-1410-480f-8199-40ab2fa8d41a -logical_unit_number 2 Success
4.通过发出带有“set -node_affinity”的“volume”命令,向每个卷分配主机关联性,每个卷关联到设备中的不同节点。
***示例*** pstcli -d <cluster_IP> -u admin -p <password> volume -id 4fd9a173-41d1-4dc3-806f-e9e5366715a4 set -node_affinity Preferred_Node_A Success pstcli -d <cluster_IP> -u admin -p <password> volume -id 6ff93940-6337-46dc-b68d-5fc99004dd71 set -node_affinity Preferred_Node_B Success
使用 REST API:
转至 https://<cluster_IP>/swaggerui 查看 REST API 定义。
1.通过对“host”对象执行 GET 命令来识别内部 PowerStore X 节点。内部主机将显示为“<NameOfCluster>-Appliance<#>-node-A”和“<NameOfCluster>-Appliance<#>-node-B.”
***示例*** curl -k -i -u admin:<password> -X GET "https://<cluster_ip>/api/rest/host?select=name,id" -H "accept: application/json" [{"name":"AB-H1234-appliance-1-node-A","id":"164fa5af-9e91-4e86-9c30-7ca0b2647549"}, {"name":"AB-H1234-appliance-1-node-B","id":"20207f44-f5b6-42a6-874a-b2e743f4bc5a"}]
2.通过对“volume”对象执行 POST 命令并指定卷的名称和大小,创建两个新卷。
***示例*** curl -k -u admin: <password> -X POST "https://<cluster_ip>/api/rest/volume" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{ \"name\": \"VMFS1\", \"size\": 549755813888, \"appliance_id\": \"A1\", \"performance_policy_id\": \"default_medium\"}" | json_reformat curl -k -u admin: <password> -X POST "https://<cluster_ip>/api/rest/volume" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{ \"name\": \"VMFS2\", \"size\": 549755813888, \"appliance_id\": \"A1\", \"performance_policy_id\": \"default_medium\"}" | json_reformat
3.通过对“volume”对象发出 POST 命令并指定步骤 1 中返回的主机 ID,将这两个卷映射到两个 ESXi 内部主机。
***示例*** curl -k -u admin: <password> -X POST "https://<cluster_ip>/api/rest/volume/04f0499c-0f13-4f39-a455-846297358d01/attach" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{ \"host_id\": \"164fa5af-9e91-4e86-9c30-7ca0b2647549\", \"logical_unit_number\": 0}" curl -k -u admin: <password> -X POST "https://<cluster_ip>/api/rest/volume/04f0499c-0f13-4f39-a455-846297358d01/attach" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{ \"host_id\": \"20207f44-f5b6-42a6-874a-b2e743f4bc5a\", \"logical_unit_number\": 0}" curl -k -u admin: <password> -X POST "https://<cluster_ip>/api/rest/volume/f1577f97-9a4b-4b51-a89b-7e135eda8b29/attach" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{ \"host_id\": \"164fa5af-9e91-4e86-9c30-7ca0b2647549\", \"logical_unit_number\": 1}" curl -k -u admin: <password> -X POST "https://<cluster_ip>/api/rest/volume/f1577f97-9a4b-4b51-a89b-7e135eda8b29/attach" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{ \"host_id\": \"20207f44-f5b6-42a6-874a-b2e743f4bc5a\", \"logical_unit_number\": 1}"
4.通过对“volume”对象发出 PATCH 请求,向每个卷分配主机关联性,每个卷关联到设备中的不同节点。
***示例*** curl -k -u admin:<password> -X PATCH "https://<cluster_ip>/api/rest/volume/04f0499c-0f13-4f39-a455-846297358d01" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{\"node_affinity\": \"Preferred_Node_A\" }" curl -k -u admin: <password> -X PATCH "https://<cluster_ip>/api/rest/volume/f1577f97-9a4b-4b51-a89b-7e135eda8b29" -H "accept: application/json" -H "Content-Type: application/json" -H "DELL-EMC-TOKEN: <token>" -d "{\"node_affinity\": \"Preferred_Node_B\" }"