ProvisionamentoNVMe/para Linux TCP - FSx para ONTAP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

ProvisionamentoNVMe/para Linux TCP

FSxfor ONTAP suporta o protocolo de armazenamento em bloco Non-Volatile Memory Express over TCP (NVMe/TCP). ComNVMe/TCP, você usa o ONTAP CLI para provisionar namespaces e subsistemas e, em seguida, mapeia os namespaces para subsistemas, semelhante à forma como LUNs são provisionados e mapeados para grupos iniciadores (igroups) para i. SCSI O TCP protocoloNVMe/está disponível em sistemas de arquivos de segunda geração que têm 6 ou menos pares de alta disponibilidade (HA).

nota

FSxpara sistemas de ONTAP arquivos, use SCSI endpoints SVM an's i para protocolos de armazenamento em TCP blocos i SCSI eNVMe//.

Há três etapas principais para processar a configuração deNVMe/TCPem seu Amazon FSx for NetApp ONTAP, que são abordadas nos seguintes procedimentos:

  1. Instale e configure o NVMe cliente no host Linux.

  2. Configure NVMe no sistema de arquivosSVM.

    • Crie um NVMe namespace.

    • Crie um NVMe subsistema.

    • Mapeie o namespace para o subsistema.

    • Adicione o cliente NQN ao subsistema.

  3. Monte um NVMe dispositivo no cliente Linux.

Antes de começar

Antes de iniciar o processo de configuração do sistema de arquivos paraNVMe/TCP, você precisa concluir os seguintes itens.

  • Crie um sistema FSx de ONTAP arquivos for. Para obter mais informações, consulte Criação de sistemas de arquivos.

  • Crie uma EC2 instância executando o Red Hat Enterprise Linux (RHEL) 9.3 no VPC mesmo sistema de arquivos. Esse é o host Linux no qual você configurará NVMe e acessará os dados do arquivo usandoNVMe/TCPpara Linux.

    Além do escopo desses procedimentos, se o host estiver localizado em outroVPC, você poderá usar o VPC peering ou AWS Transit Gateway conceder outro VPCs acesso aos SCSI endpoints i do volume. Para obter mais informações, consulte Acessando dados de fora da implantação VPC.

  • Configure os grupos de VPC segurança do host Linux para permitir tráfego de entrada e saída, conforme descrito em. Controle de acesso ao sistema de arquivos com a Amazon VPC

  • Obtenha as credenciais do ONTAP usuário com fsxadmin privilégios que você usará para acessar o. ONTAP CLI Para obter mais informações, consulte ONTAPfunções e usuários.

  • O host Linux que você configurará NVMe e usará para acessar o sistema de ONTAP arquivos FSx for está localizado no mesmo VPC Conta da AWS e.

  • Recomendamos que a EC2 instância esteja na mesma zona de disponibilidade da sub-rede preferencial do seu sistema de arquivos.

Se sua EC2 instância executa um Linux AMI diferente do RHEL 9.3, alguns dos utilitários usados nesses procedimentos e exemplos podem já estar instalados, e você pode usar comandos diferentes para instalar os pacotes necessários. Além de instalar pacotes, os comandos usados nesta seção são válidos para outros EC2 LinuxAMIs.

Instale e configure NVMe no host Linux

Para instalar o cliente do NVMe
  1. Conecte-se à sua instância Linux usando um SSH cliente. Para obter mais informações, consulte Conecte-se à sua instância Linux usando Linux ou macOS usando o. SSH

  2. Instale o nvme-cli usando o comando a seguir:

    ~$ sudo yum install -y nvme-cli
  3. Carregue o nvme-tcp módulo no host:

    $ sudo modprobe nvme-tcp
  4. Obtenha o nome NVMe qualificado (NQN) do host Linux usando o seguinte comando:

    $ cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1

    Registre a resposta para uso em uma etapa posterior.

Configurar NVMe no sistema FSx de ONTAP arquivos for

Para configurar NVMe no sistema de arquivos

