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 5.4.3.6, “Implantando o 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 bootUm 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.
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 5.4.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 #
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 #
Execute o seguinte comando para criar uma exportação do NFS.
O bloco FSAL deve ser modificado para incluir o ID de usuário do cephx desejado e a chave de acesso secreta.
cephuser@adm >
rados --pool POOL_NAME --namespace NAMESPACE_NAME put export-1 export-1
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:
root #
mount
-t nfs nfs_ganesha_server_hostname:/ /path/to/local/mountpointroot #
ls
/path/to/local/mountpoint cephfs
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:
root #
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.