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 scheduler
y 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-vgX en , 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. |