Observação:

Implantar Cache NFS no Oracle Cloud Infrastructure

Introdução

Quando várias instâncias de computação baseadas em nuvem exigem acesso ao armazenamento NFS local, você pode implantar o cache NFS na nuvem. Para melhorar os dados de desempenho do NFS, é armazenado no cache da nuvem quando um cliente NFS os solicita. Os nós do cliente NFS gravam dados diretamente de volta no servidor de arquivos de origem NFS usando o armazenamento no cache de gravação.

O desempenho de NFS é muito sensível à latência de rede. Mesmo uma latência de rede relativamente pequena pode prejudicar significativamente o desempenho do NFS para leituras e gravações. Ao usar o armazenamento NFS local, a implantação do cache NFS na nuvem pode resultar em benefícios de desempenho significativos, principalmente para cargas de trabalho "pesadas para leitura".

Objetivo

Implante uma solução de cache NFS no OCI (Oracle Cloud Infrastructure).

Pré-requisitos

Você deve ter uma rede virtual na nuvem (VCN) configurada com uma sub-rede privada ou pública na qual o cache NFS será instalado. A sub-rede do OCI deve ter conectividade com o servidor NFS local e a porta TCP 2049 deve estar aberta na lista de segurança de sub-rede. É recomendável configurar um túnel de VPN ou um OCI Fast Connect entre o servidor NFS local e o servidor de cache NFS na nuvem.

Observação: este tutorial refere-se à versão NFS4. Para versões mais antigas do NFS, talvez você precise abrir portas de adição na lista de segurança de sub-rede.

Arquitetura

O cache NFS pode ser implantado em várias arquiteturas diferentes. Neste exemplo, estamos usando a arquitetura a seguir.

Image1

Para Alta Disponibilidade (HA), você pode instalar um balanceador de Carga de Rede com 2 ou mais servidores de cache NFS de backend e configurar a porta TCP/2049 no listener do balanceador de Carga de Rede.

Image2

Tarefa 1: Instalar e configurar o servidor FS-Cache

  1. Para implantar o cache NFS no OCI, provisione uma instância de computação do Oracle Linux usando um dos E4. Formas DenseIO.Flex.

    Image3

    Observação: essas formas com Alta Densidade de E/S têm um número diferente de discos locais NVMe. O armazenamento NVMe será usado para armazenar dados NFS em cache. Selecione a forma com base nos requisitos de armazenamento.

  2. Selecione VCN e sub-rede, adicione a chave SSH pública.

  3. Abra Opções Avançadas e adicione o script cloud-init: install.sh

    Image4

    O script faz o seguinte:

    1. Configura o RAID-0 em discos NVMe disponíveis
    2. Cria um sistema de arquivos no dispositivo RAID-0 e o monta
    3. Instala o pacote com cache e inicia o serviço com cachefiled
    4. Ativa o servidor NFS
    5. Configura o firewall SELinux e Linux

Tarefa 2: Criar e exportar compartilhamento NFS

  1. Crie um diretório para o ponto de montagem NFS e monte o compartilhamento do Servidor NFS para a VM do FS-Cache usando a opção -fsc. Por exemplo:

    sudo mount <NFS-server-IP>:<NFS-share> <FS-Cache-mount-point> -o fsc
    
    where:  <NFS-server-IP> is the IP of the origin NFS server
    	<NFS-share> is the path of NFS share directory from the origin NFS server
    	<FS-Cache-mount-point> is the mount point on FS-Cache server
    
  2. Exporte o ponto de montagem local editando o arquivo /etc/exports.

    sudo echo "<FS-Cache-mount-point> *(rw,wdelay,no_root_squash,no_subtree_check,fsid=10,sec=sys,rw,secure,no_root_squash,no_all_squash)" > /etc/exports
    
  3. Substitua <FS-Cache-mount-point> pelo caminho real do ponto de montagem. Execute o comando exportfs.

    sudo exportfs -a
    
  4. Verifique se o serviço cachfilesd está em execução.

    sudo systemctl status cachefilesd
    

    Image5

Tarefa 3: Montar compartilhamento NFS em clientes NFS

Diretórios de montagem exportados do servidor FS-Cache para clientes NFS. Por exemplo, no cliente NFS, você pode executar o comando a seguir.

sudo mount <FS-Cache-IP>:<FS-Cache-mount-point> <local-mount-point>

where:  <FS-Cache-server-IP> is the IP of FS-Cache server
	<FS-Cache-mount-point> is the path exported from FS-Cache server
	<local-mount-point> is the mount point on NFS client  

Ao ler arquivos que ainda não estão em cache no servidor FS-Cache, o tempo de acesso será maior. No entanto, quando um arquivo é armazenado no cache, o tempo de leitura é comparável ao acesso ao servidor NFS na mesma LAN. A diferença será ainda mais óbvia quando muitos clientes NFS lerem o mesmo conteúdo do compartilhamento NFS.

Aquisições

Autor - Michael Prestin (Master Principal Arquiteto de Nuvem)

Mais Recursos de Aprendizagem

Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.