Vai al contenutoNaviga tra le pagine: pagina precedente [tasto di scelta p]/pagina successiva [tasto di scelta n]
documentation.suse.com / Documentazione di SUSE Enterprise Storage 7.1 / Guida all'amministrazione e alle operazioni / Accesso ai dati del cluster  / NFS Ganesha
Si applica a SUSE Enterprise Storage 7.1

25 NFS Ganesha

NFS Ganesha è un server NFS che viene eseguito in uno spazio di indirizzamento dell'utente come parte del kernel del sistema operativo. Con NFS Ganesha, è possibile collegare un meccanismo di memorizzazione, come Ceph, e accedervi da qualsiasi client NFS. Per istruzioni sull'installazione, vedere Sezione 8.3.6, «Distribuzione di NFS Ganesha».

Nota
Nota: prestazioni di NFS Ganesha

A causa dell'aumento dell'overhead del protocollo e della latenza aggiuntiva causati dagli hop di rete extra tra il client e lo storage, l'accesso a Ceph tramite un gateway NFS potrebbe ridurre notevolmente le prestazioni dell'applicazione se confrontate con quelle del CephFS nativo.

Ogni servizio NFS Ganesha è composto da una gerarchia di configurazione contenente:

  • Un ganesha.conf di bootstrap

  • Un oggetto di configurazione comune RADOS per ciascun servizio

  • Un oggetto di configurazione RADOS per ciascuna esportazione

La configurazione di bootstrap è la configurazione minima per l'avvio del daemon nfs-ganesha all'interno di un container. Ciascuna configurazione di bootstrap conterrà una direttiva %url che include eventuali configurazioni aggiuntive dell'oggetto di configurazione comune RADOS. L'oggetto di configurazione comune può includere ulteriori direttive %url per ciascuna delle esportazioni NFS definite negli oggetti di configurazione RADOS di esportazione.

Struttura di NFS Ganesha
Figura 25.1: Struttura di NFS Ganesha

25.1 Creazione di un servizio NFS

Per specificare la distribuzione dei servizi Ceph, si consiglia di creare un file con formattazione YAML contenente la specifica dei servizi da distribuire. È possibile creare un file della specifica separato per ogni tipo di servizio oppure specificare più tipi di servizi (o tutti) in un unico file.

A seconda dell'opzione scelta, per creare un servizio NFS Ganesha, sarà necessario aggiornare o creare un file con formattazione YAML pertinente. Per ulteriori informazioni sulla creazione del file, vedere Sezione 8.2, «Specifica del servizio e del posizionamento».

Dopo aver aggiornato o creato il file eseguire quanto riportato di seguito per creare un servizio nfs-ganesha:

cephuser@adm > ceph orch apply -i FILE_NAME

25.2 Avvio o riavvio di NFS Ganesha

Importante
Importante

L'avvio del servizio NFS Ganesha non esporta automaticamente un file system CephFS. Per esportare un file system CephFS, creare un file di configurazione di esportazione. Per ulteriori dettagli, fare riferimento a Sezione 25.4, «Creazione di un'esportazione NFS».

Per avviare il servizio NFS Ganesha, eseguire:

cephuser@adm > ceph orch start nfs.SERVICE_ID

Per riavviare il servizio NFS Ganesha, eseguire:

cephuser@adm > ceph orch restart nfs.SERVICE_ID

Se si desidera riavviare soltanto un singolo daemon NFS Ganesha, eseguire:

cephuser@adm > ceph orch daemon restart nfs.SERVICE_ID

Quando si avvia o riavvia NFS Ganesha, il timeout di tolleranza per NFS v4 è di 90 secondi. Durante la moratoria, le nuove richieste dai client vengono rifiutate attivamente. Pertanto, è possibile che i client subiscano un rallentamento delle richieste durante la moratoria di NFS.

25.3 Elenco di oggetti nel pool di recupero NFS

Eseguire quanto riportato di seguito per elencare gli oggetti nel pool di recupero NFS:

cephuser@adm > rados --pool POOL_NAME --namespace NAMESPACE_NAME ls

25.4 Creazione di un'esportazione NFS

È possibile creare un'esportazione NFS nel Ceph Dashboard oppure manualmente, dalla riga di comando. Per creare l'esportazione mediante il Ceph Dashboard, fare riferimento al Capitolo 7, Gestione di NFS Ganesha e più specificamente alla Sezione 7.1, «Creazione di esportazioni NFS».

Per creare manualmente un'esportazione NFS, creare un file di configurazione per l'esportazione. Ad esempio, un file /tmp/export-1 con il seguente contenuto:

EXPORT {
    export_id = 1;
    path = "/";
    pseudo = "/";
    access_type = "RW";
    squash = "no_root_squash";
    protocols = 3, 4;
    transports = "TCP", "UDP";
    FSAL {
        name = "CEPH";
        user_id = "admin";
        filesystem = "a";
        secret_access_key = "SECRET_ACCESS_KEY";
    }
}

Dopo aver creato e salvato il file di configurazione per la nuova esportazione, eseguire il seguente comando per creare l'esportazione:

rados --pool POOL_NAME --namespace NAMESPACE_NAME put EXPORT_NAME EXPORT_CONFIG_FILE

Ad esempio:

cephuser@adm > rados --pool example_pool --namespace example_namespace put export-1 /tmp/export-1
Nota
Nota

Modificare il blocco FSAL in modo che includa l'ID utente cephx desiderato e la chiave di accesso segreta.

25.5 Verifica dell'esportazione NFS

NFS v4 crea un elenco di esportazioni nella radice di uno pseudo file system. È possibile verificare che le condivisioni NFS vengano esportate montando / del nodo del server NFS Ganesha:

# mount -t nfs nfs_ganesha_server_hostname:/ /path/to/local/mountpoint
# ls /path/to/local/mountpoint cephfs
Nota
Nota: NFS Ganesha è disponibile solo nella versione v4

Per default, cephadm configurerà un server NFS v4. NFS v4 non interagisce con rpcbind o con il daemon mountd. Gli strumenti del client NFS, come showmount, non visualizzeranno nessuna esportazione configurata.

25.6 Montaggio dell'esportazione NFS

Per montare la condivisione NFS esportata su un host client, eseguire:

# mount -t nfs nfs_ganesha_server_hostname:/ /path/to/local/mountpoint

25.7 Cluster NFS Ganesha multipli

È possibile definire più cluster NFS Ganesha per:

  • Separare i cluster NFS Ganesha per l'accesso a CephFS.