Product Documentation

Ejemplo: Creación y configuración de un host

Nov 11, 2015

El siguiente ejemplo muestra cómo crear y configurar un host.

Antes de comenzar, compruebe que sigue los pasos detallados en Introducción a SDK. Este tema muestra cómo usar Studio para realizar la operación que desea incluir en el script (en este caso, crear un host) y recopilar el registro de operaciones del SDK que realizó Studio para llevar a cabo la tarea. Este resultado puede personalizarse para generar un script que automatice la creación de hosts.

Nota: Para asegurarse de que siempre obtiene las últimas mejoras y revisiones, Citrix recomienda seguir el procedimiento descrito en este tema en lugar de copiar y pegar el script de ejemplo. Se han agregado los números y los saltos de línea al script para una mejor legibilidad.

Entender el script

La siguiente sección explica qué hace cada parte del script generado por Studio. Esto le ayudará con la personalización de su propio script. Se han agregado números de línea para una mejor legibilidad.

1. Get-LogSite -AdminAddress 'micontroller.ejemplo.com:80'

Consulta el servicio de registros de configuración para obtener información sobre la configuración del sitio.

2. Start-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -Source 'Studio' -StartTime 14/08/2013 14:30:28 -Text 'Create Connection `'Example XenServer`''

Inicia una operación de registro de alto nivel con la operación de configuración de registro dentro de la cual existirán los demás comandos. Devuelve un ID de registros que se suministra a las operaciones subsiguientes.

3. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80' 

Establece la ubicación del Host Service que usarán los cmdlets de configuración. Puesto que el HostService revela un proveedor de PowerShell, no todos los cmdlets pueden tomar una dirección para el servicio, de modo que este cmdlet establece una ubicación predeterminada.

4. New-Item -ConnectionType 'XenServer' -HypervisorAddress @('http://xenhost1.example.com') -LoggingId e355ce51-8cbb-400a-ae81-1fdc567239cb -Path @('XDHyp:\Connections\Example XenServer') -Scope @() -Password ******** -UserName 'root'

Crea una conexión a un XenServer (xenhost1.example.com). Es una conexión no persistente y está disponible solamente en el espacio de ejecución de PowerShell.

5. Stop-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -EndTime 14/08/2013 14:30:29 -HighLevelOperationId 'e355ce51-8cbb-400a-ae81-1fdc567239cb' -IsSuccessful $True

Detiene la operación registrada iniciada previamente e indica que se ha realizado correctamente.

6. Get-LogSite -AdminAddress 'micontroller.ejemplo.com:80' 

Consulta el servicio de registros de configuración para obtener información sobre la configuración del sitio.

7. Start-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -Source 'Studio' -StartTime 14/08/2013 14:30:30 -Text 'Update Connection `'Example XenServer`'' 

Inicia una nueva operación de registro de alto nivel.

8. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80' 

Establece de nuevo la dirección del Host Service (obsérvese que esta repetición se elimina en el script optimizado que aparece más abajo).

9. Set-Item -HypervisorAddress @('http://xenhost1.example.com','http://xenhost2.example.com') -LoggingId 44e15629-6906-4840-a36c-984aaf67be6d -PassThru -Path @('XDHyp:\Connections\Example XenServer') -Password ******** -UserName 'root' 

Actualiza la conexión creada en el paso 4. Puesto que hay más de un XenServer en la agrupación, suministra todas las direcciones para habilitar la alta disponibilidad.

10. Stop-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -EndTime 14/08/2013 14:30:31 -HighLevelOperationId '44e15629-6906-4840-a36c-984aaf67be6d' -IsSuccessful $True

Detiene la operación de registro iniciada en el paso 7.

11. Get-LogSite -AdminAddress 'micontroller.ejemplo.com:80' 

Consulta el servicio de registros de configuración para obtener información sobre la configuración del sitio.

12. Start-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -Source 'Studio' -StartTime 14/08/2013 14:31:03 -Text 'Create Resources `'Example Resources`' and Persist Connection `'Example XenServer`''

Inicia una nueva operación de registro.

13. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80'

Establece de nuevo la información de dirección de Host Service.

14. Get-ChildItem -Path @('XDHyp:\Connections')

Obtiene el contenido de la conexión de host para rellenar los diálogos del asistente.

15. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80' 

Establece de nuevo la información de dirección de Host Service.

16. Remove-Item -LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314 -Path @('XDHyp:\Connections\Example XenServer') 

Quita la conexión temporal creada en el asistente.

17. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80'

Establece de nuevo la información de dirección de Host Service.

18. New-Item -ConnectionType 'XenServer' -HypervisorAddress @('http://xenhost1.example.com','http://xenhost2.example.com') -LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314 -Path @('XDHyp:\Connections\Example XenServer') -Persist -Scope @() -Password ******** -UserName 'root'

Vuelve a crear la conexión como conexión persistente, que luego se escribe en la base de datos y estará disponible en otros espacios de ejecución de PowerShell.

19. New-BrokerHypervisorConnection -AdminAddress 'micontroller.ejemplo.com:80' -HypHypervisorConnectionUid a14096ba-5074-44ff-b596-371e345c0449 -LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314

Agrega la conexión de host al Broker Service.

20. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80'

Establece de nuevo la información de dirección de Host Service.

21. New-Item -HypervisorConnectionName 'Example XenServer' -LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314 -NetworkPath @('XDHyp:\Connections\Example XenServer\Network 0.network') -Path @('XDHyp:\HostingUnits\Example Resources') -PersonalvDiskStoragePath @('XDHyp:\Connections\Example XenServer\Pvd Storage.storage') -RootPath 'XDHyp:\Connections\Example XenServer' -StoragePath @('XDHyp:\Connections\Example XenServer\Primary OS.storage') 

Crea la unidad de alojamiento (HostingUnit), que en Studio recibe el nombre de "recursos", usando la información reunida en el paso 14.

22. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80' 

Establece de nuevo la información de dirección de Host Service.

23. Get-Item -Path @('XDHyp:\Connections\Example XenServer')

Obtiene el objeto recién creado.

Stop-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -EndTime 14/08/2013 14:31:07 -HighLevelOperationId '76caa3f4-df93-4cb2-b78d-6a8824766314' -IsSuccessful $True 

Detiene la operación registrada iniciada previamente e indica si se ha realizado correctamente.

Personalizar el script

La siguiente sección muestra cómo convertir y adaptar el resultado de Studio en un script más consumible. El siguiente script ha sido simplificado de modo que se crea una conexión persistente, en lugar de crear una conexión de host temporal durante el proceso de obtención de información de los asistentes como en el script de Studio más arriba. A continuación, se hacen consultas desde dentro del script para crear la unidad de alojamiento o recursos (HostingUnit). Tenga en cuenta que LoggingId y HypHyperConnectionUid son diferentes.

Se han numerado las líneas para facilitar la lectura; cada elemento numerado es un comando de PowerShell.

1. Start-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -Source 'Studio' -Text 'Create Connection `'Example XenServer`'' 2. Set-HypAdminConnection -AdminAddress 'micontroller.ejemplo.com:80' 3. New-Item -ConnectionType 'XenServer' -HypervisorAddress @('http://xenhost1.example.com',' http://xenhost2.example.com')-LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314 -Path @('XDHyp:\Connections\Example XenServer') -Persist -Scope @() -Password ******** -UserName 'root' 4. Get-ChildItem -Path @('XDHyp:\Connections') 5. New-BrokerHypervisorConnection -AdminAddress 'micontroller.ejemplo.com:80' -HypHypervisorConnectionUid a14096ba-5074-44ff-b596-371e345c0449 -LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314 6. New-Item -HypervisorConnectionName 'Example XenServer' -LoggingId 76caa3f4-df93-4cb2-b78d-6a8824766314 -NetworkPath @('XDHyp:\Connections\Example XenServer\Network 0.network') -Path @('XDHyp:\HostingUnits\Example Resources') -PersonalvDiskStoragePath @('XDHyp:\Connections\Example XenServer\Pvd Storage.storage') -RootPath 'XDHyp:\Connections\Example XenServer' -StoragePath @('XDHyp:\Connections\Example XenServer\PrimaryOS.storage') 7. Stop-LogHighLevelOperation -AdminAddress 'micontroller.ejemplo.com:80' -HighLevelOperationId '76caa3f4-df93-4cb2-b78d-6a8824766314' -IsSuccessful $True