Procedimientos recomendados para ejecutar FreeBSD en Hyper-V

Se aplica a: Windows Server 2022, Azure Stack HCI, versión 20H2; Windows Server 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10, Windows 8.1, Windows 8, Windows 7.1 y Windows 7

Este tema contiene una lista de recomendaciones para ejecutar FreeBSD como sistema operativo invitado en una máquina virtual de Hyper-V.

Habilitación de CARP en FreeBSD 10.2 en Hyper-V

El protocolo de redundancia de direcciones comunes (CARP, por sus siglas en inglés) permite que varios hosts compartan la misma dirección IP y el identificador de host virtual (VHID) para ayudar a proporcionar alta disponibilidad para uno o varios servicios. Si se produce un error en uno o varios hosts, los demás hosts toman el control de forma transparente para que los usuarios no noten un error de servicio. Para usar CARP en FreeBSD 10.2, siga las instrucciones del manual de FreeBSD y haga lo siguiente en el Administrador de Hyper-V.

  • Compruebe que la máquina virtual tiene un adaptador de red y que se le asigna un conmutador virtual. Seleccione la máquina virtual y elija Acciones>Configuración.

Screenshot of virtual machine settings with network adapter selected

  • Habilite la suplantación de direcciones MAC. Para ello:

    1. Seleccione la máquina virtual y elija Acciones>Configuración.

    2. Expanda Adaptador de red y seleccione Características avanzadas.

    3. Seleccione Habilitar suplantación de direcciones MAC.

Creación de etiquetas para dispositivos de disco

Durante el inicio, los nodos de dispositivo se crean a medida que se detectan nuevos dispositivos. Esto puede significar que los nombres de dispositivo pueden cambiar cuando se agregan nuevos dispositivos. Si recibe el mensaje ERROR DE MONTAJE RAÍZ durante el inicio, debe crear etiquetas para cada partición IDE para evitar conflictos y cambios. Para obtener información sobre cómo hacerlo, consulte Etiquetado de dispositivos de disco. A continuación se muestran ejemplos.

Importante

Realice una copia de seguridad de fstab antes de realizar cambios.

  1. Reinicie el sistema en modo de usuario único. Esto se puede lograr seleccionando la opción de menú de arranque 2 para FreeBSD 10.3+ (opción 4 para FreeBSD 8.x) o realizando un "arranque -s" desde el símbolo del sistema de arranque.

  2. En el modo de usuario único, cree etiquetas GEOM para cada una de las particiones de disco DIE enumeradas en fstab (tanto raíz como intercambio). A continuación se muestra un ejemplo de FreeBSD 10.3.

    # cat  /etc/fstab
    # Device           Mountpoint      FStype  Options   Dump   Pass#
    /dev/da0p2         /               ufs     rw        1       1
    /dev/da0p3         none            swap    sw        0       0
    
    # glabel  label rootfs  /dev/da0p2
    # glabel  label swap   /dev/da0p3
    # exit
    

    Puede encontrar información adicional sobre las etiquetas GEOM en: Etiquetado de dispositivos de disco.

  3. El sistema continuará con el arranque multiusuario. Una vez completado el arranque, edite /etc/fstab y reemplace los nombres de dispositivo convencionales por sus respectivas etiquetas. La última /etc/fstab tendrá este aspecto:

    # Device                Mountpoint      FStype  Options         Dump    Pass#
    /dev/label/rootfs       /               ufs     rw              1       1
    /dev/label/swap         none            swap    sw              0       0
    
  4. El sistema ahora se puede reiniciar. Si todo salió bien, aparecerá normalmente y se montará:

    # mount
    /dev/label/rootfs on / (ufs, local, journaled soft-updates)
    devfs on /dev (devfs, local, mutilabel)
    

Uso de un adaptador de red inalámbrica como conmutador virtual

Si el conmutador virtual del host se basa en el adaptador de red inalámbrica, reduzca el tiempo de expiración de ARP a 60 segundos mediante el siguiente comando. De lo contrario, las redes de la máquina virtual pueden dejar de funcionar después de un tiempo.

   # sysctl net.link.ether.inet.max_age=60

Vea también