Partilhar via


Volumes de Montagem

Especificar um volume anexa os dispositivos à sua instância, mas não monta e formate o dispositivo. Se preferir ter os volumes montados e formatados quando o nó for iniciado, defina o atributo Mount opcional para o nome da configuração do ponto de montagem que pretende utilizar com esse volume:

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

O ponto de montagem com o nome data é, em seguida, definido na secção de configuração no nó:

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

A configuração acima especifica que está a configurar um cyclecloud.mountpoint nome data com todos os volumes que incluem Mount = data. Este volume seria formatado com o ext4 sistema de ficheiros e apareceria em /mount.

Dispositivos

Ao definir volumes com um mountpoint atributo, os nomes dos dispositivos serão automaticamente atribuídos e utilizados para um determinado ponto de montagem. No entanto, pode personalizar um ponto de montagem com os 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 através de Números de Unidade Lógica (LUN)

Na maioria dos casos, o Azure CycleCloud irá atribuir automaticamente dispositivos por si. Especificar dispositivos manualmente é uma utilização avançada e útil nos casos em que a imagem que está a utilizar para o nó tem volumes que serão automaticamente anexados porque o anexo foi integrado na imagem. Especificar os dispositivos manualmente também pode ser útil quando a ordenação dos dispositivos tem um significado especial.

Nota

O nome boot reservado é utilizado para modificar o volume de arranque incorporado.

Utilização Avançada

O exemplo anterior era bastante simples: montar um único instantâneo pré-formatado num nó. No entanto, pode ocorrer uma montagem mais avançada, incluindo a criação de RAIDing de vários dispositivos em conjunto, a encriptação e a formatação de novos sistemas de ficheiros. Por exemplo, o seguinte irá descrever como criar vários volumes raid em conjunto e encriptá-los antes de os montar como um único dispositivo num 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 existem três volumes que devem ser anexados ao nó com o nome scheduler, e que o ponto de montagem é denominado giant. A configuração do ponto de montagem diz que estes três volumes devem ser RAIDed em conjunto através raid_level = 0 de RAID0, formatados com o xfs sistema de ficheiros e o dispositivo resultante deve ser montado em /mnt/giant. O dispositivo também deve ter encriptação ao nível do bloco com a AES de 256 bits com uma chave de encriptação, conforme definido no modelo.

Disk Encryption

O CycleCloud suporta a encriptação do lado do servidor (SSE) para volumes de SO e disco de dados com os Conjuntos de Encriptação de Discos do Azure. Por predefinição, o Azure utiliza As Chaves Geridas da Plataforma (PMK). No entanto, para utilizar as Chaves Geridas pelo Cliente (CMK), primeiro tem de configurar um Conjunto de Encriptação de Discos do Azure e um Key Vault com a sua chave. Siga a documentação aqui para configurar o Conjunto de Encriptação de Discos.

Grave o Resource ID do Conjunto de Encriptação de Discos quando o criar. Pode encontrá-lo no Portal do Azure em Propriedades no painel Conjuntos de Encriptação de Discos .

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

Nota

A sintaxe simplificada acima foi introduzida no CycleCloud 8.5. Para versões anteriores, tem de utilizar Azure.Encryption.DiskEncryptionSetId :

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. No entanto, não precisa de definir Azure.Encryption.Type.

O CycleCloud 8.5 também suporta encriptação de disco confidencial. Este esquema protege todas as partições críticas do disco e torna o conteúdo do disco protegido acessível apenas à VM. A encriptação de disco confidencial é por disco e requer que o Tipo de Encriptação de Segurança seja definido como DiskWithVMGuestState.

Por exemplo, para utilizar a encriptação Confidencial no disco do SO:

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

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

Veja a Referência de Configuração do Volume para obter detalhes.

Opções de Configuração de Montagem

