Condividi tramite


Installazione di volumi

Se si specifica un volume, i dispositivi vengono collegati all'istanza, ma non vengono montati e formattati. Se si preferisce che i volumi siano montati e formattati all'avvio del nodo, impostare l'attributo Mount facoltativo sul nome della configurazione del punto di montaggio da usare con tale volume:

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

Il punto di montaggio denominato data viene quindi definito nella sezione di configurazione del nodo:

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

La configurazione precedente specifica che si sta configurando un cyclecloud.mountpoint oggetto denominato data usando tutti i volumi che includono Mount = data. Questo volume verrà formattato con il ext4 file system e verrà visualizzato in /mount.

Dispositivi

Definendo i volumi con un mountpoint attributo, i nomi dei dispositivi verranno assegnati automaticamente e usati per un determinato punto di montaggio. Tuttavia, è possibile personalizzare un punto di montaggio con i propri nomi di dispositivo. Ad esempio:

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

In Azure i dispositivi vengono assegnati usando i numeri di unità logica (LUN)

Nella maggior parte dei casi, Azure CycleCloud assegnerà automaticamente i dispositivi. Specificare i dispositivi manualmente è un utilizzo avanzato e utile nei casi in cui l'immagine usata per il nodo include volumi che verranno collegati automaticamente perché l'allegato è stato inserito nell'immagine. Specificare i dispositivi manualmente può essere utile anche quando l'ordinamento dei dispositivi ha un significato speciale.

Nota

Il nome boot riservato viene usato per modificare il volume di avvio predefinito.

Utilizzo avanzato

L'esempio precedente era piuttosto semplice: il montaggio di un singolo snapshot preformattato in un nodo. Tuttavia, può essere eseguito un montaggio più avanzato, tra cui l'inserimento di più dispositivi, la crittografia e la formattazione di nuovi file system. Ad esempio, di seguito viene descritto come eseguire raid di diversi volumi e crittografarli prima di montarli come singolo dispositivo in 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"

L'esempio precedente mostra tre volumi che devono essere collegati al nodo denominato schedulere che il relativo punto di montaggio è denominato giant. La configurazione per il punto di montaggio indica che questi tre volumi devono essere raggruppati con RAID usando raid_level = 0 RAID0, formattati usando il xfs file system e il dispositivo risultante deve essere montato in /mnt/giant. Il dispositivo deve avere anche la crittografia a livello di blocco usando AES a 256 bit con una chiave di crittografia definita nel modello.

Crittografia dischi

CycleCloud supporta la crittografia lato server per i volumi del sistema operativo e dei dischi dati usando set di crittografia dischi di Azure. Azure usa chiavi gestite dalla piattaforma (PMK) per impostazione predefinita. Tuttavia, per usare chiavi gestite dal cliente , è prima necessario configurare un set di crittografia dischi di Azure e un Key Vault con la chiave. Seguire la documentazione qui per configurare il set di crittografia dischi.

Registrare l'oggetto Resource ID del set di crittografia dischi al momento della creazione. È possibile trovarla nel portale di Azure in Proprietà nel pannello Set di crittografia dischi .

Per applicare la crittografia del servizio di archiviazione con cmk ai volumi del nodo CycleCloud, aggiungere quanto segue alla [[[volume]]] definizione:

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

Ad esempio:

