Montar volúmenes

Al especificar un volumen, se adjuntan los dispositivos a la instancia, pero no se monta ni se da formato al dispositivo. Si prefiere tener los volúmenes montados y formateados cuando se inicia el nodo, establezca el atributo Mount opcional en el nombre de la configuración del punto de montaje que desea usar con ese volumen:

[[[volume reference-data]]]
Size = 100
Mount = data              # The name of the mountpoint to use with this volume

A continuación, el punto de montaje denominado data se define en la sección de configuración del nodo:

[[[configuration cyclecloud.mounts.data]]]
mountpoint = /mount
fs_type = ext4

La configuración anterior especifica que va a configurar un cyclecloud.mountpoint denominado data con todos los volúmenes que incluyen Mount = data. Este volumen tendría formato con el sistema de ext4 archivos y aparecería en /mount.

Dispositivos

Al definir volúmenes con un mountpoint atributo, los nombres de dispositivo se asignarán y usarán automáticamente para un punto de montaje determinado. Sin embargo, puede personalizar un punto de montaje con sus propios nombres de dispositivo. Por ejemplo:

[[node scheduler]]
  [[[configuration cyclecloud.mounts.data]]]
  mountpoint = /data
  Azure.LUN=0

En Azure, los dispositivos se asignan mediante números de unidad lógica (LUN)

En la mayoría de los casos, Azure CycleCloud asignará automáticamente dispositivos. La especificación manual de dispositivos es un uso avanzado y resulta útil en los casos en los que la imagen que usa para el nodo tiene volúmenes que se asociarán automáticamente porque sus datos adjuntos se han incorporado a la imagen. Especificar los dispositivos a mano también puede ser útil cuando la ordenación de los dispositivos tiene un significado especial.

Nota

El nombre boot reservado se usa para modificar el volumen de arranque integrado.

Uso avanzado

El ejemplo anterior era bastante sencillo: montar una única instantánea con formato previo en un nodo. Sin embargo, se puede realizar un montaje más avanzado, incluida la agrupación de varios dispositivos, el cifrado y el formato de nuevos sistemas de archivos. Por ejemplo, a continuación se describe cómo unir varios volúmenes y cifrarlos antes de montarlos como un único dispositivo en un nodo:

[[node scheduler]]
....
  [[[volume vol1]]]
  VolumeId = vol-1234abcd
  Mount = giant

  [[[volume vol2]]]
  VolumeId = vol-5678abcd
  Mount = giant

  [[[volume vol3]]]
  VolumeId = vol-abcd1234
  Mount = giant

  [[[configuration cyclecloud.mounts.giant]]]
  mountpoint = /mnt/giant
  fs_type = xfs
  raid_level = 0
  encryption.bits = 256
  encryption.key = "0123456789abcdef9876543210"

En el ejemplo anterior se muestran tres volúmenes que se deben adjuntar al nodo denominado schedulery que su punto de montaje se denomina giant. La configuración del punto de montaje indica que estos tres volúmenes se deben organizar conjuntamente con raid_level = 0 para RAID0, formateado mediante el xfs sistema de archivos y el dispositivo resultante debe montarse en /mnt/giant. El dispositivo también debe tener cifrado de nivel de bloque mediante AES de 256 bits con una clave de cifrado tal y como se define en la plantilla.

Disk Encryption

CycleCloud admite el cifrado del lado servidor (SSE) para volúmenes de discos de datos y del sistema operativo mediante conjuntos de Azure Disk Encryption. Azure usa claves administradas de plataforma (PMK) de forma predeterminada. Sin embargo, para usar claves administradas por el cliente (CMK), primero debe configurar un conjunto de Azure Disk Encryption y un Key Vault con la clave. Siga el documento aquí para configurar el conjunto de cifrado de disco.

Registre el Resource ID del conjunto de cifrado de disco al crearlo. Puede encontrarlo en Azure Portal en Propiedades en la hoja Conjuntos de cifrado de disco .

Para aplicar SSE con CMK a los volúmenes del nodo cycleCloud, agregue lo siguiente a la [[[volume]]] definición:

DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME

Por ejemplo:

[[node scheduler]]
....
  [[[volume encryptedVolume]]]
  VolumeId = vol-1234abcd
  Mount = encrypted

  # Insert your RESOURCE ID here:
  DiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet

  [[[configuration cyclecloud.mounts.encrypted]]]
  mountpoint = /mnt/encrypted
  fs_type = ext4
  raid_level = 0

Nota

La sintaxis simplificada anterior se introdujo en CycleCloud 8.5. En el caso de las versiones anteriores, debe usar Azure.Encryption.DiskEncryptionSetId en su lugar:

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. Sin embargo, no es necesario establecer Azure.Encryption.Type.

CycleCloud 8.5 también admite el cifrado de disco confidencial. Este esquema protege todas las particiones críticas del disco y hace que el contenido del disco protegido sea accesible solo para la máquina virtual. El cifrado de disco confidencial es por disco y requiere que el tipo de cifrado de seguridad se establezca en DiskWithVMGuestState.

