PowerStore: PowerStore X 모델 어플라이언스 내부 노드에서 VMFS 사용
Riepilogo: 이 기술 자료 문서에서는 PowerStore X 모델 어플라이언스 내부 노드에서 VMFS를 사용하는 방법에 대해 설명합니다. 미리보기 버전 – 이 기술 자료 문서는 FH-코어용으로 설계된 기능과 관련이 있습니다.
Istruzioni
기본적으로 AppsON 가상 머신은 단순한 특성, 최적화된 설계, PowerStore UI와의 통합 등의 이유로 PowerStore가 가진 효율적인 vVol 구현 기능을 활용합니다. 단순한 특성, 최적화된 설계, PowerStore UI와의 통합 등의 이유로 vVols을 사용하는 것이 여전히 권장되지만, PowerStore 버전 2.0부터는 PowerStore X 모델 어플라이언스도 PowerStore의 REST API 또는 CLI를 사용하여 블록 볼륨을 PowerStore의 내부 ESXi 호스트에 매핑할 수 있도록 허용함으로써 AppsON 내 가상 머신 저장을 위한 VMFS 데이터 저장소를 지원합니다. 이러한 경우 VMFS를 사용할 때 성능상의 이유로 다음을 고려해야 합니다.
- VMFS 데이터 저장소를 항상 두 개 이상 사용하여 VMFS 데이터 저장소에 VM을 분산합니다.
- VMFS 데이터 저장소를 구성하는 기본 블록 볼륨은 PowerStore의 반대쪽 노드에 결합되어야 합니다.
참고: PowerStore의 vVol 아키텍처는 위 두 사항이 적용되지 않도록 설계되어 있으므로 vVols를 사용하는 것이 좋습니다.
또 DRS가 가상 머신을 두 노드에 분산하므로 일부 가상 머신은 ToR 스위치를 거쳐 데이터 저장소로 연결되는 간접 I/O 경로를 갖는 반면, 일부 가상 머신은 가상 머신에서 스토리지로 직접 연결되는 직접 I/O 경로를 갖습니다. 필요한 경우 PowerStore 정보 허브의 가상화 가이드의 설명대로 "실행 필요" 정책을 사용하여 vSphere에서 VM 선호도 규칙을 만들 수 있습니다.
단계의 전체적 개요
- 내부 PowerStore X ESXi 호스트를 식별합니다. PowerStore X 어플라이언스당 2개가 있습니다.
- 어플라이언스당 두 개 이상의 볼륨을 생성하여 VMFS로 포맷합니다.
- 두 볼륨을 PowerStore X 어플라이언스의 ESXi 호스트에 각각 매핑하여 HA를 보장합니다.
- 노드 친화성을 VMFS로 사용할 볼륨의 수 및 매핑되는 내부 ESXi 호스트의 수에 균등하게 분산시킵니다. 어플라이언스 PowerStore X 하나가 사용될 VMFS 볼륨 두 개와 매핑된 경우 NodeA로의 노드 친화성에 VMFS 볼륨 1을 설정하고 NodeB로의 노드 친화성에 VMFS 볼륨 2를 설정합니다.
- PowerStore X 어플라이언스의 ESXi 호스트에 대해 vSphere에서 스토리지 어댑터를 다시 검색하고, 표시된 각 볼륨에 대해 VMFS 데이터 저장소를 생성하여 어플라이언스의 두 호스트에 매핑되었는지 확인합니다.
PowerStore CLI(pstcli) 사용:
"host show" 명령을 실행하여 내부 PowerStore X 노드를 식별합니다. 내부 호스트는 "Internal host for the system" 설명 및 ESXi의 "Os_Type" 값과 함께 "<NameOfCluster>-Appliance<#>-node-A" 및 "<NameOfCluster>-Appliance<#>-node-B"로 표시됩니다.
***예*** 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 명령을 실행하여 이 두 볼륨을 두 ESXi 내부 호스트에 매핑하고, 1단계에서 반환된 호스트 ID를 지정합니다.
***예*** 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. "볼륨" 객체에 대한 패치 요청을 실행하여 각 볼륨에 호스트 친화성을 할당하여 각 볼륨이 어플라이언스의 다른 노드에 연결되도록 합니다.
***예*** 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\" }"