Ejercicio: implementación de máquinas virtuales en clúster mediante discos compartidos de Azure

Completado

El director de tecnología de su empresa debe proporcionar una prueba de concepto para usar discos compartidos de Azure a fin de implementar una aplicación en clúster en máquinas virtuales de Azure. Le ha pedido que pruebe escenarios en clúster con máquinas virtuales Linux y Windows.

Nota:

La primera vez que active un espacio aislado y acepte los términos, la cuenta de Microsoft se asocia a un nuevo directorio de Azure denominado Espacio aislado de Microsoft Learn. Además, se le agrega a la suscripción de Concierge especial.

Nota:

Puede usar Azure PowerShell o la CLI de Azure para administrar máquinas virtuales de Windows y Linux en Azure. En este caso, con fines de aprendizaje, si elige la opción de Windows, usará Azure PowerShell. Si elige Linux, usará la CLI de Azure.

Nota:

Este ejercicio es opcional. Si le interesa completar este ejercicio, deberá crear una suscripción de Azure antes de empezar. Si no tiene una cuenta de Azure o no quiere crear una en este momento, puede leer las instrucciones para comprender la información que se está presentando.

Implementación de máquinas virtuales de Linux mediante discos compartidos de Azure

Para proporcionar una prueba de concepto, implemente dos máquinas virtuales de Linux que ejecuten el sistema operativo Ubuntu Server. También probará los comandos de reservas persistentes SCSI (SCSI PR) en el disco compartido de Azure.

En este ejercicio, explorará la implementación de discos compartidos de Azure y realizará las siguientes tareas:

  • Creación de un disco compartido de Azure
  • Cree un conjunto de disponibilidad.
  • Implementación de dos máquinas virtuales que ejecutan el sistema operativo Ubuntu Server y conexión de un disco compartido a ambas máquinas virtuales
  • Prueba de los comandos de SCSI PR

Creación de un disco compartido de Azure

Use Azure Cloud Shell con la CLI de Azure para crear un disco compartido de Azure.

az disk create -g <rgn>[sandbox resource group name]</rgn> -n mySharedDisk --size-gb 1024 --sku Premium_LRS --max-shares 2

Crear un conjunto de disponibilidad

Ejecute el comando siguiente para crear un conjunto de disponibilidad:

az vm availability-set create \
  --resource-group <rgn>[sandbox resource group name]</rgn> \
  --name myAvailabilitySet \
  --platform-fault-domain-count 2 \
  --platform-update-domain-count 2

Creación de dos máquinas virtuales que ejecutan Ubuntu Server

Mientras está en Cloud Shell, ejecute los siguientes comandos para crear dos máquinas virtuales que ejecuten el sistema operativo Ubuntu:

for i in `seq 1 2`; 
do
   az vm create --resource-group <rgn>[sandbox resource group name]</rgn> --name myVM$i --availability-set myAvailabilitySet --size Standard_DS1_v2 --vnet-name myVnet --subnet mySubnet --image Ubuntu2204 --admin-username azureuser --generate-ssh-keys
done

Conexión de un disco compartido de Azure a ambas máquinas virtuales

Mientras está en Cloud Shell, conecte el disco compartido de Azure a ambas máquinas virtuales mediante los siguientes comandos:

diskId=$(az disk show -g <rgn>[sandbox resource group name]</rgn> -n mySharedDisk --query 'id' -o tsv)

# attach the shared disk to the first VM.
az vm disk attach -g <rgn>[sandbox resource group name]</rgn> --vm-name myVM1 --name $diskId

# attach the shared disk to the second VM.
az vm disk attach -g <rgn>[sandbox resource group name]</rgn> --vm-name myVM2 --name $diskId

Cuando haya terminado esta tarea, el disco compartido se conectará a dos máquinas virtuales al mismo tiempo.