Por ejemplo, para usar el cifrado confidencial en el disco del sistema operativo:

[[node scheduler]]
  [[[volume boot]]]

  ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
  SecurityEncryptionType = DiskWithVMGuestState

Consulte la Referencia de configuración de volumen para obtener más información.

Opciones de configuración de montaje

Opción Definición
Mountpoint El lugar donde se montarán los dispositivos después de aplicar cualquier configuración adicional. Si no se especifica un punto de montaje, el nombre del montaje se usará como parte del punto de montaje. Por ejemplo, si el montaje se llamaba "data", el punto de montaje tendría como valor predeterminado "/media/data".
opciones Cualquier opción no predeterminada que se va a usar al montar el dispositivo.
fs_type Sistema de archivos que se va a usar al dar formato o montar. Las opciones disponibles son: ext3, ext4, xfs.
tamaño Tamaño del sistema de archivos que se va a crear al dar formato a los dispositivos. Si se omite este parámetro, se usará todo el espacio del dispositivo. El tamaño se puede especificar mediante M para megabytes (por ejemplo, 150 M para 150 MB) G para gigabytes (por ejemplo, 200G para 20 GB) o porcentajes (por ejemplo, 100 % para usar todo el espacio disponible).
deshabilitado Si es true, no se creará el punto de montaje. Útil para la alternancia rápida de montajes para pruebas y para deshabilitar el montaje efímero automático. Valor predeterminado: false.
raid_level Tipo de configuración RAID que se va a usar cuando se usan varios dispositivos o volúmenes. El valor predeterminado es 0, lo que significa RAID0, pero se pueden usar otros niveles de raid como 1 o 10.
raid_device_symlink Cuando se crea un dispositivo raid, al especificar este atributo se creará un vínculo simbólico al dispositivo raid. De forma predeterminada, este atributo no se establece y, por lo tanto, no se crea ningún vínculo simbólico. Debe establecerse en los casos en los que necesite acceder al dispositivo raid subyacente.
devices Se trata de una lista de dispositivos que deben componer el punto de montaje. En general, este parámetro no debe especificarse (ya que CycleCloud lo establecerá en función de las secciones [[[volumen]]], pero puede especificar manualmente los dispositivos si así lo desea.
vg_name Los dispositivos se configuran en Linux mediante el Administrador de volúmenes lógicos (LVM). El nombre del grupo de volúmenes se asignará automáticamente, pero en los casos en los que se usa un nombre específico, se puede establecer este atributo. El valor predeterminado se establece cyclecloud-vgXen , donde X es un número asignado automáticamente.
lv_name Los dispositivos se configuran en Linux mediante el Administrador de volúmenes lógicos (LVM). Este valor se asigna automáticamente y no necesita especificación, pero si desea usar un nombre de volumen lógico personalizado, se puede especificar mediante este atributo. Tiene como valor predeterminado lv0.
orden Al especificar un orden, puede controlar el orden en el que se montan los puntos de montaje. El valor de orden predeterminado para todos los puntos de montaje es 1000, excepto "efímero", que es 0 (siempre se monta primero de forma predeterminada). Puede invalidar este comportamiento por caso según sea necesario.
encryption.bits Número de bits que se van a usar al cifrar el sistema de archivos. Los valores estándar son 128 o 256 el cifrado AES de bits. Este valor es necesario si se desea el cifrado.
encryption.key Clave de cifrado que se va a usar al cifrar el sistema de archivos. Si se omite, se generará una clave de 2048 bits aleatoria. La clave generada automáticamente es útil para cuando se cifran discos que no se conservan entre reinicios (por ejemplo, el cifrado de dispositivos efímeros).
encryption.name Nombre del sistema de archivos cifrado, que se usa al guardar claves de cifrado. El valor predeterminado es cyclecloud_cryptX, donde X es un número generado automáticamente.
encryption.key_path Ubicación del archivo en la que se escribirá la clave en el disco. El valor predeterminado es /root/cyclecloud_cryptX.key, donde X es un número generado automáticamente.

Valores predeterminados de configuración de montaje

Use estas opciones para establecer los valores predeterminados del sistema para los puntos de montaje, que se usarán a menos que se especifique lo contrario:

Opciones Definición
cyclecloud.mount_defaults.fs_type Tipo de sistema de archivos que se va a usar para montajes, si no se especifica de otro modo. Valor predeterminado: ext3/ext4 (dependiendo de la plataforma).
cyclecloud.mount_defaults.size Tamaño predeterminado del sistema de archivos que se va a usar, si no se especifica de otro modo. Valor predeterminado: 50 GB.
cyclecloud.mount_defaults.raid_level Nivel de raid predeterminado que se va a usar si se asignan varios dispositivos al punto de montaje. Valor predeterminado: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits Nivel de cifrado predeterminado a menos que se especifique lo contrario. Valor predeterminado: sin definir.