Configurar exportações de NFS

O Azure CycleCloud fornece suporte interno para exportar um sistema de arquivos de rede simples.

Criar uma exportação de NFS

Para exportar um diretório de um nó como um sistema de arquivos NFS compartilhado, forneça uma seção de configuração de montagem e type=nfs um caminho de exportação:

[[[configuration cyclecloud.exports.nfs_data]]]
type = nfs
export_path = /mnt/exports/nfs_data

A configuração cyclecloud.exports.nfs_data acima especifica que você está configurando o diretório /mnt/exports/nfs_data a ser exportado como um sistema de arquivos NFS chamado nfs_data. Os atributos na seção de configuração descrevem as propriedades exportadas do sistema de arquivos.

Observe que você só pode ter um fileserver por cluster, caso contrário, os mecanismos de descoberta interferirão.

Criando exportações

As exportações de NFS também podem ser configuradas em um modelo de cluster. Um nó pode ter um número arbitrário de exportações, mas apenas um nó em um cluster pode ser um fileserver. No exemplo abaixo, mostramos configurações a serem adicionadas a um nó para desabilitar as exportações de nfs padrão e adicionar um novo backup nomeado de exportação. Essa exportação estará disponível para outros nós por meio das configurações de montagem nesta página.

        [[[configuration]]]
        run_list = recipe[cshared::directories],recipe[cshared::server]
        cyclecloud.discoverable = true
        cshared.server.shared_dir = /shared
        cyclecloud.mounts.sched.disabled = true
        cyclecloud.mounts.shared.disabled = true
        cshared.server.legacy_links_disabled = true

        [[[configuration cyclecloud.exports.backup]]]
        type = nfs
        export_path = /mnt/raid/backup
        options = no_root_squash
        samba.enabled = false

Configurando um servidor NFS e um compartilhamento de arquivos

A maioria dos fluxos de trabalho HPC montará um NFS (sistema de arquivos de rede) em nós que podem ser usados para dados de aplicativo compartilhados e resultados do trabalho. Um nó de servidor de arquivos pode ser definido em um modelo de cluster do CycleCloud. As configurações de modelo fornecem um controle muito fino sobre as propriedades do sistema de arquivos. O sistema de arquivos local é definido por volumes e mounts o serviço NFS é definido por exports.

O exemplo a seguir reúne esses tópicos em um único compartilhamento de arquivo de nó.

    [[node fileserver]]
        Credentials = my-creds
        Region = northeurope
        MachineType = Standard_D16s_v3
        KeypairLocation = ~/.ssh/cyclecloud.pem
        SubnetId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1

        [[[configuration]]]
        run_list = recipe[cshared::server]
        cyclecloud.discoverable = true
        cyclecloud.mounts.sched.disabled = true
        cyclecloud.mounts.shared.disabled = true
        cshared.server.legacy_links_disabled = true

        [[[volume v00]]]
        SSD = true
        Size = $VolumeSize
        Mount = all

        [[[volume v01]]]
        SSD = true
        Size = $VolumeSize
        Mount = all

        [[[configuration cyclecloud.mounts.all]]]
        fs_type = ext4
        raid_level = 0
        options = noatime,nodiratime,nobarrier,nofail
        mointpoint = /data

        [[[configuration cyclecloud.exports.nfs_data]]]
        type = nfs
        export_path = /data/export

[parameters NFS]
    [[parameter VolumeSize]]
    DefaultValue = 1024

A configuration seção contém parâmetros de automação interpretados pelo nó quando ele é iniciado. Essas instruções são necessárias para invocar a configuração do NFS.

Este exemplo define dois volumes SSD ou Discos Premium do Azure, que serão montados em uma configuração RAID 0 para o ponto de montagem /dados. As duas volume seções definem os volumes enquanto a cyclecloud.mounts seção define como os volumes são montados.

Em exports seguida, a seção especifica qual diretório exportar. Como o export_path volume RAID está em queda, os dados gravados nessa exportação serão tratados pelo volume RAID.

Observação

Não há suporte para o uso de discos locais para um compartilhamento de arquivos. A volume seção refere-se ao Armazenamento de Disco do Azure.

Exportar opções de configuração

Opção Definição
tipo NECESSÁRIO O atributo de tipo deve ser definido para nfs todas as exportações de NFS para diferenciar de outros tipos de sistema de arquivos compartilhados.
export_path O caminho local para exportar como um sistema de arquivos NFS. Se o diretório ainda não existir, ele será criado.
proprietário A conta de usuário que deve ser dona do diretório exportado.
group O grupo do usuário que deve possuir o diretório exportado.
mode As permissões padrão do sistema de arquivos no diretório exportado.
network A interface de rede na qual o diretório é exportado. Padrão para todos: *.
sync Opção de exportação síncrona/assíncrona. Assume o padrão de true.
gravável A opção de exportação ro/rw para o sistema de arquivos. Assume o padrão de true.
opções Todas as opções não padrão a serem usadas ao exportar o sistema de arquivos.

Leitura Adicional