VMware (Español)/Installing Arch as a guest (Español)
Este artículo trata sobre la instalación de Arch Linux en un producto VMware, como Player (Plus), Fusion o Workstation.
Controladores en el kernel
-
vmw_balloon
- Controlador de gestión de la memoria física. Actúa como un «globo» que puede inflarse para recuperar páginas de memoria física reservándolas en el sistema huésped e invalidándolas en el monitor, liberando las páginas de la máquina subyacente para que puedan ser destinadas a otros huéspedes. También se puede desinflar para permitir el uso de más memoria física para los huéspedes. La memoria de la máquina virtual desasignada puede ser reutilizada en el anfitrión sin necesidad de terminar el huésped. -
vmw_pvscsi
- Para usar Paravirtual SCSI (PVSCSI) HBA de VMware. -
vmw_vmci
- Interfaz de comunicación de la máquina virtual. Permite la comunicación de alta velocidad entre anfitrión y huésped en un entorno virtual a través del dispositivo virtual VMCI. -
vsock
- Protocolo Socket Virtual. Es similar al protocolo de conexión TCP/IP, que permite la comunicación entre máquinas virtuales e hipervisor o anfitrión. -
vmw_vsock_vmci_transport
- Implementa un transporte VMCI para sockets virtuales. -
vmwgfx
- Para la aceleración 3D. Se trata de activar un modo KMS por controlador DRM para el hardware virtual VMware SVGA2. -
vmxnet3
- Para configurar la tarjeta de red virtual ethernet vmxnet3 de VMware.
Herramientas VMware frente a Open-VM-Tools
En 2007, VMware lanzó grandes particiones de VMware Tools bajo licencia LGPL como Open-VM-Tools. Las herramientas oficiales no están disponibles separadamente para Arch Linux.
Originalmente, las herramientas de VMware proporcionaban los mejores controladores de red y de almacenamiento, junto con funcionalidades para otras características como la sincronización horaria. Sin embargo, desde hace tiempo los controladores para el adaptador de red/SCSI son parte del kernel de Linux, y las herramientas de VMware solo son necesarias para incorporar características adicionales.
Open-VM-Tools
Módulos
El paquete open-vm-tools-dkmsAUR[enlace roto: package not found] viene con los siguientes módulos:
-
vmblock
- Controlador del sistema de archivos. Permite la funcionalidad de arrastrar y soltar entre anfitrión y huésped (sustituido por la utilidadvmware-vmblock-fuse
). -
vmci
- Interfaz de comunicación de alto rendimiento entre el anfitrión y el huésped. -
vmhgfs
- Controlador del sistema de archivos. Permite compartir recursos entre anfitrión y huésped. -
vsock
- Sockets para VMCI (Virtual Machine Communication Interface). -
vmsync
- Controlador experimental de sincronización del sistema de archivos. Activa el sistema de archivos quiescing cuando crea copias de seguridad e instantáneas. -
vmxnet
- Soporte para el viejo adaptador de red VMXNET.
Utilidades
El paquete open-vm-tools viene concretamente con las siguientes utilidades:
-
vmtoolsd
- Servicio responsable de informar del estado de la máquina virtual. -
vmware-checkvm
- Herramienta para comprobar si un programa se está ejecutando en el sistema huésped. -
vmware-toolbox-cmd
- Herramienta para obtener información de la máquina virtual por el anfitrión. -
vmware-user-suid-wrapper
- Herramienta para activar el uso compartido del portapapeles (copiar/pegar) entre anfitrión y huésped. -
vmware-vmblock-fuse
- Utilidad del sistema de archivos. Permite la funcionalidad arrastrar y soltar entre anfitrión y huésped a través de FUSE (sistema de archivos en el espacio de usuario). -
vmware-xferlogs
- Volcado de la información del registro/depuración de errores del archivo de registro de la máquina virtual.
Instalación
Instale open-vm-tools desde los repositorios oficiales y open-vm-tools-dkmsAUR[enlace roto: package not found] desde AUR.
Open-VM-Tools lee la información sobre la versión desde /etc/arch-release
, que está vacía:
# cat /proc/version > /etc/arch-release
Inície vmtoolsd.service
y actívelo en el arranque, si lo desea.
vmtoolsd
, donde el servicio no es capaz de apagar correctamente y se cuelga durante 60 segundos. Una solución rápida se describe en el foro.Herramientas oficiales de VMware
Módulos
-
vmblock
- Controlador del sistema de archivos. Permite la funcionalidad de arrastrar y soltar entre anfitrión y huésped (sustituido por la utilidadvmware-vmblock-fuse
). -
vmci
- Interfaz de comunicación de alto rendimiento entre anfitrión y huésped. -
vmmon
- Monitor de la máquina virtual. -
vmnet
- Controlador de red. -
vsock
- Sockets de VMCI.
Instalación (desde el huésped)
Instale las dependencias: base-devel (para compilar), net-tools (para ifconfig
, usado por el programa de instalación) y linux-headers (para las cabeceras del kernel).
A continuación, cree los directorios de inicio bogus para el instalador:
# for x in {0..6}; do mkdir -p /etc/init.d/rc$x.d; done
El instalador se puede montar entonces:
# mount /dev/cdrom /mnt
Extráigalo (por ejemplo en /root
):
# tar xf /mnt/VMwareTools*.tar.gz -C /root
E, inícielo:
# perl /root/vmware-tools-distrib/vmware-install.pl
Puede ignorar los siguientes fallos de compilación:
- Tarjeta de red virtual VMNEXT 3
- "Warning: This script could not find mkinitrd or update-initramfs and cannot remake the initrd file!"
Reinicie la máquina virtual:
# systemctl reboot
Inicie sesión y ejecute VMware Tools:
# /etc/init.d/rc6.d/K99vmware-tools start
Configuración de Xorg
Instale las dependencias: xf86-input-vmmouse, xf86-video-vmware y svga-dri[enlace roto: package not found].
Si arranca con graphical.target
, esto está casi terminado. /etc/xdg/autostart/vmware-user.desktop
obtendrá al arranque la configuración de la mayor parte de las cosas que se necesitan para trabajar con la máquina virtual.
Sin embargo, si el arranque es con multi-user.target
o utilizando una configuración poco frecuente (por ejemplo, varios monitores), entonces, vmtoolsd.service
tiene que ser activado.
Consejos y trucos
Carpetas compartidas
Compartimos una carpeta seleccionando Edit virtual machine settings > Options > Shared Folders > Always enabled, creando así un nuevo recurso compartido.
Ahora, debería ser capaz de ver las carpetas compartidas mediante la ejecución de la orden vmware-hgfsclient:
$ vmware-hgfsclient
Añadir una regla para cada recurso compartido:
/etc/fstab
.host:/<shared_folder> /home/user1/shares vmhgfs defaults 0 0
Crear y montar las carpetas compartidas:
# mkdir /home/user1/shares # mount /home/user1/shares
También es posible montarlas temporalmente:
# mount -t vmhgfs .host:/<shared_folder> /home/user1/shares
Esto se puede resolver temporalmente ejecutando la orden «modprobe vmhgfs», pero para que sea cargado automáticamente durante el arranque, es necesario agregar el módulo vmhgfs a mkinitcpio.conf.
Activar en el arranque
Para que las carpetas compartidas funcionen es necesario haber cargado el controlador vmhgfs
. Solo tiene que crear los siguientes .service
:
/etc/systemd/system/mnt-hgfs.mount
[Unit] Description=Load VMware shared folders ConditionPathExists=.host:/<shared_folder> ConditionVirtualization=vmware [Mount] What=.host:/<shared_folder> Where=/home/user1/shares Type=vmhgfs Options=defaults,noatime [Install] WantedBy=multi-user.target
/etc/systemd/system/mnt-hgfs.automount
[Unit] Description=Load VMware shared folders ConditionPathExists=.host:/<shared_folder> ConditionVirtualization=vmware [Automount] Where=/home/user1/shares [Install] WantedBy=multi-user.target
Activar el target de montaje con:
# systemctl enable mnt-hgfs.automount
Base de datos mlocate prune
Al usar mlocate, es inútil tratar de indexar los directorios compartidos en locate DB
. Por lo tanto, añada los directorios de PRUNEPATHS
en /etc/updatedb
.
Aceleración 3D
Si no se selecciona en el huésped al tiempo de crearlo, la aceleración 3D se puede activar en: Edit virtual machine settings > Hardware > Display > Accelerate 3D graphics.
Sincronizar la hora
Configurar la sincronización horaria en una máquina virtual es importante; las fluctuaciones son inevitables al producirse con mayor facilidad en un sistema huésped, en comparación con un equipo físico. Esto se debe principalmente al uso compartido de la CPU por más de un sistema huésped.
Hay 2 opciones para configurar la sincronización horaria: desde el sistema anfitrión o desde una fuente externa.
Máquina anfitriona como fuente de la hora
Para utilizar el sistema anfitrión como fuente del tiempo:
# vmware-toolbox-cmd timesync enable
Para sincronizar el sistema huésped después de suspender el anfitrión:
# hwclock --hctosys --localtime
Servidor externo como fuente de la hora
Ver NTP.
Adaptador SCSI Paravirtual
VMware Paravirtual SCSI (PVSCSI) adapters son los adaptadores de almacenamiento de alto rendimiento para VMware ESXi que pueden dar como resultado un mayor rendimiento y menor utilización de CPU. Los adaptadores PVSCSI son los más adecuados para los entornos, donde el hardware o las aplicaciones demandan una cantidad muy alta de rendimiento de E/S. cpio -p linux
El tipo de adaptador SCSI de VMware Paravirtual
está disponible en la configuración de la máquina virtual.
Solución de problemas
Problemas con el ratón
Los siguientes problemas pueden ocurrir con el ratón:
- La característica automática de agarrar/soltar no mantiene el agarre automáticamente cuando el cursor entra en la ventana.
- Imput con retraso.
- Los clics no se registran en algunas aplicaciones.
VMware intenta optimizar automáticamente el ratón para juegos. Si experimenta problemas, se recomienda su desactivación: Edit > Preferences > Input > Optimize mouse for games: Never
En otro caso, podría ser necesario desactivar el evento catchall
en 10-evdev.conf
:
/etc/X11/xorg.conf.d/10-evdev.conf
#Section "InputClass" # Identifier "evdev pointer catchall" # MatchIsPointer "on" # MatchDevicePath "/dev/input/event*" # Driver "evdev" #EndSection
Botones desaparecidos
Si no es por defecto, todos los botones del ratón deberían estar funcionando después de añadir mouse.vusb.useBasicMouse = "FALSE"
a .vmx
.
~/vmware/<Virtual Machine name>/<Virtual Machine name>.vmx
mouse.vusb.useBasicMouse = "FALSE"
Problemas en el arranque
Tiempo de arranque lento
Es posible que vea los siguientes errores si la función hot-add de la memoria de VMWare está activada.
- add_memory failed
- acpi_memory_enable_device() error
Desactive la función hot-add de la memoria ajustando mem.hotadd = "FALSE"
en .vmx
.
~/vmware/<Virtual Machine name>/<Virtual Machine name>.vmx
mem.hotadd = "FALSE"
Cuelgues al apagar/reiniciar
Ajuste el tiempo de espera para el servicio vmtoolsd (por defecto 90 segundos).
/etc/systemd/system/vmtoolsd.service.d/timeout.conf
[Service] TimeoutStopSec=1
Problemas de reajuste automático
Si VMWare se está estirando en lugar de cambiar la resolución, incluso con el servicio del sistema activado, puede que tenga que añadir los módulos a mkinitcpio.conf.
/etc/mkinitcpio.conf
MODULES="vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmwgfx"
No se olvide de ejecutar:
# mkinitcpio -p linux