Montando Volumes
Especificar um volume anexa os dispositivos à sua instância, mas não monta e formata o dispositivo. Se você preferir ter os volumes montados e formatados quando o nó for iniciado, defina o atributo Mount
opcional como o nome da configuração do ponto de montagem que deseja usar com esse volume:
[[[volume reference-data]]]
Size = 100
Mount = data # The name of the mountpoint to use with this volume
O ponto de montagem chamado data
é definido na seção de configuração no nó:
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /mount
fs_type = ext4
A configuração acima especifica que você está configurando um cyclecloud.mountpoint
nomeado data
usando todos os volumes que incluem Mount = data
. Esse volume seria formatado com o ext4
sistema de arquivos e apareceria em /mount
.
Dispositivos
Ao definir volumes com um mountpoint
atributo, os nomes de dispositivo serão atribuídos e usados automaticamente para um determinado ponto de montagem. No entanto, você pode personalizar um ponto de montagem com seus próprios nomes de dispositivo. Por exemplo:
[[node scheduler]]
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /data
Azure.LUN=0
No Azure, os dispositivos são atribuídos usando LUN (Números de Unidade Lógica)
Na maioria dos casos, o Azure CycleCloud atribuirá automaticamente dispositivos para você. Especificar dispositivos manualmente é uso avançado e útil nos casos em que a imagem que você está usando para seu nó tem volumes que serão anexados automaticamente porque seu anexo foi assado na imagem. Especificar os dispositivos manualmente também pode ser útil quando a ordenação de dispositivos tem um significado especial.
Observação
O nome boot
reservado é usado para modificar o volume de inicialização interno.
Uso Avançado
O exemplo anterior era bastante simples: montar uma única instantâneo pré-formatada em um nó. No entanto, pode ocorrer uma montagem mais avançada, incluindo a RAIDing de vários dispositivos juntos, a criptografia e a formatação de novos sistemas de arquivos. Por exemplo, o seguinte descreve como ATACAR vários volumes juntos e criptografá-los antes de montá-los como um único dispositivo em um nó:
[[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"
O exemplo acima mostra que há três volumes que devem ser anexados ao nó chamado scheduler
e que seu ponto de montagem é chamado giant
. A configuração do ponto de montagem diz que esses três volumes devem ser RAIDed juntos usando raid_level = 0
para RAID0, formatado usando o xfs
sistema de arquivos e o dispositivo resultante deve ser montado em /mnt/giant
. O dispositivo também deve ter criptografia em nível de bloco usando o AES de 256 bits com uma chave de criptografia, conforme definido no modelo.
Disk Encryption
O CycleCloud dá suporte à SSE (criptografia do lado do servidor) para volumes de disco de dados e sistema operacional usando conjuntos de criptografia de disco do Azure. O Azure usa PMK (Chaves Gerenciadas por Plataforma ) por padrão. No entanto, para usar as CMK (Chaves Gerenciadas pelo Cliente), você deve primeiro configurar um Conjunto de Criptografia de Disco do Azure e um Key Vault com sua chave. Siga a documentação aqui para configurar seu Conjunto de Criptografia de Disco.
Registre o Resource ID
do Conjunto de Criptografia de Disco ao criá-lo. Você pode encontrá-lo no Portal do Azure em Propriedades na folha Conjuntos de Criptografia de Disco .
Para aplicar a SSE com CMK aos volumes do nó CycleCloud, adicione o seguinte à sua [[[volume]]]
definição:
DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME
Por exemplo:
[[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
Observação
A sintaxe simplificada acima foi introduzida no CycleCloud 8.5. Para versões anteriores, você deve usar Azure.Encryption.DiskEncryptionSetId
:
Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME
.
No entanto, você não precisa definir Azure.Encryption.Type
.
O CycleCloud 8.5 também dá suporte à criptografia de disco confidencial. Esse esquema protege todas as partições críticas do disco e torna o conteúdo do disco protegido acessível somente para a VM. A criptografia de disco confidencial é por disco e exige que o Tipo de Criptografia de Segurança seja definido como DiskWithVMGuestState
.
Por exemplo, para usar a criptografia confidencial no disco do sistema operacional:
[[node scheduler]]
[[[volume boot]]]
ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
SecurityEncryptionType = DiskWithVMGuestState
Consulte a Referência de Configuração de Volume para obter detalhes.
Opções de configuração de montagem
Opção | Definição |
---|---|
Mountpoint | O local em que os dispositivos serão montados após a aplicação de qualquer configuração adicional. Se um ponto de montagem não for especificado, o nome da montagem será usado como parte do ponto de montagem. Por exemplo, se sua montagem fosse chamada de 'data', o ponto de montagem seria padrão para '/media/data'. |
opções | Todas as opções não padrão a serem usadas ao montar o dispositivo. |
fs_type | O sistema de arquivos a ser usado ao formatar e/ou montar. As opções disponíveis são: ext3, ext4, xfs. |
tamanho | O tamanho do sistema de arquivos a ser criado ao formatar os dispositivos. Omitir esse parâmetro usará todo o espaço no dispositivo. O tamanho pode ser especificado usando M para megabytes (por exemplo, 150M para 150 MB) G para gigabytes (por exemplo, 200G para 20 GB) ou percentuais (por exemplo, 100% para usar todo o espaço disponível). |
desabilitado | Se true, o ponto de montagem não será criado. Útil para alternar rapidamente as montagens para teste e desabilitar a montagem efêmera automática. Padrão: falso. |
raid_level | O tipo de configuração RAID a ser usado quando vários dispositivos/volumes estão sendo usados. O padrão é um valor de 0, o que significa RAID0, mas outros níveis de raid podem ser usados, como 1 ou 10. |
raid_device_symlink | Quando um dispositivo raid é criado, especificar esse atributo criará um link simbólico para o dispositivo raid. Por padrão, esse atributo não é definido e, portanto, nenhum symlink é criado. Isso deve ser definido nos casos em que você precisa de acesso ao dispositivo de ataque subjacente. |
dispositivos | Esta é uma lista de dispositivos que devem compor o ponto de montagem. Em geral, esse parâmetro não deve precisar ser especificado (como CycleCloud definirá isso para você com base nas seções [[[volume]]]), mas você pode especificar manualmente os dispositivos, se assim desejar. |
vg_name | Os dispositivos são configurados no Linux usando o Gerenciador de Volume Lógico (LVM). O nome do grupo de volumes será atribuído automaticamente, mas nos casos em que um nome específico é usado, esse atributo pode ser definido. O padrão é definido como cyclecloud-vgX , em que X é um número atribuído automaticamente. |
lv_name | Os dispositivos são configurados no Linux usando o Gerenciador de Volume Lógico (LVM). Esse valor é atribuído automaticamente e não precisa de especificação, mas se você quiser usar um nome de volume lógico personalizado, ele poderá ser especificado usando esse atributo. Assume o padrão de lv0 . |
ordem | Ao especificar uma ordem, você pode controlar a ordem na qual os pontos de montagem são montados. O valor de ordem padrão para todos os pontos de montagem é 1000, exceto para 'efêmero' que é 0 (efêmero é sempre montado primeiro por padrão). Você pode substituir esse comportamento caso a caso, conforme necessário. |
encryption.bits | O número de bits a serem usados ao criptografar o sistema de arquivos. Os valores padrão são 128 ou 256 bits de criptografia AES. Esse valor será necessário se a criptografia for desejada. |
encryption.key | A chave de criptografia a ser usada ao criptografar o sistema de arquivos. Se omitida, uma chave aleatória de 2048 bits será gerada. A chave gerada automaticamente é útil para quando você está criptografando discos que não persistem entre reinicializações (por exemplo, criptografando dispositivos efêmeros). |
encryption.name | O nome do sistema de arquivos criptografado, usado ao salvar chaves de criptografia. O padrão é cyclecloud_cryptX , em que X é um número gerado automaticamente. |
encryption.key_path | O local do arquivo no qual a chave será gravada no disco. O padrão é /root/cyclecloud_cryptX.key , em que X é um número gerado automaticamente. |
Padrões de configuração de montagem
Use estas opções para definir os padrões do sistema para pontos de montagem, que serão usados, a menos que seja especificado de outra forma:
Opções | Definição |
---|---|
cyclecloud.mount_defaults.fs_type | O tipo de sistema de arquivos a ser usado para montagens, se não for especificado de outra forma. Padrão: ext3/ext4 (dependendo da plataforma). |
cyclecloud.mount_defaults.size | O tamanho padrão do sistema de arquivos a ser usado, se não for especificado de outra forma. Padrão: 50 GB. |
cyclecloud.mount_defaults.raid_level | O nível de ataque padrão a ser usado se vários dispositivos forem atribuídos ao ponto de montagem. Padrão: 0 (RAID0). |
cyclecloud.mount_defaults.encryption.bits | O nível de criptografia padrão, a menos que especificado de outra forma. Padrão: indefinido. |