Configuración de exportaciones NFS

Azure CycleCloud proporciona compatibilidad integrada para exportar un sistema de archivos de red simple.

Creación de una exportación de NFS

Para exportar un directorio desde un nodo como un sistema de archivos NFS compartido, proporcione una sección de configuración de montaje con type=nfs y una ruta de acceso de exportación:

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

La configuración cyclecloud.exports.nfs_data anterior especifica que está configurando el directorio /mnt/exports/nfs_data que se va a exportar como un sistema de archivos NFS denominado nfs_data. Los atributos de la sección de configuración describen las propiedades exportadas del sistema de archivos.

Tenga en cuenta que solo puede tener un servidor de archivos por clúster; de lo contrario, los mecanismos de detección interferirán.

Creación de exportaciones

Las exportaciones NFS también se pueden configurar en una plantilla de clúster. Un nodo puede tener un número arbitrario de exportaciones, pero solo un nodo de un clúster puede ser un servidor de archivos. En el ejemplo siguiente se muestran las configuraciones para agregar a un nodo para deshabilitar las exportaciones nfs predeterminadas y agregar una nueva exportación denominada copia de seguridad. Esta exportación estará disponible para otros nodos a través de las configuraciones de montaje de esta 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

Configuración de un servidor NFS y un recurso compartido de archivos

La mayoría de los flujos de trabajo de HPC montarán un sistema de archivos de red (NFS) en nodos que se pueden usar para los datos de aplicación compartidos y los resultados del trabajo. Un nodo de servidor de archivos se puede definir en una plantilla de clúster de CycleCloud. Las configuraciones de plantilla proporcionan un control muy fino sobre las propiedades del sistema de archivos. El sistema de archivos local se define mediante volumes y mounts el servicio NFS se define mediante exports.

En el ejemplo siguiente se extraen estos temas en un único recurso compartido de archivos de nodo.

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

La configuration sección contiene parámetros de automatización interpretados por el nodo cuando se inicia. Estas instrucciones son necesarias para invocar la configuración de NFS.

En este ejemplo se definen dos volúmenes SSD o discos Premium de Azure, que se montarán en una configuración RAID 0 en el punto de montaje /data. Las dos volume secciones definen los volúmenes mientras la cyclecloud.mounts sección define cómo se montan los volúmenes.

A continuación, exports la sección especifica el directorio que se va a exportar. Dado que export_path se encuentra bajo el volumen RAID, el volumen RAID controlará los datos escritos en esta exportación.

Nota:

No se admite el uso de discos locales para un recurso compartido de archivos. La volume sección hace referencia a Azure Disk Storage.

Opciones de configuración de exportación

Opción Definición
type OBLIGATORIO El atributo type debe establecerse nfs en para que todas las exportaciones NFS se diferencien de otros tipos de sistema de archivos compartidos.
export_path Ruta de acceso local que se va a exportar como un sistema de archivos NFS. Si el directorio aún no existe, se creará.
owner La cuenta de usuario que debe poseer el directorio exportado.
group Grupo del usuario que debe poseer el directorio exportado.
mode Permisos predeterminados del sistema de archivos en el directorio exportado.
red Interfaz de red en la que se exporta el directorio. El valor predeterminado es all: *.
sync Opción de exportación sincrónica o asincrónica. Tiene como valor predeterminado true.
writable La opción de exportación ro/rw para el sistema de archivos. Tiene como valor predeterminado true.
opciones Cualquier opción no predeterminada que se va a usar al exportar el sistema de archivos.

Lecturas adicionales