Prueba de SCSI PR mediante las herramientas "sg3-utils"

  1. Mientras está en Cloud Shell, conéctese a la primera máquina virtual mediante el protocolo Secure Shell (SSH).

  2. Use el comando siguiente para recuperar las direcciones IP de VM1:

    myPublicIP1=$(az network public-ip show --resource-group <rgn>[sandbox resource group name]</rgn> --name myVM1PublicIP --query 'ipAddress' --output tsv)
    
  3. Conéctese a la primera máquina virtual mediante SSH:

    ssh azureuser@$myPublicIP1
    
  4. Cuando se le pregunte Are you sure you want to continue connecting? (yes/no) (¿Está seguro de que quiere seguir conectándose? [Sí/No]), escriba yes (Sí) y seleccione ENTRAR.

  5. Para instalar sg3-utils, ejecute los siguientes comandos:

    sudo apt-get update
    sudo apt-get install -y sg3-utils
    
  6. Para leer la reserva actual, escriba el siguiente comando:

    sudo sg_persist /dev/sdc -s
    

    Este comando identifica las reservas actuales que existen para el disco compartido. Como es la primera vez que lo ejecuta, no debería haber nuevas reservas.

    Screenshot of disk status without V M registration.

  7. Ejecute el siguiente comando para registrar la nueva clave de reserva 1234 en myVM1:

    sudo sg_persist --register --device /dev/sdc --param-rk=0 --param-sark=1234 --out
    

    Este comando proporciona el registro SCSI_PR, lo que garantiza que VM1 puede leer o escribir en el nuevo disco compartido.

  8. Vuelva a leer las claves de VM1:

    sudo sg_persist /dev/sdc -s
    

    El comando debería mostrar una reserva en el disco compartido para VM1.

    Screenshot of disk status with V M 1 registration.

  9. Cierre la sesión SSH:

    exit
    
  10. Conéctese a la segunda máquina virtual mediante SSH con el siguiente comando:

    myPublicIP2=$(az network public-ip show --resource-group <rgn>[sandbox resource group name]</rgn> --name myVM2PublicIP --query 'ipAddress' --output tsv)
    
    ssh azureuser@$myPublicIP2
    
  11. Cuando se le pregunte Are you sure you want to continue connecting? (yes/no) (¿Está seguro de que quiere seguir conectándose? [Sí/No]), escriba yes (Sí) y seleccione ENTRAR.

  12. Para instalar sg3-utils, ejecute los siguientes comandos:

    # Install sg3-utils
    sudo apt-get update
    sudo apt-get install -y sg3-utils
    
    # Register the key 1235 on VM2. This command will provide SCSI_PR registration for VM2, so it can read or write on the shared disk.
    sudo sg_persist --register --device /dev/sdc --param-rk=0 --param-sark=1235 --out
    
    # Read back the keys for the shared disk. Now it should show 2 reservation to the shared disk for both VM1 and VM2.
    sudo sg_persist /dev/sdc -s
    

    Disk status with VM1 and VM2 registrations.

  13. Cierre la sesión SSH:

    exit
    
  14. Conéctese a myVM1 mediante SSH:

    ssh azureuser@$myPublicIP1
    
  15. Ejecute los comandos siguientes:

    # Reserve the device with exclusive write permission. This command will ensure that VM1 has exclusive write to the disk, while any write from VM2 will not succeed.
    sudo sg_persist --reserve --device /dev/sdc --param-rk=1234 --prout-type=1 --out
    
    # Check the reservation on the device.
    sudo sg_persist /dev/sdc -s
    

    Screenshot of disk status with V M 1 reservation.

  16. Cierre la sesión SSH:

    exit
    
  17. Conéctese a myVM2 mediante SSH:

    ssh azureuser@$myPublicIP2
    
  18. Ejecute los comandos siguientes:

    # Preempt the DEVICE from **myVM2**. This command will take over the exclusive write operation from VM1. Now VM2 has write access to the disk.
    sudo sg_persist --preempt --device /dev/sdc --param-rk=1235 --param-sark=1234 --prout-type=5 --out
    
    # Report capabilities. Verify that reservation exist for VM2 with key 1235.
    sudo sg_persist /dev/sdc -c
    

    Screenshot of disk status with V M 2 reservation.

    # Unregister from **myVM2**. This command release access to the shared disk.
    sudo sg_persist --out --register --param-rk=1235 --param-sark=0 --device /dev/sdc
    
    # Report capabilities.
    sudo sg_persist /dev/sdc -s
    
  19. Cierre la sesión SSH:

    exit
    

Implementación de máquinas virtuales de Windows mediante discos compartidos de Azure

Para demostrar aún más la funcionalidad del disco compartido de Azure, implemente dos máquinas virtuales de Windows que ejecuten el sistema operativo Windows Server. Después, probará los comandos de reservas persistentes SCSI (SCSI PR) en el disco compartido de Azure.

En este ejercicio, explorará la implementación de discos compartidos de Azure y realizará las siguientes tareas:

  • Creación de un disco compartido de Azure
  • Cree un conjunto de disponibilidad.
  • Implementación de dos máquinas virtuales que ejecutan el sistema operativo Windows Server y configuración de servicios en clúster
  • Prueba de los comandos de SCSI PR

