

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á.

# Provisionamento de iSCSI para Linux
<a name="mount-iscsi-luns-linux"></a>

O FSx para ONTAP é compatível com o protocolo iSCSI. Você precisa provisionar iSCSI no cliente Linux e no sistema de arquivos para usar o protocolo iSCSI para transportar dados entre clientes e seu sistema de arquivos. O protocolo iSCSI está disponível em todos os sistemas de arquivos com até 6 [pares de alta disponibilidade (HA)](HA-pairs.md).

O processo de configuração do iSCSI em seu Amazon FSx para NetApp ONTAP tem três etapas principais, que são abordadas nos procedimentos a seguir:

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

1. Configure o iSCSI na SVM do sistema de arquivos.
   + Crie um grupo de iniciadores iSCSI.
   + Mapeie o grupo de iniciadores para a LUN.

1. Monte uma LUN de iSCSI no cliente Linux,

## Antes de começar
<a name="iscsi-linux-byb"></a>

Antes de iniciar o processo de configuração do sistema de arquivos para iSCSI, você precisa concluir os itens a seguir.
+ Crie um sistema de arquivos do FSx para ONTAP. Para obter mais informações, consulte [Criar sistemas de arquivos](creating-file-systems.md).
+ Crie uma LUN de iSCSI no sistema de arquivos. Para obter mais informações, consulte [Como criar um LUN de iSCSI](create-iscsi-lun.md).
+ Crie uma instância do EC2 executando a imagem de máquina da Amazon (AMI) do Amazon Linux 2 na mesma VPC do sistema de arquivos. Esse é o host Linux no qual você configurará o iSCSI e acessará os dados do arquivo.

  Adicionalmente ao escopo destes procedimentos, se o host estiver localizado em outra VPC, você poderá usar o emparelhamento de VPC ou o AWS Transit Gateway para permitir que outras VPCs tenham acesso aos endpoints de iSCSI do volume. Para obter mais informações, consulte [Acesso a dados de fora da VPC de implantação](supported-fsx-clients.md#access-from-outside-deployment-vpc).
+ Configure os grupos de segurança de VPC do host do Linux para permitir tráfego de entrada e saída, conforme descrito em [Controle de acesso ao sistema de arquivos com a Amazon VPC](limit-access-security-groups.md).
+ Obtenha as credenciais do usuário do ONTAP com privilégios `fsxadmin` que você usará para acessar a CLI do ONTAP. Para obter mais informações, consulte [Usuários e perfis do ONTAP](roles-and-users.md).
+ O host do Linux que você vai configurar para iSCSI e usar para acessar o sistema de arquivos do FSx para ONTAP está localizado na mesma VPC e Conta da AWS.
+ Recomendamos que a instância do EC2 esteja na mesma zona de disponibilidade da sub-rede preferencial do seu sistema de arquivos, conforme mostrado no gráfico a seguir.  
![Imagem mostrando um sistema de arquivos do Amazon FSx para NetApp ONTAP com um LUN de iSCSI e uma instância do Amazon EC2 localizados na mesma zona de disponibilidade da sub-rede preferencial do sistema de arquivos.](http://docs.aws.amazon.com/pt_br/fsx/latest/ONTAPGuide/images/fsx-ontap-iscsi-mnt-client.png)

Se sua instância do EC2 executar uma AMI do Linux que não seja do Amazon Linux 2, alguns dos utilitários usados nesses procedimentos e exemplos poderão já estar instalados e talvez você use comandos diferentes para instalar os pacotes necessários. Além de instalar pacotes, os comandos usados nesta seção são válidos para outras AMIs do Linux do EC2.

**Topics**
+ [Antes de começar](#iscsi-linux-byb)
+ [Instalar e configurar iSCSI no host Linux](#configure-iscsi-on-linux-client)
+ [Configurar o iSCSI no sistema de arquivos do FSx para ONTAP](#configure-iscsi-on-fsx-ontap)
+ [Montar um LUN de iSCSI no cliente Linux](#mount-iscsi-lun-on-linux-client)

## Instalar e configurar iSCSI no host Linux
<a name="configure-iscsi-on-linux-client"></a>

**Instalar o cliente iSCSI**

1. Confirme se `iscsi-initiator-utils` e `device-mapper-multipath` estão instalados no seu dispositivo Linux. Conecte-se à instância do Linux usando um cliente SSH. Para obter mais informações, consulte [Connect to your Linux instance using SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html).

1. Instale `multipath` e o cliente iSCSI usando o comando a seguir. A instalação de `multipath` é necessária se quiser fazer o failover automático entre os servidores de arquivos.

   ```
   ~$ sudo yum install -y device-mapper-multipath iscsi-initiator-utils
   ```

1. Para facilitar uma resposta mais rápida ao fazer o failover automático entre servidores de arquivos ao usar `multipath`, defina o valor do tempo limite de substituição no arquivo `/etc/iscsi/iscsid.conf` como um valor de `5` em vez de usar o valor padrão de `120`.

   ```
   ~$ sudo sed -i 's/node.session.timeo.replacement_timeout = .*/node.session.timeo.replacement_timeout = 5/' /etc/iscsi/iscsid.conf; sudo cat /etc/iscsi/iscsid.conf | grep node.session.timeo.replacement_timeout
   ```

1. Inicie o serviço iSCSI.

   ```
   ~$ sudo service iscsid start
   ```

   Observe que, dependendo da sua versão do Linux, talvez precise usar este comando:

   ```
   ~$ sudo systemctl start iscsid
   ```

1. Confirme se o serviço está em execução usando o comando a seguir.

   ```
   ~$ sudo systemctl status iscsid.service
   ```

   O sistema responde com a seguinte saída:

   ```
   iscsid.service - Open-iSCSI 
       Loaded: loaded (/usr/lib/systemd/system/iscsid.service; disabled; vendor preset: disabled) 
       Active: active (running) since Fri 2021-09-02 00:00:00 UTC; 1min ago
       Docs: man:iscsid(8)
       man:iscsiadm(8)
       Process: 14658 ExecStart=/usr/sbin/iscsid (code=exited, status=0/SUCCESS)
       Main PID: 14660 (iscsid)
       CGroup: /system.slice/iscsid.service
       ├─14659 /usr/sbin/iscsid
       └─14660 /usr/sbin/iscsid
   ```

**Configurar o iSCSI no seu cliente Linux**

1. Para permitir que seus clientes façam o failover automático entre os servidores de arquivos, é necessário configurar múltiplos caminhos. Use o seguinte comando:

   ```
   ~$ sudo mpathconf --enable --with_multipathd y
   ```

1. Determine o nome do iniciador do host do Linux usando o comando a seguir. A localização do nome do iniciador depende do utilitário do iSCSI. Se estiver usando `iscsi-initiator-utils`, o nome do iniciador está localizado no arquivo `/etc/iscsi/initiatorname.iscsi`.

   ```
   ~$ sudo cat /etc/iscsi/initiatorname.iscsi
   ```

   O sistema responde com o nome do iniciador.

   ```
   InitiatorName=iqn.1994-05.com.redhat:abcdef12345
   ```

## Configurar o iSCSI no sistema de arquivos do FSx para ONTAP
<a name="configure-iscsi-on-fsx-ontap"></a>

1. Conecte-se à CLI do NetApp ONTAP no sistema de arquivos do FSx para ONTAP no qual você criou o LUN do iSCSI usando o comando a seguir. Para obter mais informações, consulte [Usar a CLI do NetApp ONTAP](managing-resources-ontap-apps.md#netapp-ontap-cli).

   ```
   ~$ ssh fsxadmin@{{your_management_endpoint_ip}}
   ```

1. Crie o grupo de iniciadores (`igroup`) usando o comando de CLI [https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-create.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-create.html) do NetApp ONTAP. Um grupo de iniciadores mapeia para LUNs de iSCSI e controla quais iniciadores (clientes) têm acesso aos LUNs. Substitua `host_initiator_name` pelo nome do iniciador do host do Linux que você recuperou no procedimento anterior.

   ```
   ::> lun igroup create -vserver {{{{svm_name}}}} -igroup {{igroup_name}} -initiator {{host_initiator_name}} -protocol iscsi -ostype linux 
   ```

   Se quiser disponibilizar os LUNs mapeados para esse igroup para vários hosts, você pode especificar vários nomes de iniciadores separados por uma vírgula. Para obter mais informações, consulte [lun igroup create](https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-create.html) no *NetApp ONTAP Documentation Center*. 

1. Confirme se o `igroup` existe usando o comando [https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-show.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-show.html):

   ```
   ::> lun igroup show
   ```

   O sistema responde com a seguinte saída:

   ```
   Vserver   Igroup       Protocol OS Type  Initiators
   --------- ------------ -------- -------- ------------------------------------
   {{svm_name}}  {{igroup_name}}  iscsi    linux    iqn.1994-05.com.redhat:abcdef12345
   ```

1. Esta etapa pressupõe que você já tenha criado um LUN de iSCSI. Se não tiver criado, consulte [Como criar um LUN de iSCSI](create-iscsi-lun.md) para obter instruções passo a passo sobre como fazer isso.

   Crie um mapeamento do LUN criado para o igroup que você criou, usando o [https://docs.netapp.com/us-en/ontap-cli-9111/lun-mapping-create.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-mapping-create.html), especificando os atributos a seguir.
   + `{{svm_name}}`: o nome da máquina virtual de armazenamento que fornece o destino iSCSI. O host usa esse valor para acessar o LUN.
   + `{{vol_name}}`: o nome do volume que hospeda o LUN.
   + `{{lun_name}}`: o nome que você atribuiu ao LUN.
   + `{{igroup_name}}`: o nome do grupo de iniciadores.
   + `{{lun_id}}`: o número inteiro do ID do LUN é específico do mapeamento e não do LUN em si. Isso é usado pelos iniciadores no igroup, pois o número da unidade lógica usa esse valor para o iniciador ao acessar o armazenamento.

   ```
   ::> lun mapping create -vserver {{svm_name}} -path /vol/{{vol_name}}/{{lun_name}} -igroup {{igroup_name}} -lun-id {{lun_id}}
   ```

1. Use o comando [https://docs.netapp.com/us-en/ontap-cli-9111/lun-show.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-show.html) para confirmar se o LUN foi criado, on-line e mapeado.

   ```
   ::> lun show -path /vol/{{vol_name}}/{{lun_name}} -fields state,mapped,serial-hex
   ```

   O sistema responde com a seguinte saída:

   ```
    Vserver    Path                           serial-hex               state    mapped
    --------- ------------------------------- ------------------------ -------- --------
    {{svm_name}}  /vol/{{vol_name}}/{{lun_name}}          6c5742314e5d52766e796150 online   mapped
   ```

   Salve o valor `serial_hex` (neste exemplo, é `6c5742314e5d52766e796150`). Você o usará em uma etapa posterior para criar um nome fácil para o dispositivo de blocos.

1. Use o comando [https://docs.netapp.com/us-en/ontap-cli-9111/network-interface-show.html](https://docs.netapp.com/us-en/ontap-cli-9111/network-interface-show.html) para recuperar os endereços das interfaces `iscsi_1` e `iscsi_2` e da SVM na qual você criou o LUN do iSCSI.

   ```
   ::> network interface show -vserver {{{{svm_name}}}}
   ```

   O sistema responde com a seguinte saída:

   ```
               Logical               Status     Network            Current                    Current Is 
   Vserver     Interface             Admin/Oper Address/Mask       Node                       Port    Home
   ----------- ----------            ---------- ------------------ -------------              ------- ----
   {{svm_name}}
               iscsi_1               up/up      172.31.0.143/20    FSxId0123456789abcdef8-01  e0e     true
               iscsi_2               up/up      172.31.21.81/20    FSxId0123456789abcdef8-02  e0e     true
               nfs_smb_management_1 
                                     up/up      198.19.250.177/20  FSxId0123456789abcdef8-01  e0e     true
   3 entries were displayed.
   ```

   Neste exemplo, o endereço IP de `iscsi_1` é `172.31.0.143` e `iscsi_2` é `172.31.21.81`.

## Montar um LUN de iSCSI no cliente Linux
<a name="mount-iscsi-lun-on-linux-client"></a>

O processo de montagem da LUN de iSCSI no cliente Linux envolve três etapas:

1. Descobrir os nós iSCSI de destino

1. Particionar a LUN de iSCSI

1. Montar a LUN de iSCSI no cliente

Isso é abordado nos procedimentos a seguir.

**Para descobrir os nós iSCSI de destino**

1. No cliente Linux, use o comando a seguir para descobrir os nós do iSCSI de destino usando o endereço IP de `iscsi_1` {{iscsi\_1\_IP}}.

   ```
   ~$ sudo iscsiadm --mode discovery --op update --type sendtargets --portal {{iscsi_1_IP}}
   ```

   ```
   172.31.0.143:3260,1029 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3
   172.31.21.81:3260,1028 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3
   ```

   Neste exemplo, `iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3` corresponde ao `target_initiator` para o LUN do iSCSI na zona de disponibilidade preferencial.

1. (Opcional) Para promover um throughput maior do que o máximo de 5 GBps (\~625 MBps) de cliente único do Amazon EC2 para sua LUN de iSCSI, siga os procedimentos descritos em [Largura de banda da rede de instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) no Guia do usuário do Amazon Elastic Compute Cloud para instâncias Linux para estabelecer sessões adicionais com throughput maior.

   O comando a seguir estabelece oito sessões por iniciador por nó do ONTAP em cada zona de disponibilidade, permitindo que o cliente gere até 40 GBps (5 mil MBps) de throughput agregado para o LUN de iSCSI.

   ```
   ~$ sudo iscsiadm --mode node -T {{target_initiator}} --op update -n node.session.nr_sessions -v 8
   ```

1. Faça login nos iniciadores de destino. Seus LUNs de iSCSI são apresentados como discos disponíveis.

   ```
   ~$ sudo iscsiadm --mode node -T {{target_initiator}} --login
   ```

   ```
   Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] (multiple)
   Login to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] successful.
   ```

   A saída acima está truncada; você deve ver uma resposta `Logging in` e uma resposta `Login successful` para cada sessão em cada servidor de arquivos. No caso de quatro sessões por nó, haverá 8 respostas `Logging in` e 8 respostas `Login successful`.

1. Use o comando a seguir para verificar se `dm-multipath` identificou e mesclou as sessões de iSCSI mostrando um único LUN com várias políticas. Deve haver um número igual de dispositivos listados como `active` e aqueles listados como `enabled`. 

   ```
   ~$ sudo multipath -ll
   ```

   Na saída, o nome do disco é formatado como `dm-xyz`, onde `xyz` é um número inteiro. Se não houver outros discos de múltiplos caminhos, o valor será `dm-0`.

   ```
   3600a09806c5742314e5d52766e79614f {{dm-xyz}} NETAPP  ,LUN C-Mode      
   size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
   |-+- policy='service-time 0' prio=50 status=active
   | |- 0:0:0:1 sda     8:0   active ready running
   | |- 1:0:0:1 sdc     8:32  active ready running
   | |- 3:0:0:1 sdg     8:96  active ready running
   | `- 4:0:0:1 sdh     8:112 active ready running
   `-+- policy='service-time 0' prio=10 status=enabled
     |- 2:0:0:1 sdb     8:16  active ready running
     |- 7:0:0:1 sdf     8:80  active ready running
     |- 6:0:0:1 sde     8:64  active ready running
     `- 5:0:0:1 sdd     8:48  active ready running
   ```

   Seu dispositivo de blocos agora está conectado ao cliente Linux. Ele está localizado sob o caminho `/dev/{{dm-xyz}}`. Você não deve usar esse caminho para fins administrativos; em vez disso, use o link simbólico que está sob o caminho `/dev/mapper/{{wwid}}`, onde `{{wwid}}` é um identificador exclusivo do seu LUN que é consistente em todos os dispositivos. Na próxima etapa, você fornecerá um nome fácil para `{{wwid}}`, de modo que possa diferenciá-lo de outros discos com múltiplos caminhos.

**Para dar um nome amigável ao dispositivo de blocos**

1. Para fornecer um nome fácil ao dispositivo, crie um alias no arquivo `/etc/multipath.conf`. Para isso, adicione a seguinte entrada ao arquivo usando seu editor de texto preferencial, substituindo os seguintes espaços reservados:
   + Substitua `serial_hex` pelo valor salvo no procedimento [Configurar o iSCSI no sistema de arquivos do FSx para ONTAP](#configure-iscsi-on-fsx-ontap).
   + Adicione o prefixo `3600a0980` ao valor `serial_hex` conforme mostrado no exemplo. Este é um preâmbulo exclusivo para a distribuição do NetApp ONTAP usada pelo Amazon FSx para NetApp ONTAP.
   + Substitua `device_name` pelo nome fácil que deseja usar no seu dispositivo.

   ```
   multipaths {
       multipath {
           wwid 3600a0980{{serial_hex}}
           alias {{device_name}}
       }
   }
   ```

   Como alternativa, você pode copiar e salvar o script a seguir como um arquivo bash, como `multipath_alias.sh`. Você pode executar o script com privilégios sudo, substituindo `{{serial_hex}}` (sem o prefixo 3600a0980) e `{{device_name}}` pelo seu respectivo número de série e pelo nome desejado. Esse script busca uma seção `multipaths` não comentada no arquivo `/etc/multipath.conf`. Se a seção existir, ele anexa uma entrada `multipath` a essa seção; caso contrário, ele criará uma seção `multipaths` com uma entrada `multipath` para o seu dispositivo de blocos.

   ```
   #!/bin/bash
   SN=serial_hex
   ALIAS=device_name
   CONF=/etc/multipath.conf
   grep -q '^multipaths {' $CONF
   UNCOMMENTED=$?
   if [ $UNCOMMENTED -eq 0 ]
   then
           sed -i '/^multipaths {/a\\tmultipath {\n\t\twwid 3600a0980'"${SN}"'\n\t\talias '"${ALIAS}"'\n\t}\n' $CONF
   else
           printf "multipaths {\n\tmultipath {\n\t\twwid 3600a0980$SN\n\t\talias $ALIAS\n\t}\n}" >> $CONF
   fi
   ```

1. Reinicie o serviço `multipathd` para que as alterações em `/etc/multipathd.conf` entrem em vigor.

   ```
   ~$ systemctl restart multipathd.service
   ```

**Particionar o LUN**

A próxima etapa é formatar e particionar o LUN usando `fdisk`.

1. Use o comando a seguir para verificar se o caminho para `device_name` está presente.

   ```
   ~$ ls /dev/mapper/{{device_name}}
   ```

   ```
   /dev/{{device_name}}
   ```

1. 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 valor de `Last sector` terá variações, dependendo do tamanho do LUN de iSCSI (10 GB, neste exemplo).

   ```
   ~$ sudo fdisk /dev/mapper/{{device_name}}
   ```

   O prompt interativo `fsdisk` é iniciado.

   ```
   Welcome to fdisk (util-linux 2.30.2). 
   
   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 (2048-20971519, default 2048): 2048 
   Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): 20971519
                                       
   Created a new partition 1 of type 'Linux' and of size 512 B.
   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/mapper/{{partition_name}}` fica disponível. O {{partition\_name}} tem o formato {{<device\_name>}}{{<partition\_number>}}. `1` foi usado como o número da partição utilizada no comando `fdisk` na etapa anterior.

1. Crie seu sistema de arquivos usando `/dev/mapper/{{partition_name}}` como caminho.

   ```
   ~$ sudo mkfs.ext4 /dev/mapper/{{partition_name}}
   ```

   O sistema responde com a seguinte saída:

   ```
   mke2fs 1.42.9 (28-Dec-2013)
   Discarding device blocks: done 
   Filesystem label=
   OS type: Linux
   Block size=4096 (log=2)
   Fragment size=4096 (log=2)
   Stride=0 blocks, Stripe width=16 blocks
   655360 inodes, 2621184 blocks
   131059 blocks (5.00%) reserved for the super user
   First data block=0
   Maximum filesystem blocks=2151677952
   80 block groups
   32768 blocks per group, 32768 fragments per group
   8192 inodes per group
   Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
   Allocating group tables: done 
   Writing inode tables: done 
   Creating journal (32768 blocks): done
   Writing superblocks and filesystem accounting information: done
   ```

**Montar o LUN no cliente Linux**

1. Crie um diretório {{directory\_path}} como ponto de montagem do sistema de arquivos.

   ```
   ~$ sudo mkdir /{{directory_path}}/{{mount_point}}
   ```

1. Monte o sistema de arquivos usando o comando a seguir.

   ```
   ~$ sudo mount -t ext4 /dev/mapper/{{partition_name}} /{{directory_path}}/{{mount_point}}
   ```

1. (Opcional) Se você quiser dar a um usuário específico a propriedade do diretório de montagem, substitua {{`username`}} pelo nome de usuário do proprietário.

   ```
   ~$ sudo chown {{username}}:{{username}} /{{directory_path}}/{{mount_point}}
   ```

1. (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 êxito um LUN de iSCSI no cliente Linux.