

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

# Suporte a metadados POSIX para repositórios de dados
<a name="posix-metadata-support"></a>

O Amazon FSx for Lustre transfere automaticamente metadados da Portable Operating System Interface (POSIX) para arquivos, diretórios e links simbólicos (links simbólicos) ao importar e exportar dados de e para um repositório de dados vinculado no Amazon S3. Quando você exporta alterações em seu sistema de arquivos para o repositório de dados vinculado, FSx o Lustre também exporta alterações de metadados POSIX como metadados de objetos do S3. Isso significa que se outro sistema FSx de arquivos do Lustre importar os mesmos arquivos do S3, os arquivos terão os mesmos metadados POSIX nesse sistema de arquivos, incluindo propriedade e permissões.

FSx for Lustre importa somente objetos do S3 que tenham chaves de objeto compatíveis com POSIX, como as seguintes.

```
mydir/
mydir/myfile1
mydir/mysubdir/
mydir/mysubdir/myfile2.txt
```

FSx for Lustre armazena diretórios e links simbólicos como objetos separados no repositório de dados vinculado no S3. Para diretórios, FSx for Lustre cria um objeto S3 com um nome de chave que termina com uma barra (“/”), da seguinte forma:
+ A chave do objeto S3 é `mydir/` mapeada para o diretório FSx for Lustre. `mydir/`
+ A chave do objeto S3 é `mydir/mysubdir/` mapeada para o diretório FSx for Lustre. `mydir/mysubdir/`

Para links simbólicos, o FSx for Lustre usa o seguinte esquema do Amazon S3:
+ **Chave de objeto S3** — O caminho para o link, em relação ao diretório de montagem FSx for Lustre
+ **Dados de objeto do S3**: o caminho de destino desse link simbólico
+ **Metadados de objeto do S3**: os metadados do link simbólico

