PowerStore:在 PowerStore X 型號應用裝置內部節點上使用 VMF
Riepilogo: 本知識文章說明如何在 PowerStore X 型號應用裝置內部節點上使用 VMF。預覽版本 – 此 KB 與專為 FH Core 規劃的功能有關。
Istruzioni
根據預設,AppsON 虛擬機器會利用 PowerStore 的高效 vVol 實作,因為具備簡單性、設計最佳化以及 PowerStore UI 內整合等特性。雖然基於簡單性、設計最佳化以及 PowerStore UI 內整合等特性,我們仍建議使用 vVols,但從 PowerStore 2.0 版開始,PowerStore X 型號應用裝置也可允許使用 PowerStore 的 REST API 或 CLI 將區塊磁碟區對應到 PowerStore 的內部 ESXi 主機,藉此支援 VMFS 資料存放區來儲存 AppsON 中的虛擬機器。在這些情況下,使用 VMFS 時,應考慮下列效能原因:
- 一律使用多個 VMFS 資料存放區,在 VMFS 資料存放區中分配 VM。
- 構成 VMFS 資料存放區的基礎區塊磁碟區應與 PowerStore 中的對應節點建立關聯。
注意:PowerStore 的 vVol 架構的設計方式不適用於上述兩點,因此建議使用 vVols。
此外,當 DRS 在兩個節點上散佈虛擬機器時,某些虛擬機器將會有一個間接 I/O 路徑至其資料存放區,該路徑會通過 ToR 交換器,而其他虛擬機器則有直接 I/O 路徑直接從 VM 傳輸至儲存裝置。如有需要,VM 親和性規則可在 vSphere 中建立,並採用「應執行」原則,如 PowerStore 資訊中心提供的虛擬化指南中所述。
高層級步驟概觀
- 識別內部 PowerStore X ESXi 主機。每個 PowerStore X 應用裝置各有兩個。
- 每個應用裝置至少建立兩個磁碟區,以格式化為 VMFS。
- 將兩個磁碟區對應至兩個 PowerStore X 應用裝置中任一的 ESXi 主機,以確保 HA。
- 將節點親和性平均分配至作為 VMFS 使用的磁碟區數量,及其對應的內部 ESXi 主機數量。如果有使用兩個 VMFS 磁片區的單一裝置 PowerStore X,請在 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」,並顯示「系統內部主機」和 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 | 系統的內部主機。| ESXi | 2 | eb81db9f-1410-480f-8199-40ab2fa8d41a | AB-H1234-appliance-1-node-A | 系統的內部主機。 | 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.在「主機」物件上執行 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.在「磁碟區」物件上執行 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.透過在「磁碟區」物件上發出 POST 命令,指定步驟 1 中傳回的主機識別符,將這兩個磁碟區對應至兩個 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.在「磁碟區」物件上發出修補程式要求,將主機親和性指派給每個磁碟區,每個磁碟區均已歸類至裝置中的不同節點。
***EXAMPLE*** 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\" }"