Conecte-se ao NetApp ONTAP CLI sistema FSx de ONTAP arquivos no qual você planeja criar o (s) NVMe dispositivo (s).

  1. Para acessar o NetApp ONTAPCLI, estabeleça uma SSH sessão na porta de gerenciamento do sistema de NetApp ONTAP arquivos Amazon FSx for executando o comando a seguir. Substitua management_endpoint_ip pelo endereço IP da porta de gerenciamento do sistema de arquivos.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Para obter mais informações, consulte Gerenciando sistemas de arquivos com a ONTAP CLI.

  2. Crie um novo volume no SVM que você está usando para acessar a NVMe interface.

    ::> vol create -vserver fsx -volume nvme_vol1 -aggregate aggr1 -size 1t [Job 597] Job succeeded: Successful
  3. Crie o NVMe namespace ns_1 usando o vserver nvme namespace create NetApp ONTAPCLIcomando. Um namespace mapeia para iniciadores (clientes) e controla quais iniciadores (clientes) têm acesso aos dispositivos. NVMe

    ::> vserver nvme namespace create -vserver fsx -path /vol/nvme_vol1/ns_1 -size 100g -ostype linux Created a namespace of size 100GB (107374182400).
  4. Crie o NVMe subsistema usando o vserver nvme subsystem create NetApp ONTAPCLIcomando.

    ~$ vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
  5. Mapeie o namespace para o subsistema que você acabou de criar.

    ::> vserver nvme subsystem map add -vserver fsx -subsystem sub_1 -path /vol/nvme_vol1/ns_1
  6. Adicione o cliente ao subsistema usando o NQN que você recuperou anteriormente.

    ::> vserver nvme subsystem host add -subsystem sub_1 -host-nqn nqn.2014-08.org.nvmexpress:uuid:ec21b083-1860-d690-1f29-44528e4f4e0e -vserver fsx

    Se quiser disponibilizar os dispositivos mapeados para esse subsistema para vários hosts, você pode especificar vários nomes de iniciadores em uma lista separada por vírgulas. Para obter mais informações, consulte vserver nvme subsystem host add no Docs. NetApp ONTAP

  7. Confirme se o namespace existe usando o vserver nvme namespace showcomando:

    ::> vserver nvme namespace show -vserver fsx -instance Vserver Name: fsx Namespace Path: /vol/nvme_vol1/ns_1 Size: 100GB Size Used: 90.59GB OS Type: linux Comment: Block Size: 4KB State: online Space Reservation: false Space Reservations Honored: false Is Read Only: false Creation Time: 5/20/2024 17:03:08 Namespace UUID: c51793c0-8840-4a77-903a-c869186e74e3 Vdisk ID: 80d42c6f00000000187cca9 Restore Inaccessible: false Inconsistent Filesystem: false Inconsistent Blocks: false NVFail: false Node Hosting the Namespace: FsxId062e9bb6e05143fcb-01 Volume Name: nvme_vol1 Qtree Name: Mapped Subsystem: sub_1 Subsystem UUID: db526ec7-16ca-11ef-a612-d320bd5b74a9 Namespace ID: 00000001h ANA Group ID: 00000001h Vserver UUID: 656d410a-1460-11ef-a612-d320bd5b74a9 Vserver ID: 3 Volume MSID: 2161388655 Volume DSID: 1029 Aggregate: aggr1 Aggregate UUID: cfa8e6ee-145f-11ef-a612-d320bd5b74a9 Namespace Container State: online Autodelete Enabled: false Application UUID: - Application: - Has Metadata Provisioned: true 1 entries were displayed.
  8. Use o network interface show -vservercomando para recuperar os endereços das interfaces de armazenamento em bloco SVM nas quais você criou seus NVMe dispositivos.

    ::> network interface show -vserver svm_name -data-protocol nvme-tcp Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- svm_name iscsi_1 up/up 172.31.16.19/20 FSxId0123456789abcdef8-01 e0e true iscsi_2 up/up 172.31.26.134/20 FSxId0123456789abcdef8-02 e0e true 2 entries were displayed.
    nota

    O iscsi_1 LIF é usado para i SCSI eNVMe/TCP.

    Neste exemplo, o endereço IP de iscsi_1 é 172.31.16.19 e iscsi_2 é 172.31.26.134.

