PowerStore: Utilizzo di VMFs sui nodi interni dell'appliance del modello X di PowerStore
Riepilogo: Questo articolo della knowledgebase spiega come utilizzare IVMF sui nodi interni dell'appliance del modello PowerStore X. Preview Version: questo articolo della KB si riferisce alle funzionalità pianificate per FH-Core. ...
Istruzioni
Per impostazione predefinita, le macchine virtuali AppsON sfruttano l'efficiente implementazione di VVol di PowerStore per la sua natura semplice, le ottimizzazioni di progettazione e l'integrazione all'interno dell'interfaccia utente di PowerStore. Sebbene sia comunque consigliabile utilizzare VVols per la sua natura semplice, le ottimizzazioni e l'integrazione all'interno dell'interfaccia utente di PowerStore, a partire da PowerStore versione 2.0, gli appliance del modello PowerStore X supportano anche datastore VMFS per lo storage di macchine virtuali all'interno di AppsON, consentendo il mapping dei volumi di blocchi agli host ESXi interni di PowerStore utilizzando l'API REST o la CLI di PowerStore. In questi casi, è necessario considerare quanto segue per motivi di prestazioni quando si utilizza VMFS:
- Utilizzare sempre più di un datastore VMFS, distribuendo le VM nei datastore VMFS.
- I volumi di block sottostanti che costituiscono i datastore VMFS devono essere applicati ai nodi opposti in PowerStore.
Nota: L'architettura vVol di PowerStore è progettata in modo tale che i due punti precedenti non si applichino, pertanto si consiglia di utilizzare vVols.
Inoltre, poiché DRS distribuisce le virtual machine tra entrambi i nodi, alcune virtual machine avranno un percorso I/O indiretto al proprio datastore che passerà attraverso lo switch ToR, mentre altre avranno un percorso di I/O diretto che passa direttamente dalla VM allo storage. Se necessario, è possibile creare una regola di affinità VM in vSphere con una policy "should run", come descritto nella Guida alla virtualizzazione disponibile in PowerStore Info Hub.
Panoramica generale dei passaggi
- Identificare gli host PowerStore X ESXi interni. Ce ne sono due per appliance PowerStore X.
- Creare almeno due volumi per appliance, da formattare come VMFS.
- Eseguire il mapping dei due volumi su ciascuno dei due host ESXi dell'appliance PowerStore X per garantire l'HA.
- Distribuire uniformemente l'affinità del nodo tra il numero di volumi da utilizzare come VMFS e il numero di host ESXi interni a cui sono mappati. Se è presente un caso di un singolo appliance PowerStore X con due volumi VMFS da utilizzare, impostare l'affinità del nodo su NodeA sul volume 1 VMFS e impostare l'affinità del nodo su NodeB sul volume 2 VMFS.
- Ripetere la scansione dell'adattatore di storage in vSphere per gli host ESXi dell'appliance PowerStore X e creare un datastore VMFS per ogni volume presentato, assicurandosi che sia mappato a entrambi gli host dell'appliance.
Utilizzo della CLI di PowerStore (pstcli):
Identificare i nodi Interni di PowerStore X inviando il comando "host show". Gli host interni verranno visualizzati come "<NameOfCluster>-Appliance<#>-node-A" e "<NameOfCluster>-Appliance<#>-node-B", con una descrizione di "host interno per il sistema" e un valore "Os_Type" di ESXi
ESEMPIO** pstcli -d <cluster_IP>-u admin -p <password>host show # | id | nome | descrizione | os_type | host_group.nome ----+--------------------------------------+-----------------------------+-------------------------------+---------+----------------- 1 | e744d953-b5ba-4d20-88ac-51aba9098e30 | AB-H1234-appliance-1-node-B | Host interno per il sistema. | | ESXi 2 | eb81db9f-1410-480f-8199-40ab2fa8d41a | AB-H1234-appliance-1-node-A | Host interno per il sistema. | | ESXi
2. Creare due nuovi volumi inviando il comando "volume create", specificando un nome e una dimensione.
ESEMPIO** 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 | dei nomi digitare | | wwn dimensioni | protection_policy.nome ----+--------------------------------------+-------+---------+--------------------------------------+------------------------+------------------------ 1 | 4fd9a173-41d1-4dc3-806f-e9e5366715a4 | | VMFS2 | principale naa.68ccf09800e95b41cfb7beb83a82aec0 | | 549755813888 (512 G) 2 | 6ff93940-6337-46dc-b68d-5fc99004dd71 | | VMFS1 | principale naa.68ccf09800d6c5db7018b8f3e71ecf28 | | 549755813888 (512 G)
3. Mappare questi nuovi volumi su entrambi gli host ESXi interni inviando un comando "volume" con "attach -host_id".
ESEMPIO** pstcli -d <cluster_IP>-u admin -p <password>volume -id 4fd9a173-41d1-4dc3-806f-e9e5366715a Collegamento4 -host_id e744d953-b5ba-4d20-88ac-51aba9098e30 -logical_unit_number 1 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 < logical_unit_number password>volume -id 6ff93940-6337-46dc-b68d-5fc99004dd71 attach -host_id eb81db9f-1410-480f-8199-40ab2fa8d41a -logical_unit_number 2 Operazione riuscita
4. Assegnare l'affinità host a ciascun volume, con ogni volume affidato a un nodo diverso nell'appliance, inviando un comando "volume" con "set -node_affinity".
ESEMPIO** pstcli -d <cluster_IP>-u admin -p <password>volume -id 4fd9a173-41d1-4dc3-806f-e9e5366715a4 set -node_affinity Preferred_Node_A pstcli -d <cluster_IP>-u admin -p <password>volume -id 6ff93940-6337-46dc-b68d-5fc99004dd71 set -node_affinity Preferred_Node_B Success
Utilizzo dell'API REST:
Passare a https://<cluster_IP>/swaggerui per le definizioni di API REST.
1. Identificare i nodi PowerStore X interni eseguendo un comando GET sull'oggetto "host". Gli host interni verranno visualizzati come "<NameOfCluster>-Appliance<#>-node-A" e "<NameOfCluster>-Appliance<#>-node-B.
ESEMPIO| 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. Creare due nuovi volumi eseguendo un comando POST sull'oggetto "volume", specificando il nome e le dimensioni del volume.
ESEMPIO: 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. Eseguire il mapping di questi due volumi su entrambi gli host interni ESXi, inviando un comando POST sull'object "volume", specificando l'ID host restituito nel passaggio 1.
ESEMPIO: 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. Assegnare l'affinità host a ciascun volume, con ogni volume affidato a un nodo diverso nell'appliance, inviando una richiesta PATCH sull'oggetto "volume".
ESEMPIO** 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\" }"