Quero montar um sistema de arquivos Amazon FSx para NetApp ONTAP na minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2). Quero usar o Non-Volatile Memory Express (NVMe) sobre TCP (NVMe/TCP).
Resolução
Observação: A resolução a seguir é para instâncias do EC2 que executam o Red Hat Enterprise Linux (RHEL) 9.3.
Pré-requisitos:
Use NVMe/TCP para montar seu sistema de arquivos em sua instância RHEL
Conclua as etapas a seguir:
-
Para instalar os pacotes necessários, execute o seguinte comando na instância:
sudo yum install -y nvme-cli
-
Para carregar o módulo de kernel NVMe/TCP, execute o seguinte comando na instância:
sudo modprobe nvme-tcp
-
Recupere os endereços das interfaces de armazenamento em bloco para a máquina virtual de armazenamento (storage virtual machine, SVM) em que você criou seus dispositivos NVMe. Execute o seguinte comando no servidor ONTAP:
network interface show -vserver svm_name -data-protocol nvme-tcp
Observação: Substitua svm_name pelo seu nome SVM. Tanto o iSCSI quanto o NVMe/TCP usam o formato de intercâmbio lógico (logical interchange format, LIF) iscsi_1.
Exemplo de saída:
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
svm_name
iscsi_1 up/up iscsi_1_IP/X FSxId0123456789abcdef8-01 e0e true
iscsi_2 up/up iscsi_2_IP/X FSxId0123456789abcdef8-02 e0e true
2 entries were displayed.
-
Para identificar subsistemas NVMe, execute o seguinte comando na instância:
sudo nvme discover -t tcp -w client_IP -a iscsi_1_IP
Observação: Substitua iscsi_1_IP pelo seu endereço IP iscsi_1 e o client_IP pelo endereço IP do cliente.
-
Para se conectar ao subsistema NVMe, execute o seguinte comando na instância:
sudo nvme connect-all -t tcp -w client_IP -a iscsi_1_IP -l 1800
Observação: Substitua iscsi_1_IP pelo seu endereço IP iscsi_1 e o client_IP pelo endereço IP do cliente.
-
Para verificar se a conexão funciona conforme o esperado, execute o seguinte comando na instância:
sudo nvme list
Na saída, verifique a coluna Modelo correspondente a /dev/nvmeXny.
-
(Opcional) Para criar um sistema de arquivos, execute o seguinte comando na instância:
sudo mkfs.xfs /dev/nvmeXnY
Observação: Para localizar /dev/nvmeXnY, verifique a saída do comando nvme list. Encontre a coluna Modelo que tem o valor do Controlador NetApp ONTAP.
-
Para criar e montar em um ponto de montagem, execute os seguintes comandos na instância:
sudo mkdir /mnt/fsx-nvme
sudo mount /dev/nvmeXnY /mnt/fsx-nvme
Observação: Substitua /mtn/fsx-nvme pelo caminho do seu diretório.
-
(Opcional) Para configurar a montagem automática durante a inicialização, adicione a seguinte linha ao arquivo /etc/fstab:
/dev/nvmeXnY /mnt/fsx-nvme xfs _netdev,x-systemd.automount,x-systemd.requires=network-online.target 0 0
Observação: Substitua nvmeXnY pelo nome NVMe e /mnt/fsx-nvme pelo caminho do seu arquivo.
Em seguida, crie um serviço systemd para conexão NVMe com o caminho do arquivo /etc/systemd/system/.
Arquivo de exemplo:
[Unit]
Description=NVMe connection to FSx
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/nvme connect -t tcp -n "nqn.1992-08.com.netapp:sn.abcde" -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420
ExecStop=/usr/sbin/nvme disconnect -n "nqn.1992-08.com.netapp:sn.abcde"
[Install]
WantedBy=multi-user.target
-
Para ativar o serviço, execute o seguinte comando:
sudo systemctl enable nvme-fsx.service
Solucione problemas de montagem do NVMe/TCP
Importante: É uma prática recomendada se inscrever para uma conta no NetApp. Você deve ter uma conta no NetApp para acessar a documentação de solução de problemas do NetApp.
Se você tiver problemas ao montar seu sistema de arquivos, execute as seguintes ações de solução de problemas:
-
Para verificar a conectividade na porta necessária, execute o seguinte comando:
telnet fs-ABCDE.fsx.region.amazonaws.com 4420
Observação: Substitua fs-ABCDE pelo nome do seu sistema de arquivos e a região pela sua região da AWS.
-
Para verificar se a descoberta do NVMe funciona conforme o esperado, execute o seguinte comando:
sudo nvme discover -t tcp -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420
Observação: Substitua porta pela sua porta, fs-ABCDE pelo nome do sistema de arquivos e região pela sua Região.
-
Para verificar se há problemas em suas conexões NVMe, execute o seguinte comando:
sudo nvme list
-
Para verificar se há erros nos logs, execute o seguinte comando:
dmesg | grep nvme or journalctl -u nvme-fsx
Configurar o servidor FSx para ONTAP
Para verificar se o serviço NVMe está em execução, execute os seguintes comandos:
vserver nvme show
vserver nvme subsystem show
Para confirmar que você configurou corretamente seu namespace, execute o seguinte comando:
vserver nvme namespace show
Para verificar se você adicionou o nome qualificado NVMe (NVMe qualified name, NQN) do host ao subsistema NVMe, execute o seguinte comando:
vserver nvme subsystem host show
Para verificar se o mapeamento entre o namespace e o subsistema está correto, execute o seguinte comando:
vserver nvme subsystem map show
Informações relacionadas
Como usar o NFS para montar um volume FSX para ONTAP na minha instância do Linux do EC2?
Como faço para montar um compartilhamento do FSx para ONTAP CIFS em uma instância do Linux do EC2 que não está associada a um Active Directory?
Como usar a iSCSI para montar um LUN iSCSI do FSx para ONTAP em uma instância do Linux do EC2?