[[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 sintassi semplificata precedente è stata introdotta in CycleCloud 8.5. Per le versioni precedenti, è invece necessario usare Azure.Encryption.DiskEncryptionSetId :

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. Non è tuttavia necessario impostare Azure.Encryption.Type.

CycleCloud 8.5 supporta anche la crittografia dischi riservati. Questo schema protegge tutte le partizioni critiche del disco e rende il contenuto del disco protetto accessibile solo alla macchina virtuale. La crittografia dischi riservati è per disco e richiede che il tipo di crittografia di sicurezza sia impostato su DiskWithVMGuestState.

Ad esempio, per usare la crittografia riservata nel disco del sistema operativo:

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

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

Per informazioni dettagliate, vedere Informazioni di riferimento sulla configurazione del volume .

Opzioni di configurazione di montaggio

Opzione Definizione
Mountpoint Posizione in cui verranno montati i dispositivi dopo l'applicazione di eventuali configurazioni aggiuntive. Se non viene specificato un punto di montaggio, il nome del montaggio verrà utilizzato come parte del punto di montaggio. Ad esempio, se il montaggio è denominato "data", per impostazione predefinita il punto di montaggio sarà "/media/data".
opzioni Tutte le opzioni non predefinite da usare durante il montaggio del dispositivo.
fs_type File system da utilizzare per la formattazione e/o il montaggio. Le opzioni disponibili sono: ext3, ext4, xfs.
size Dimensioni del file system da creare durante la formattazione dei dispositivi. L'omissione di questo parametro userà tutto lo spazio nel dispositivo. È possibile specificare dimensioni usando M per megabyte (ad esempio 150M per 150 MB) G per gigabyte (ad esempio 200G per 20 GB) o percentuali (ad esempio, 100% per usare tutto lo spazio disponibile).
disabled Se true, il punto di montaggio non verrà creato. Utile per attivare o disattivare i montaggi automatici per i test e per disabilitare il montaggio temporaneo automatico. Valore predefinito: false.
raid_level Tipo di configurazione RAID da usare quando vengono usati più dispositivi/volumi. Il valore predefinito è 0, ovvero RAID0, ma è possibile usare altri livelli raid, ad esempio 1 o 10.
raid_device_symlink Quando viene creato un dispositivo raid, specificando questo attributo verrà creato un collegamento simbolico al dispositivo raid. Per impostazione predefinita, questo attributo non è impostato e pertanto non viene creato alcun collegamento simbolico. Questa impostazione deve essere impostata nei casi in cui è necessario accedere al dispositivo raid sottostante.
devices Questo è un elenco di dispositivi che devono comporre il punto di montaggio. In generale, questo parametro non deve essere specificato (poiché CycleCloud lo imposterà in base alle sezioni [[volume]]]), ma è possibile specificare manualmente i dispositivi, se necessario.
vg_name I dispositivi vengono configurati in Linux usando Gestione volumi logici (LVM). Il nome del gruppo di volumi verrà assegnato automaticamente, ma nei casi in cui viene usato un nome specifico, è possibile impostare questo attributo. Il valore predefinito è impostato su cyclecloud-vgX, dove X è un numero assegnato automaticamente.
lv_name I dispositivi vengono configurati in Linux usando Gestione volumi logici (LVM). Questo valore viene assegnato automaticamente e non richiede specifiche, ma se si vuole usare un nome di volume logico personalizzato, è possibile specificarlo usando questo attributo. Il valore predefinito è lv0.
order Specificando un ordine, è possibile controllare l'ordine in cui vengono montati i punti di montaggio. Il valore predefinito dell'ordine per tutti i punti di montaggio è 1000, ad eccezione di 'effimero' che è 0 (l'effimero viene sempre montato per impostazione predefinita). È possibile ignorare questo comportamento caso per caso in base alle esigenze.
encryption.bits Numero di bit da utilizzare durante la crittografia del file system. I valori standard sono 128 o 256 bit crittografia AES. Questo valore è obbligatorio se si desidera la crittografia.
encryption.key Chiave di crittografia da usare per crittografare il file system. Se omesso, verrà generata una chiave a 2048 bit casuale. La chiave generata automaticamente è utile quando si crittografano i dischi che non vengono mantenuti tra i riavvii (ad esempio, la crittografia di dispositivi temporanei).
encryption.name Nome del file system crittografato, utilizzato durante il salvataggio delle chiavi di crittografia. cyclecloud_cryptXIl valore predefinito è , dove X è un numero generato automaticamente.
encryption.key_path Il percorso del file in cui verrà scritta la chiave sul disco. /root/cyclecloud_cryptX.keyIl valore predefinito è , dove X è un numero generato automaticamente.

Impostazioni predefinite della configurazione di montaggio

Usare queste opzioni per impostare le impostazioni predefinite di sistema per i punti di montaggio, che verranno usati a meno che non sia specificato altrimenti:

Opzioni Definizione
cyclecloud.mount_defaults.fs_type Tipo di file system da usare per i montaggi, se non specificato in caso contrario. Impostazione predefinita: ext3/ext4 (a seconda della piattaforma).
cyclecloud.mount_defaults.size Dimensioni predefinite del file system da usare, se non specificato in caso contrario. Impostazione predefinita: 50 GB.
cyclecloud.mount_defaults.raid_level Livello raid predefinito da usare se più dispositivi vengono assegnati al punto di montaggio. Impostazione predefinita: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits Livello di crittografia predefinito, a meno che non sia specificato in caso contrario. Impostazione predefinita: non definita.