Monte um NVMe dispositivo em seu cliente Linux

O processo de montagem do NVMe dispositivo em seu cliente Linux envolve três etapas:

  1. Descobrindo os nós NVMe

  2. Particionando o dispositivo NVMe

  3. Montando o NVMe dispositivo no cliente

Eles são abordados nos procedimentos a seguir.

Para descobrir os NVMe nós de destino
  1. Em seu cliente Linux, use o comando a seguir para descobrir os NVMe nós de destino. Substituir iSCSI_1_IP com iscsi_1 o endereço IP e IP do cliente o endereço IP do cliente.

    nota

    iscsi_1e iscsi_2 LIFs são usados tanto para i SCSI quanto para NVMe armazenamento.

    ~$ sudo nvme discover -t tcp -w client_IP -a iscsi_1_IP
    Discovery Log Number of Records 4, Generation counter 11 =====Discovery Log Entry 0====== trtype: tcp adrfam: ipv4 subtype: current discovery subsystem treq: not specified portid: 0 trsvcid: 8009 subnqn: nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:discovery traddr: 172.31.26.134 eflags: explicit discovery connections, duplicate discovery information sectype: none =====Discovery Log Entry 1====== trtype: tcp adrfam: ipv4 subtype: current discovery subsystem treq: not specified portid: 1 trsvcid: 8009 subnqn: nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:discovery traddr: 172.31.16.19 eflags: explicit discovery connections, duplicate discovery information sectype: none
  2. (Opcional) Para gerar uma taxa de transferência maior do que o máximo de 5 Gb/s (~ 625 MB/s) do cliente EC2 único da Amazon para seu NVMe dispositivo de arquivo, siga os procedimentos descritos em Largura de banda de rede de EC2 instâncias da Amazon no Guia do usuário do Amazon Elastic Compute Cloud para instâncias Linux para estabelecer sessões adicionais.

  3. Faça login nos iniciadores de destino com um tempo limite de perda do controlador de pelo menos 1800 segundos, novamente usando o endereço IP iscsi_1 para iSCSI_1_IP e o endereço IP do cliente para IP do cliente. Seus NVMe dispositivos são apresentados como discos disponíveis.

    ~$ sudo nvme connect-all -t tcp -w client_IP -a iscsi_1 -l 1800
  4. Use o comando a seguir para verificar se a NVMe pilha identificou e mesclou as várias sessões e configurou vários caminhos. O comando retornará Y se a configuração for bem-sucedida.

    ~$ cat /sys/module/nvme_core/parameters/multipath Y
  5. Use os comandos a seguir para verificar se a configuração NVMe -oF model está definida como NetApp ONTAP Controller e o balanceamento de carga iopolicy está definido como para os respectivos ONTAP namespaces round-robin para distribuir a E/S em todos os caminhos disponíveis.

    ~$ cat /sys/class/nvme-subsystem/nvme-subsys*/model Amazon Elastic Block Store NetApp ONTAP Controller ~$ cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy numa round-robin
  6. Use o comando a seguir para verificar se os namespaces foram criados e descobertos corretamente no host:

    ~$ sudo nvme list Node Generic SN Model Namespace Usage Format FW Rev --------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- -------- /dev/nvme0n1 /dev/ng0n1 vol05955547c003f0580 Amazon Elastic Block Store 0x1 25.77 GB / 25.77 GB 512 B + 0 B 1.0 /dev/nvme2n1 /dev/ng2n1 lWB12JWY/XLKAAAAAAAC NetApp ONTAP Controller 0x1 107.37 GB / 107.37 GB 4 KiB + 0 B FFFFFFFF

    O novo dispositivo na saída é/dev/nvme2n1. Esse esquema de nomenclatura pode ser diferente dependendo da instalação do Linux.

  7. Verifique se o estado do controlador de cada caminho está ativo e tem o status correto de vários caminhos do Asymmetric Namespace Access ()ANA:

    ~$ nvme list-subsys /dev/nvme2n1 nvme-subsys2 - NQN=nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:subsystem.rhel hostnqn=nqn.2014-08.org.nvmexpress:uuid:ec2a70bf-3ab2-6cb0-f997-8730057ceb24 iopolicy=round-robin \ +- nvme2 tcp traddr=172.31.26.134,trsvcid=4420,host_traddr=172.31.25.143,src_addr=172.31.25.143 live non-optimized +- nvme3 tcp traddr=172.31.16.19,trsvcid=4420,host_traddr=172.31.25.143,src_addr=172.31.25.143 live optimized

    Neste exemplo, a NVMe pilha descobriu automaticamente a alternativa do seu sistema de arquivos LIFiscsi_2, 172.31.26.134.

  8. Verifique se o NetApp plug-in exibe os valores corretos para cada dispositivo de ONTAP namespace:

    ~$ sudo nvme netapp ontapdevices -o column Device Vserver Namespace Path NSID UUID Size ---------------- ------------------------- -------------------------------------------------- ---- -------------------------------------- --------- /dev/nvme2n1 fsx /vol/nvme_vol1/ns_1 1 0441c609-3db1-4b0b-aa83-790d0d448ece 107.37GB
