Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Documentação do SUSE Enterprise Storage 7.1 / Guia de Administração e Operações / Acessando os dados do cluster / NFS Ganesha
Aplica-se a SUSE Enterprise Storage 7.1

25 NFS Ganesha

NFS Ganesha é um servidor NFS executado em um espaço de endereço do usuário, e não como parte do kernel do sistema operacional. Com o NFS Ganesha, você pode conectar seu próprio mecanismo de armazenamento, como Ceph, e acessá-lo de qualquer cliente NFS. Para obter instruções, consulte o Seção 8.3.6, “Implantando o NFS Ganesha”.

Nota
Nota: Desempenho do NFS Ganesha

Devido ao aumento da sobrecarga do protocolo e da latência adicional causado por saltos extras de rede entre o cliente e o armazenamento, o acesso ao Ceph por meio de um NFS Gateway pode reduzir significativamente o desempenho do aplicativo quando comparado ao CephFS nativo.

Cada serviço do NFS Ganesha consiste em uma hierarquia de configuração que contém:

  • Um ganesha.conf de boot

  • Um objeto de configuração comum RADOS por serviço

  • Um objeto de configuração RADOS por exportação

A configuração de boot é a configuração mínima para iniciar o daemon nfs-ganesha em um container. Cada configuração de boot incluirá uma diretiva %url com qualquer configuração adicional do objeto de configuração comum RADOS. O objeto de configuração comum pode incluir diretivas %url adicionais para cada uma das exportações NFS definidas nos objetos de configuração RADOS de exportação.

Estrutura do NFS Ganesha
Figura 25.1: Estrutura do NFS Ganesha

25.1 Criando um serviço do NFS

A maneira recomendada de especificar a implantação dos serviços do Ceph é criar um arquivo no formato YAML com a especificação dos serviços que você pretende implantar. Você pode criar um arquivo de especificação separado para cada tipo de serviço ou especificar vários (ou todos) tipos de serviços em um arquivo.

Dependendo do que você escolheu fazer, será necessário atualizar ou criar um arquivo relevante no formato YAML para criar um serviço do NFS Ganesha. Para obter mais informações sobre como criar o arquivo, consulte o Seção 8.2, “Especificação de serviço e posicionamento”.

Após atualizar ou criar o arquivo, execute o seguinte comando para criar um serviço nfs-ganesha:

cephuser@adm > ceph orch apply -i FILE_NAME

25.2 Iniciando ou reiniciando o NFS Ganesha

Importante
Importante

A inicialização do serviço NFS Ganesha não exporta automaticamente um sistema de arquivos CephFS. Para exportar um sistema de arquivos CephFS, crie um arquivo de configuração de exportação. Consulte a Seção 25.4, “Criando uma exportação do NFS” para obter mais detalhes.

Para iniciar o serviço do NFS Ganesha, execute:

cephuser@adm > ceph orch start nfs.SERVICE_ID

Para reiniciar o serviço do NFS Ganesha, execute:

cephuser@adm > ceph orch restart nfs.SERVICE_ID

Para reiniciar apenas um daemon do NFS Ganesha, execute:

cephuser@adm > ceph orch daemon restart nfs.SERVICE_ID

Quando o NFS Ganesha é iniciado ou reiniciado, ele tem um tempo de espera extra de 90 segundos para o NFS v4. Durante o período extra, as novas solicitações dos clientes são ativamente rejeitadas. Portanto, os clientes podem enfrentar lentidão nas solicitações durante o período extra do NFS.

25.3 Listando objetos no pool de recuperação do NFS

Execute o seguinte comando para listar os objetos no pool de recuperação do NFS:

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

25.4 Criando uma exportação do NFS

Você pode criar uma exportação do NFS no Ceph Dashboard ou manualmente por linha de comando. Para criar a exportação usando o Ceph Dashboard, consulte a Capítulo 7, Gerenciar o NFS Ganesha, mais especificamente a Seção 7.1, “Criando exportações do NFS”.

Para criar uma exportação do NFS manualmente, crie um arquivo de configuração para a exportação. Por exemplo, um arquivo /tmp/export-1 com o seguinte conteúdo:

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";
    }
}

Depois de criar e gravar o arquivo de configuração para a nova exportação, execute o seguinte comando para criar a exportação:

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

Por exemplo:

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

O bloco FSAL deve ser modificado para incluir o ID de usuário e a chave de acesso secreta do cephx desejado.

25.5 Verificando a exportação do NFS

O NFS v4 criará uma lista de exportações na raiz de um pseudo sistema de arquivos. Você pode verificar se os compartilhamentos NFS foram exportados montando / do nó do servidor NFS Ganesha:

# mount -t nfs nfs_ganesha_server_hostname:/ /path/to/local/mountpoint
# ls /path/to/local/mountpoint cephfs
Nota
Nota: O NFS Ganesha é apenas v4

Por padrão, o cephadm configurará um servidor NFS v4. O NFS v4 não interage com os daemons rpcbind ou mountd. As ferramentas do cliente NFS, como showmount, não mostrarão nenhuma exportação configurada.

25.6 Montando a exportação do NFS

Para montar o compartilhamento NFS exportado em um host de cliente, execute:

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

25.7 Vários clusters do NFS Ganesha

É possível definir vários clusters do NFS Ganesha. Esse procedimento permite:

  • Clusters separados do NFS Ganesha para acessar o CephFS.