Opção Definição
ponto de montagem O local onde os dispositivos serão montados após qualquer configuração adicional ser aplicada. Se não for especificado um ponto de montagem, o nome da montagem será utilizado como parte do ponto de montagem. Por exemplo, se a montagem tiver o nome "dados", o ponto de montagem seria predefinido como "/media/dados".
opções Quaisquer opções não predefinidas a utilizar ao montar o dispositivo.
fs_type O sistema de ficheiros a utilizar ao formatar e/ou montar. As opções disponíveis são: ext3, ext4, xfs.
size O tamanho do sistema de ficheiros a criar ao formatar os dispositivos. Omitir este parâmetro utilizará todo o espaço no dispositivo. O tamanho pode ser especificado com M para megabytes (por exemplo, 150 M para 150 MB) G para gigabytes (por exemplo, 200G para 20 GB) ou percentagens (por exemplo, 100% para utilizar todo o espaço disponível).
desativado Se for verdade, o ponto de montagem não será criado. Útil para a agregação rápida de montagens para teste e para desativar a montagem efémera automática. Predefinição: false.
raid_level O tipo de configuração RAID a utilizar quando estão a ser utilizados vários dispositivos/volumes. A predefinição é um valor de 0, ou seja, RAID0, mas podem ser utilizados outros níveis de raid, como 1 ou 10.
raid_device_symlink Quando um dispositivo raid é criado, especificar este atributo irá criar uma ligação simbólica para o dispositivo raid. Por predefinição, este atributo não está definido e, por conseguinte, não é criado nenhum symlink. Esta definição deve ser definida nos casos em que precisa de acesso ao dispositivo raid subjacente.
dispositivos Esta é uma lista de dispositivos que devem compor o ponto de montagem. Em geral, este parâmetro não deve ter de ser especificado (uma vez que o CycleCloud irá defini-lo para si com base nas secções [[[volume]]]), mas pode especificar manualmente os dispositivos, se assim o desejar.
vg_name Os dispositivos são configurados no Linux com o Gestor de Volumes Lógicos (LVM). O nome do grupo de volumes será atribuído automaticamente, mas nos casos em que é utilizado um nome específico, este atributo pode ser definido. A predefinição está definida como cyclecloud-vgX, em que X é um número atribuído automaticamente.
lv_name Os dispositivos são configurados no Linux com o Gestor de Volumes Lógicos (LVM). Este valor é atribuído automaticamente e não precisa de especificação, mas se quiser utilizar um nome de volume lógico personalizado, pode ser especificado com este atributo. Predefinições para lv0.
order Ao especificar uma encomenda, pode controlar a ordem pela qual os pontos de montagem são montados. O valor de ordem predefinido para todos os pontos de montagem é 1000, exceto "efémero" que é 0 (efémero é sempre montado primeiro por predefinição). Pode substituir este comportamento caso a caso, conforme necessário.
encryption.bits O número de bits a utilizar ao encriptar o sistema de ficheiros. Os valores padrão são 128 ou 256 bits encriptação AES. Este valor é necessário se a encriptação for pretendida.
encryption.key A chave de encriptação a utilizar ao encriptar o sistema de ficheiros. Se omitido, será gerada uma chave de 2048 bits aleatória. A chave gerada automaticamente é útil para quando está a encriptar discos que não persistem entre reinícios (por exemplo, encriptar dispositivos efémeros).
encryption.name O nome do sistema de ficheiros encriptado, utilizado ao guardar chaves de encriptação. A predefinição cyclecloud_cryptXé , em que X é um número gerado automaticamente.
encryption.key_path A localização do ficheiro em que a chave será escrita no disco. A predefinição /root/cyclecloud_cryptX.keyé , em que X é um número gerado automaticamente.

Predefinições de Configuração de Montagem

Utilize estas opções para definir as predefinições do sistema para pontos de montagem, que serão utilizados, salvo especificação em contrário:

Opções Definição
cyclecloud.mount_defaults.fs_type O tipo de sistema de ficheiros a utilizar para montagens, se não for especificado de outra forma. Predefinição: ext3/ext4 (dependendo da plataforma).
cyclecloud.mount_defaults.size O tamanho predefinido do sistema de ficheiros a utilizar, se não for especificado de outra forma. Predefinição: 50 GB.
cyclecloud.mount_defaults.raid_level O nível de raid predefinido a utilizar se forem atribuídos vários dispositivos ao ponto de montagem. Predefinição: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits O nível de encriptação predefinido, salvo especificação em contrário. Predefinição: indefinido.