Para particionar o dispositivo
  1. Use o comando a seguir para verificar se o caminho para seu nome_do_dispositivo nvme2n1 está presente.

    ~$ ls /dev/mapper/nvme2n1 /dev/nvme2n1
  2. Particione o disco usando fdisk. Você inserirá um prompt interativo. Insira as opções na ordem mostrada. Você pode criar várias partições usando um valor menor que o último setor (20971519, neste exemplo).

    nota

    O Last sector valor variará dependendo do tamanho do seu NVMe dispositivo (100 GiB neste exemplo).

    ~$ sudo fdisk /dev/mapper/nvme2n1

    O prompt interativo fsdisk é iniciado.

    Welcome to fdisk (util-linux 2.37.4). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x66595cb0. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (256-26214399, default 256): Last sector, +sectors or +size{K,M,G,T,P} (256-26214399, default 26214399): 20971519 Created a new partition 1 of type 'Linux' and of size 100 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

    Após inserir w, sua nova partição /dev/nvme2n1 fica disponível. A ferramenta partition_name tem o formato <device_name><partition_number>. 1foi usado como o número da partição no fdisk comando na etapa anterior.

  3. Crie seu sistema de arquivos usando /dev/nvme2n1 como caminho.

    ~$ sudo mkfs.ext4 /dev/nvme2n1

    O sistema responde com a seguinte saída:

    mke2fs 1.46.5 (30-Dec-2021) Found a dos partition table in /dev/nvme2n1 Proceed anyway? (y,N) y Creating filesystem with 26214400 4k blocks and 6553600 inodes Filesystem UUID: 372fb2fd-ae0e-4e74-ac06-3eb3eabd55fb Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (131072 blocks): done Writing superblocks and filesystem accounting information: done
Para montar o NVMe dispositivo no cliente Linux
  1. Criar um diretório directory_path como ponto de montagem do seu sistema de arquivos na instância Linux.

    ~$ sudo mkdir /directory_path/mount_point
  2. Monte o sistema de arquivos usando o comando a seguir.

    ~$ sudo mount -t ext4 /dev/nvme2n1 /directory_path/mount_point
  3. (Opcional) Se você quiser dar a um usuário específico a propriedade do diretório de montagem, substitua username com o nome de usuário do proprietário.

    ~$ sudo chown username:username /directory_path/mount_point
  4. (Opcional) Verifique se pode ler e gravar dados no sistema de arquivos.

    ~$ echo "Hello world!" > /directory_path/mount_point/HelloWorld.txt ~$ cat directory_path/HelloWorld.txt Hello world!

    Você criou e montou com sucesso um NVMe dispositivo no seu cliente Linux.