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