Compartilhar via


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 schedulere 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.