Creación de un disco compartido de Azure

  1. En Cloud Shell, puede cambiar de la CLI de Azure a Azure PowerShell con el siguiente comando:

    # Switch to PowerShell
    pwsh
    
    # Create Azure Shared disk
    $dataDiskConfig=New-AzDiskConfig -Location "EastUs" -DiskSizeGB 1024 -AccountType Premium_LRS -CreateOption Empty -MaxSharesCount 2
    $dataDisk=New-AzDisk -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -DiskName "mySharedDisk1" -Disk $dataDiskConfig
    

Crear un conjunto de disponibilidad

  1. Ejecute el comando siguiente para crear un conjunto de disponibilidad:

    # Create a managed availability set by using New-AzAvailabilitySet with the -sku aligned parameter.
    New-AzAvailabilitySet `
      -Location "EastUS" `
      -Name "myAvailabilitySet1" `
      -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
      -Sku aligned `
      -PlatformFaultDomainCount 2 `
      -PlatformUpdateDomainCount 2
    

Creación de dos máquinas virtuales que ejecutan Windows Server

  1. Mientras está en Cloud Shell, ejecute los siguientes comandos para definir un objeto de credencial para iniciar sesión en las máquinas virtuales:

    $cred = Get-Credential
    
  2. Use las credenciales siguientes:

    • Usuario: Student
    • Contraseña: Pa55w.rd1234
  3. Cree dos máquinas virtuales que ejecuten el sistema operativo Windows:

    for ($i=3; $i-le4; $i++)
    {
        New-AzVm `
          -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
          -Name "myVM$i" `
          -Location eastus `
          -VirtualNetworkName "myVnet1" `
          -SubnetName "mySubnet" `
          -ImageName "MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest" `
          -SecurityGroupName "myNetworkSecurityGroup1" `
          -PublicIpAddressName "myPublicIpAddress$i" `
          -AvailabilitySetName "myAvailabilitySet1" `
          -Credential $cred
    }
    

Conexión de un disco compartido de Azure a ambas máquinas virtuales

  1. Use el siguiente comando para conectar el disco compartido de Azure a la primera máquina virtual:

    $vm3 = Get-AzVM -Name "myvm3" -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    $vm3 = Add-AzVMDataDisk -VM $vm3 -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
    
    Update-AzVM -VM $vm3 –ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    
  2. Conecte el disco compartido de Azure a la segunda máquina virtual:

    $vm4 = Get-AzVM -Name "myvm4" -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    $vm4 = Add-AzVMDataDisk -VM $vm4 -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
    
    Update-AzVM -VM $vm4 –ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Instalación del servicio de clústeres de conmutación por error de Windows en myVM3

  1. Inicie sesión en Azure Portal y asegúrese de que está en la suscripción de espacio aislado.

  2. En el campo Buscar recursos, servicios y documentos (G+/), escriba máquinas virtuales y seleccione máquinas virtuales.

  3. Elija la máquina virtual myVM3 en la barra de herramientas, seleccione Conectar y, luego, RDP.

  4. Seleccione Descargar archivo RDP y conéctese con las credenciales siguientes:

    • Nombre de usuario: Student
    • Contraseña: Pa55w.rd1234
  5. En Administrador del servidor, en el menú Herramientas, seleccione el complemento Administración de equipos.

  6. En la consola de administración de Administración del equipo (local), seleccione Administración de discos.

  7. En la ventana Inicializar disco, compruebe que está seleccionado Disco 2 y seleccione Aceptar.

  8. Haga clic con el botón derecho o seleccione la etiqueta negra en Disco 2 y seleccione New Simple Volume (Nuevo volumen simple). Acepte los valores predeterminados para crear un volumen simple.

  9. Cierre la consola de Administración de equipos.

  10. En Administrador del servidor, seleccione Agregar roles y características. Se abre el asistente para Agregar roles y características.

  11. En el Asistente para Agregar roles y características, en la página Antes de empezar, seleccione Siguiente.

  12. En la página Seleccionar tipo de instalación, seleccione Instalación basada en características o en roles y, luego, seleccione Siguiente.

  13. En la página Selección de servidor, seleccione Siguiente.

  14. En la pantalla Seleccionar roles de servidor, selecciona Siguiente.

  15. En la página Seleccionar características, active la casilla Clúster de conmutación por error.

  16. Compruebe que la casilla Incluir herramientas de administración (si es aplicable) está activada. Seleccione Agregar características y, a continuación, seleccione Siguiente.

  17. En la página Confirmación, active la casilla Reiniciar automáticamente el servidor de destino en caso necesario y seleccione . Seleccione Instalar para instalar el rol Clústeres de conmutación por error.