FSx for Lustre armazena metadados POSIX, incluindo propriedade, permissões e registros de data e hora para arquivos, diretórios e links simbólicos, em objetos do S3 da seguinte forma:
+ `Content-Type`: o cabeçalho da entidade HTTP usado para indicar o tipo de mídia do recurso para navegadores da web.
+ `x-amz-meta-file-permissions`: o tipo de arquivo e as permissões no formato `<octal file type><octal permission mask>`, consistentes com `st_mode` na [página de manual stat(2) do Linux](https://man7.org/linux/man-pages/man2/lstat.2.html).
**nota**  
FSx for Lustre não importa nem retém `setuid` informações.
+ `x-amz-meta-file-owner`: o ID do usuário proprietário (UID) expresso como número inteiro.
+ `x-amz-meta-file-group`: o ID do grupo (GID) expresso como número inteiro.
+ `x-amz-meta-file-atime`: o tempo do último acesso em nanossegundos desde o início da época do Unix. Encerre o valor do tempo com`ns`; caso contrário, FSx o Lustre interpreta o valor como milissegundos.
+ `x-amz-meta-file-mtime`: o tempo da última modificação em nanossegundos desde o início da época do Unix. Encerre o valor do tempo com`ns`; caso contrário, FSx o Lustre interpreta o valor como milissegundos.
+ `x-amz-meta-user-agent`— O agente do usuário, ignorado FSx durante a importação do Lustre. Durante a exportação, FSx for Lustre define esse valor como`aws-fsx-lustre`.

Ao importar objetos do S3 que não têm permissões POSIX associadas, a permissão POSIX padrão que o Lustre atribui FSx a um arquivo é. `755` Essa permissão permite acesso de leitura e execução para todos os usuários e acesso de gravação para o proprietário do arquivo.

**nota**  
FSx for Lustre não retém nenhum metadado personalizado definido pelo usuário em objetos do S3.

# links físicos e exportação para o Amazon S3
<a name="hard-links"></a>

Se a exportação automática (com políticas NOVAS e ALTERADAS) estiver habilitada em um DRA no seu sistema de arquivos, cada link físico contido no DRA será exportado para o Amazon S3 como objeto do S3 distinto para cada link físico. Se um arquivo com vários links físicos for modificado no sistema de arquivos, todas as cópias no S3 serão atualizadas, independentemente de qual link físico foi usado ao alterar o arquivo.

Se os links físicos forem exportados para o S3 usando tarefas do repositório de dados (DRTs), cada link físico contido nos caminhos especificados para o DRT será exportado para o S3 como um objeto S3 separado para cada link físico. Se um arquivo com vários links físicos for modificado no sistema de arquivos, cada cópia no S3 será atualizada no momento em que o respectivo link físico for exportado, independentemente de qual link físico foi usado ao alterar o arquivo.

**Importante**  
Quando um novo FSx sistema de arquivos do Lustre é vinculado a um bucket do S3 para o qual os links físicos foram exportados anteriormente FSx por outro sistema de arquivos do Lustre, AWS DataSync ou Amazon FSx File Gateway, os links físicos são posteriormente importados como arquivos separados no novo sistema de arquivos.

## Links físicos e arquivos liberados
<a name="hard-links-released-files"></a>

Um arquivo liberado é aquele cujos metadados estão presentes no sistema de arquivos, mas cujo conteúdo está armazenado apenas no S3. Para obter mais informações sobre arquivos liberados, consulte [Liberação de arquivos](file-release.md).

**Importante**  
O uso de links físicos em um sistema de arquivos que tem associações de repositório de dados (DRAs) está sujeito às seguintes limitações:  
Excluir e recriar um arquivo liberado com vários links físicos pode fazer com que o conteúdo de todos os links físicos seja sobrescrito.
Excluir um arquivo liberado excluirá o conteúdo de todos os links físicos que residem fora de uma associação de repositório de dados.
Criar um link físico para um arquivo liberado cujo objeto do S3 correspondente esteja em uma das classes de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive não criará um novo objeto no S3 para o link físico.

# Demonstração: anexar permissões POSIX ao fazer upload de objetos em um bucket do Amazon S3
<a name="attach-s3-posix-permissions"></a>

O procedimento a seguir explica o processo de upload de objetos no Amazon S3 com permissões POSIX. Isso permite importar as permissões POSIX ao criar um sistema de FSx arquivos da Amazon vinculado a esse bucket do S3.

**Para fazer upload de objetos com permissões POSIX para o Amazon S3**

1. Em seu computador ou máquina local, use os comandos de exemplo a seguir para criar um diretório de teste (`s3cptestdir`) e um arquivo (`s3cptest.txt`) que serão carregados via upload no bucket do S3.

   ```
   $ mkdir s3cptestdir
   $ echo "S3cp metadata import test" >> s3cptestdir/s3cptest.txt
   $ ls -ld s3cptestdir/ s3cptestdir/s3cptest.txt
   drwxr-xr-x 3 500 500 96 Jan 8 11:29 s3cptestdir/
   -rw-r--r-- 1 500 500 26 Jan 8 11:29 s3cptestdir/s3cptest.txt
   ```

   O arquivo e o diretório recém-criados têm um ID de usuário (UID) proprietário e um ID de grupo (GID) 500, bem como permissões, conforme mostrado no exemplo anterior.

1. Chame a API do Amazon S3 para criar o diretório `s3cptestdir` com permissões de metadados. Você deve especificar o nome do diretório com uma barra final (`/`). Para obter informações sobre os metadados POSIX com suporte, consulte [Suporte a metadados POSIX para repositórios de dados](posix-metadata-support.md).

   Substitua `bucket_name` pelo nome do bucket do S3.

   ```
   $ aws s3api put-object --bucket bucket_name --key s3cptestdir/ --metadata '{"user-agent":"aws-fsx-lustre" , \
         "file-atime":"1595002920000000000ns" , "file-owner":"500" , "file-permissions":"0100664","file-group":"500" , \
         "file-mtime":"1595002920000000000ns"}'
   ```

1. Verifique se as permissões POSIX estão marcadas com tag nos metadados de objeto do S3.

   ```
   $ aws s3api head-object --bucket bucket_name --key s3cptestdir/
   {
       "AcceptRanges": "bytes",
       "LastModified": "Fri, 08 Jan 2021 17:32:27 GMT",
       "ContentLength": 0,
       "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
       "VersionId": "bAlhCoWq7aIEjc3R6Myc6UOb8sHHtJkR",
       "ContentType": "binary/octet-stream",
       "Metadata": {
           "user-agent": "aws-fsx-lustre",
           "file-atime": "1595002920000000000ns",
           "file-owner": "500",
           "file-permissions": "0100664",
           "file-group": "500",
           "file-mtime": "1595002920000000000ns"
       }
   }
   ```

1. Faça upload do arquivo de teste (criado na etapa 1) do seu computador para o bucket do S3 com permissões de metadados.

   ```
   $ aws s3 cp s3cptestdir/s3cptest.txt s3://bucket_name/s3cptestdir/s3cptest.txt \
         --metadata '{"user-agent":"aws-fsx-lustre" , "file-atime":"1595002920000000000ns" , \
         "file-owner":"500" , "file-permissions":"0100664","file-group":"500" , "file-mtime":"1595002920000000000ns"}'
   ```

1. Verifique se as permissões POSIX estão marcadas com tag nos metadados de objeto do S3.

   ```
   $ aws s3api head-object --bucket bucket_name --key s3cptestdir/s3cptest.txt
   {
       "AcceptRanges": "bytes",
       "LastModified": "Fri, 08 Jan 2021 17:33:35 GMT",
       "ContentLength": 26,
       "ETag": "\"eb33f7e1f44a14a8e2f9475ae3fc45d3\"",
       "VersionId": "w9ztRoEhB832m8NC3a_JTlTyIx7Uzql6",
       "ContentType": "text/plain",
       "Metadata": {
           "user-agent": "aws-fsx-lustre",
           "file-atime": "1595002920000000000ns",
           "file-owner": "500",
           "file-permissions": "0100664",
           "file-group": "500",
           "file-mtime": "1595002920000000000ns"
       }
   }
   ```

1. Verifique as permissões no sistema de FSx arquivos da Amazon vinculado ao bucket do S3.

   ```
   $ sudo lfs df -h /fsx
   UUID                       bytes        Used   Available Use% Mounted on
   3rnxfbmv-MDT0000_UUID       34.4G        6.1M       34.4G   0% /fsx[MDT:0]
   3rnxfbmv-OST0000_UUID        1.1T        4.5M        1.1T   0% /fsx[OST:0]
    
   filesystem_summary:         1.1T        4.5M        1.1T   0% /fsx
    
   $ cd /fsx/s3cptestdir/
   $ ls -ld s3cptestdir/
   drw-rw-r-- 2 500 500 25600 Jan  8 17:33 s3cptestdir/
   
   $ ls -ld s3cptestdir/s3cptest.txt
   -rw-rw-r-- 1 500 500 26 Jan 8 17:33 s3cptestdir/s3cptest.txt
   ```

O diretório `s3cptestdir` e o arquivo `s3cptest.txt` têm permissões POSIX importadas.