Administración de Servicios de integración de Hyper-V
Los Servicios de integración de Hyper-V mejoran el rendimiento de las máquinas virtuales y proporcionan características útiles, para lo que aprovecha la comunicación bidireccional con el host de Hyper-V. Muchos de estos servicios son útiles, como la copia de archivos invitados, mientras que otros son importantes para la funcionalidad de la máquina virtual, como los controladores de dispositivos sintéticos. Este conjunto de servicios y controladores a veces se denomina componentes de integración. Puede controlar si los servicios de conveniencia individuales funcionan para cualquier máquina virtual dada. Los componentes del controlador no están diseñados para atenderse manualmente.
Para más información sobre cada servicio de integración, consulte Servicios de integración de Hyper-V.
Importante
Todos los servicios que quiera usar deben estar habilitados tanto en el host como en el invitado para poder funcionar. Cuando se habilita un servicio en el host, empieza automáticamente a ejecutarse en el invitado. Todos los servicios de integración, excepto la interfaz de servicio invitado de Hyper-V, están activados de forma predeterminada en los sistemas operativos invitados de Windows. Los servicios se pueden activar y desactivar individualmente. En las siguientes secciones se muestra cómo se hace.
Activación o desactivación un servicio de integración mediante el Administrador de Hyper-V
En el panel central, haga clic con el botón derecho en la máquina virtual y seleccione Configuración.
En el panel izquierdo de la ventana Configuración, en Administración, seleccione Servicios de integración.
En el panel Servicios de integración se enumeran todos los servicios de integración disponibles en el host de Hyper-V y si el host ha habilitado la máquina virtual para usarlos.
Activación o desactivación un servicio de integración mediante PowerShell
Para hacerlo en PowerShell, use Enable-VMIntegrationService y Disable-VMIntegrationService.
En los ejemplos siguientes se muestra cómo activar y desactivar el servicio de integración de copia de archivos invitados para una máquina virtual denominada DemoVM.
Obtenga una lista de los servicios de integración en ejecución:
Get-VMIntegrationService -VMName "DemoVM"
La salida debe ser similar a esta:
VMName Name Enabled PrimaryStatusDescription SecondaryStatusDescription ------ ---- ------- ------------------------ -------------------------- DemoVM Guest Service Interface False OK DemoVM Heartbeat True OK OK DemoVM Key-Value Pair Exchange True OK DemoVM Shutdown True OK DemoVM Time Synchronization True OK DemoVM VSS True OK
Active la interfaz del servicio de invitado:
Enable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
Compruebe que la interfaz del servicio de invitado está habilitada:
Get-VMIntegrationService -VMName "DemoVM"
Desactive la interfaz del servicio de invitado:
Disable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
Comprobación de la versión de los servicios de integración del invitado
Es posible que algunas características no funcionen, o no lo hagan correctamente, si los servicios de integración del invitado no están actualizados. Para obtener la información de la versión de Windows, inicie sesión en el sistema operativo invitado, abra un símbolo del sistema y ejecute este comando:
REG QUERY "HKLM\Software\Microsoft\Virtual Machine\Auto" /v IntegrationServicesVersion
Los sistemas operativos invitados anteriores no tendrán todos los servicios disponibles. Por ejemplo, los invitados de Windows Server 2008 R2 no pueden tener la interfaz del servicio invitado de Hyper-V.
Inicio y detención de un servicio de integración desde un invitado de Windows
Para que un servicio de integración sea completamente funcional, su servicio correspondiente debe ejecutarse dentro del invitado, además de estar habilitado en el host. En los invitados de Windows, cada servicio de integración aparece como un servicio de Windows estándar. Puede usar el applet Servicios en el Panel de control o PowerShell para detener e iniciar estos servicios.
Importante
La detención de un servicio de integración puede afectar gravemente a la capacidad de los hosts de administrar la máquina virtual. Para funcionar correctamente, cada servicio de integración que desee usar debe estar habilitado tanto en el host como en el invitado. Como procedimiento recomendado, solo debe controlar los servicios de integración desde Hyper-V mediante las instrucciones anteriores. El servicio coincidente del sistema operativo invitado se detendrá o se iniciará automáticamente cuando cambie su estado en Hyper-V. Si inicia un servicio en el sistema operativo invitado, pero está deshabilitado en Hyper-V, el servicio se detendrá. Si detiene un servicio en el sistema operativo invitado que esté habilitado en Hyper-V, Hyper-V volverá a iniciarlo. Si deshabilita el servicio en el invitado, Hyper-V no podrá iniciarlo.
Uso de Servicios de Windows para iniciar o detener un servicio de integración dentro de un invitado de Windows
Abra el administrador de servicios ejecutando
services.msc
como administrador o haciendo doble clic en el icono Servicios del Panel de control.Busque los servicios que comienzan por Hyper-V.
Haga clic con el botón derecho en el servicio que desea iniciar o detener. Seleccione la acción que quiera.
Uso de PowerShell para iniciar o detener un servicio de integración dentro de un invitado de Windows
Para obtener una lista de los servicios de integración, ejecute:
Get-Service -Name vmic* | FT -AutoSize
La salida debería tener un aspecto similar al siguiente:
Status Name DisplayName ------ ---- ----------- Running vmicguestinterface Hyper-V Guest Service Interface Running vmicheartbeat Hyper-V Heartbeat Service Running vmickvpexchange Hyper-V Data Exchange Service Running vmicrdv Hyper-V Remote Desktop Virtualization Service Running vmicshutdown Hyper-V Guest Shutdown Service Running vmictimesync Hyper-V Time Synchronization Service Stopped vmicvmsession Hyper-V PowerShell Direct Service Running vmicvss Hyper-V Volume Shadow Copy Requestor
Ejecute Start-Service o Stop-Service. Por ejemplo, para desactivar Windows PowerShell Direct, ejecute:
Stop-Service -Name vmicvmsession
Inicio y detención de un servicio de integración desde un invitado de Linux
Los servicios de integración de Linux normalmente se ofrecen a través del kernel de Linux. El controlador de servicios de integración de Linux se denomina hv_utils.
Para averiguar si hv_utils está cargado, use este comando:
lsmod | grep hv_utils
La salida debería tener un aspecto similar al siguiente:
Module Size Used by hv_utils 20480 0 hv_vmbus 61440 8 hv_balloon,hyperv_keyboard,hv_netvsc,hid_hyperv,hv_utils,hyperv_fb,hv_storvsc
Para averiguar si se están ejecutando los demonios necesarios, use este comando.
ps -ef | grep hv
La salida debería tener un aspecto similar al siguiente:
root 236 2 0 Jul11 ? 00:00:00 [hv_vmbus_con] root 237 2 0 Jul11 ? 00:00:00 [hv_vmbus_ctl] ... root 252 2 0 Jul11 ? 00:00:00 [hv_vmbus_ctl] root 1286 1 0 Jul11 ? 00:01:11 /usr/lib/linux-tools/3.13.0-32-generic/hv_kvp_daemon root 9333 1 0 Oct12 ? 00:00:00 /usr/lib/linux-tools/3.13.0-32-generic/hv_kvp_daemon root 9365 1 0 Oct12 ? 00:00:00 /usr/lib/linux-tools/3.13.0-32-generic/hv_vss_daemon user 43774 43755 0 21:20 pts/0 00:00:00 grep --color=auto hv
Para ver los demonios que están disponibles, ejecute:
compgen -c hv_
La salida debería tener un aspecto similar al siguiente:
hv_vss_daemon hv_get_dhcp_info hv_get_dns_info hv_set_ifconfig hv_kvp_daemon hv_fcopy_daemon
Los demonios del servicio de integración que se pueden enumerar incluyen los siguientes. Si falta alguno, es posible que no se admita en el sistema o que no esté instalado. Para más información, consulte Máquinas virtuales Linux y FreeBSD compatibles con Hyper-V en Windows.
- hv_vss_daemon: este demonio es necesario para crear copias de seguridad de máquinas virtuales de Linux en vivo.
- hv_kvp_daemon: este demonio permite establecer y consultar los pares de clave-valor tanto intrínsecos como extrínsecos.
- hv_fcopy_daemon: este demonio implementa un servicio de copia de archivos entre el host y el invitado.
Ejemplos
En estos ejemplos se muestra cómo detener e iniciar el demonio KVP, denominado hv_kvp_daemon
.
Use el identificador del proceso (PID) para detener el proceso del demonio. Para buscar el PID, examine la segunda columna de la salida o use
pidof
. Los demonios de Hyper-V se ejecutan como raíz, por lo que necesitará permisos de raíz.sudo kill -15 `pidof hv_kvp_daemon`
Para comprobar que todos los procesos
hv_kvp_daemon
han desaparecido, ejecute:ps -ef | hv
Para volver a iniciar el demonio, ejecute el demonio como raíz:
sudo hv_kvp_daemon
Para comprobar que el proceso
hv_kvp_daemon
aparece con un nuevo identificador, ejecute:ps -ef | hv
Mantener actualizados los servicios de integración
Se recomienda mantener actualizados los servicios de integración para obtener el mejor rendimiento y las características más recientes de las máquinas virtuales. Esto sucede en los invitados de Windows de forma predeterminada si están configurados para obtener actualizaciones importantes de Windows Update. Los invitados de Linux que usan kernels actuales contienen servicios de integración, pero puede haber actualizaciones opcionales disponibles. Los componentes de integración más recientes se reciben cuando se actualiza el kernel. Para más información sobre los invitados de Linux, consulte Máquinas virtuales Linux y FreeBSD compatibles para Hyper-V en Windows.
Nota
El disco de Servicios de integración del archivo de imagen (vmguest.iso) no se incluye con Hyper-V a partir de Windows Server 2016 y Windows 10 porque deja de ser necesario. Tanto Windows Server 2012 como las versiones anteriores requieren el servicio de integración de Data Exchange. Si no se puede habilitar el servicio de integración de Data Exchange, los servicios de integración de estos invitados están disponibles en el Centro de descarga en forma de archivo .cab. Las instrucciones para aplicar un archivo .cab están disponibles en esta entrada del blog de Microsoft TechCommunity. Si el host de Hyper-V utiliza Windows Server 2012 R2, o cualquier versión anterior, consulte la sección siguiente para obtener información sobre cómo instalar o actualizar los servicios de integración.
Instalación o actualización de servicios de integración para hosts de Hyper-V anteriores a Windows Server 2016 y Windows 10
Nota
Esto no es necesario para Windows Server 2016 y Windows 10, o las versiones posteriores.
En el caso de los hosts de Hyper-V anteriores a Windows Server 2016 y Windows 10, deberá instalar o actualizar manualmente los servicios de integración en los sistemas operativos invitados.
Para instalar o actualizar manualmente los servicios de integración:
Abra el administrador de Hyper-V.
Conexión a una máquina virtual. Haga clic con el botón derecho en la máquina virtual y seleccione Conectar.
En el menú Acción de Conexión a máquina virtual, seleccione Insertar disco de instalación de servicios de integración. Esta acción carga el disco de instalación en la unidad de DVD virtual. En función del sistema operativo invitado, es posible que tenga que iniciar la instalación manualmente desde al Explorador de archivos.
Cuando finalice la instalación, todos los servicios de integración estarán disponibles para su uso.