Nota:

Una vez que se haya instalado la característica de clúster de conmutación por error, la máquina virtual myVM3 se reiniciará automáticamente.

Instalación del servicio de clústeres de conmutación por error de Windows en myVM4

  1. En Azure Portal, en el campo Buscar recursos, servicios y documentos (G+/), escriba máquinas virtuales y seleccione máquinas virtuales.

  2. Elija la máquina virtual myVM4 en la barra de herramientas, seleccione Conectar y, luego, RDP.

  3. Seleccione Descargar archivo RDP y conéctese con las credenciales siguientes:

    • Nombre de usuario: Student
    • Contraseña: Pa55w.rd1234
  4. En Administrador del servidor, en el menú Herramientas, seleccione el complemento Administración de equipos.

  5. En la consola de administración de Administración del equipo (local), seleccione Administración de discos.

  6. En la ventana Inicializar disco, compruebe que está seleccionado Disco 2 y seleccione Aceptar.

  7. Haga clic con el botón derecho o seleccione la etiqueta negra en Disco 2 y seleccione New Simple Volume (Nuevo volumen simple). Acepte los valores predeterminados para crear un volumen simple.

  8. Cierre la consola de Administración de equipos.

  9. En Administrador del servidor, seleccione Agregar roles y características. Se abre el asistente para Agregar roles y características.

  10. En el Asistente para Agregar roles y características, en la página Antes de empezar, seleccione Siguiente.

  11. En la página Seleccionar tipo de instalación, seleccione Instalación basada en características o en roles y, luego, seleccione Siguiente.

  12. En la página Selección de servidor, seleccione Siguiente.

  13. En la pantalla Seleccionar roles de servidor, selecciona Siguiente.

  14. En la página Seleccionar características, active la casilla Clúster de conmutación por error.

  15. Compruebe que la casilla Incluir herramientas de administración (si es aplicable) está activada. Seleccione Agregar características y, a continuación, seleccione Siguiente.

  16. En la página Confirmación, active la casilla Reiniciar automáticamente el servidor de destino en caso necesario y seleccione . Seleccione Instalar para instalar el rol Clústeres de conmutación por error.

Nota:

Una vez que se haya instalado la característica de clúster de conmutación por error, la máquina virtual myVM4 se reiniciará automáticamente.

Prueba del almacenamiento para el servicio de clústeres de conmutación por error de Windows en myVM3

  1. En Azure Portal, en el campo Buscar recursos, servicios y documentos (G+/), escriba y seleccione máquinas virtuales.

  2. En la barra de herramientas, elija la primera máquina virtual (myVM3), seleccione Conectar y, luego, RDP.

  3. Seleccione Descargar archivo RDP y conéctese con las credenciales siguientes:

    • Nombre de usuario: Student
    • Contraseña: Pa55w.rd1234
  4. En Administrador del servidor, en el menú Herramientas, seleccione Administrador de clústeres de conmutación por error.

  5. En Administrador de clústeres de conmutación por error, en el menú Acción, seleccione Validar configuración. Se abrirá el Asistente para validar una configuración.

  6. En el Asistente para validar una configuración, en la página Antes de empezar, seleccione Siguiente.

  7. En la página Seleccionar servidores o un clúster, en el campo Escribir nombre, escriba myVM3 y seleccione Agregar.

  8. En la página Seleccionar servidores o un clúster, en el campo Escribir nombre, escriba myVM4 y seleccione Agregar.

  9. Seleccione Siguiente para continuar con la prueba de la configuración del clúster.

  10. En la página Opciones de pruebas, elija Ejecutar solo las pruebas que seleccione y haga clic en Siguiente.

  11. Desactive todas las demás pruebas, active solo la casilla Almacenamiento y seleccione Siguiente.

  12. En la página Confirmación, seleccione Siguiente.

  13. Compruebe que todas las pruebas se han realizado correctamente y seleccione Finalizar.

  14. Cierre la conexión de RDP.

Nota:

Para seguir creando el clúster, deberá cumplir los requisitos previos adicionales, como usar Microsoft Entra Domain Services, y crear una dirección IP estática que se usará con el equilibrador de carga interno.

Este paso está fuera del ámbito de este ejercicio.