Compartir a través de


Configura 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 se va a configurar 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.

Solo puede tener un servidor de archivos por clúster. De lo contrario, los mecanismos de detección interfieren.

Creación de exportaciones

También puede configurar las exportaciones NFS en una plantilla de clúster. Un nodo puede tener cualquier número de exportaciones, pero solo un nodo de un clúster puede ser el servidor de archivos. En el ejemplo siguiente se muestran las configuraciones que se van a agregar a un nodo para deshabilitar las exportaciones NFS predeterminadas y agregar una nueva exportación denominada copia de seguridad. Otros nodos pueden acceder a esta exportación a través de las configuraciones de montaje descritas en este artículo.

        [[[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 montan un sistema de archivos de red (NFS) en nodos que puede usar para los datos de aplicación compartidos y los resultados del trabajo. Puede definir un nodo de servidor de archivos en una plantilla de clúster de CycleCloud. Puede establecer las propiedades del sistema de archivos a través de las configuraciones de plantilla. El sistema de archivos local se define mediante volumes y mounts, y se define el servicio NFS mediante exports.

En el siguiente ejemplo se reúnen estos conceptos 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 que el nodo interpreta 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 montan 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 montar los volúmenes.

La exports sección especifica qué directorio se va a exportar. Dado que export_path está bajo el volumen RAID, este volumen controla los datos escritos en esta exportación.

Nota:

No se pueden usar 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
tipo OBLIGATORIO Establezca el atributo de tipo nfs para todas las exportaciones NFS para diferenciarlo de otros tipos de sistemas de archivos compartidos.
export_path Establezca la ruta de acceso local para exportar como un sistema de archivos NFS. Si el directorio no existe, el proceso lo crea.
propietario Establezca la cuenta de usuario propietaria del directorio exportado.
grupo Establezca el grupo del usuario que posee el directorio exportado.
mode Establezca los permisos predeterminados del sistema de archivos en el directorio exportado.
red Establezca la interfaz de red en la que se exporta el directorio. El valor predeterminado es all: *.
sincronizar Establezca la opción de exportación sincrónica o asincrónica. Tiene como valor predeterminado true.
writable Establezca 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