Uso e Medição do Sistema de Arquivos

Este tópico descreve como o uso e a medição são calculados para seus sistemas de arquivos, para ajudá-lo a entender e gerenciar seus custos de serviço. Este tópico também descreve formas diferentes de ver a utilização de seu sistema de arquivos, clones e snapshots e as diferenças nos relatórios que podem ocorrer dependendo de qual método você usa.

Visão Geral

O provisionamento do serviço File Storage é totalmente gerenciado e automático à medida que sua utilização aumenta. Para obter mais informações, consulte Alocação de Espaço.

Estes são os métodos que você pode usar para exibir a utilização de seu sistema de arquivos, clones e snapshots:

  • O serviço File Storage relata a utilização do sistema de arquivos com medição de consumo e atualiza a cada hora. A utilização do sistema de arquivos com medição de consumo vem do valor meteredBytes na API e representa o valor de utilização autorizado usado para contar o custo do serviço. Você pode acessar a utilização reportada de cada um dos seus sistemas de arquivos usando a Console, a Interface de Linha de comando (CLI) ou a API. Para obter mais informações, consulte a seção a seguir Utilização com Medição de Consumo do Sistema de Arquivos.
  • O serviço File Storage suporta o protocolo NFS (Network File System), para que você possa usar o comando df ou du da ferramenta de linha de comando da instância para ver o uso de sistemas de arquivos montados. No entanto, o uso reportado por du pode ser diferente do valor meteredBytes e do valor df. Para obter mais informações, consulte Usando Comandos DF e DU.

Alocação de Espaço

O serviço File Storage aloca espaço em blocos de tamanho variável de maneira a minimizar o custo total do cliente e otimizar o desempenho. Outros sistemas de armazenamento podem alocar blocos de forma diferente do Oracle Cloud Infrastructure File Storage. Se você copiar arquivos de outro dispositivo de armazenamento para seu sistema de arquivos Oracle Cloud Infrastructure, poderá ver pequenas diferenças ao comparar o tamanho do arquivo físico antes e depois da cópia.

Medição e Custo do Serviço

Esta seção descreve aspectos do uso do sistema de arquivos e como eles afetam os custos gerais do serviço.

Utilização com Medição de Consumo do Sistema de Arquivos

O serviço File Storage reporta o tamanho da utilização com medição de consumo para cada sistema de arquivos. O tamanho da utilização com medição de consumo é atualizado em um ciclo por hora. Você pode ver o tamanho da Utilização com medição de consumo na Console, na página Detalhes do sistema de arquivos. Esse valor vem da propriedade meteredBytes da API do serviço File Storage que é o número total de bytes consumidos pelo sistema de arquivos. Se o sistema de arquivos for um clone de outro sistema de arquivos, a medição de consumo do clone será feita apenas para os dados diferenciados exclusivos do clone.

O valor meteredBytes é atualizado de forma assíncrona em relação a atualizações no sistema de arquivos. Seus encargos de uso são calculados com base no valor meteredBytes.

Você também pode usar a CLI ou a API para obter essas informações. Consulte Gerenciando Sistemas de Arquivos para obter instruções sobre como exibir a utilização do seu sistema de arquivos.

Importante

Quando você adiciona ou remove arquivos do sistema de arquivos, o serviço File Storage pode levar até uma hora para reportar a alteração no tamanho medido.

Utilização com Medição de Consumo de Snapshot

Um snapshot é uma view pontual do seu sistema de arquivos. Inicialmente, os snapshots não consomem nenhum uso adicional no sistema de arquivos, porque fazem referência aos dados originais em vez de duplicá-los, limitando o custo de uso. Um snapshot não altera a quais blocos ele faz referência depois que é obtido.

O uso de dados do snapshot é medido apenas em relação a dados diferenciados. Se nada tiver sido alterado no sistema de arquivos desde a obtenção do último snapshot, um novo snapshot não consumirá mais armazenamento. O tamanho medido de snapshots é incluído no valor meteredBytes reportado do sistema de arquivos ao qual ele pertence.

Por exemplo:

  1. Digamos que você crie um sistema de arquivos chamado MyFileSystem e adicione File1. O novo sistema de arquivos agora contém 1 GB, incluindo metadados. Após a conclusão do ciclo de atualização por hora, o total de meteredBytes mostrado pelo serviço File Storage é de 1 GB.
  2. Em seguida, você cria um snapshot de MyFileSystem chamado Snapshot1. Após a conclusão do ciclo de atualização por hora, o total de meteredBytes mostrado pelo serviço File Storage permanece em 1 GB, pois ainda não há dados diferenciados.

  3. Então, você substitui o primeiro 0,5 GB de File1. Agora, MyFileSystem tem um arquivo distinto da versão capturada anteriormente em Snapshot1. O valor meteredBytes é de 1,5 GB, pois os dados diferenciados entre o sistema de arquivos ao vivo e o snapshot são de 0,5 GB.

    1 GB (snapshot) + 0,5 GB (dados diferenciados) = 1,5 GB

  4. Se você excluir File1. MyFileSystem terá um valor meteredBytes de 1 GB, que representa apenas o uso de Snapshot1.
  5. Por fim, exclua Snapshot1. A exclusão do snapshot remove suas referências aos dados do arquivo. Desde que nenhum outro snapshot faça referência aos dados do arquivo, o espaço é abandonado e a utilização retorna a zero.

Utilização com Medição de Consumo de Clone

O custo medido inicial de um clone do sistema de arquivos é baseado apenas em seus metadados porque os clones fazem referência aos dados do sistema de arquivos principal em vez de duplicá-los.

A medição de consumo do sistema de arquivos principal de um clone é feita para todos os dados compartilhados com seus clones descendentes. A medição de consumo de um clone é feita para todos os seus metadados e as alterações incrementais feitas em seus dados. Quando um clone é excluído, todos os blocos referenciados exclusivamente por esse clone são reivindicados. Se outro clone estiver sendo hidratado do clone excluído, os blocos de metadados referenciados serão recuperados após a conclusão da hidratação.

Se você excluir um clone principal, quaisquer blocos de dados compartilhados por clones descendentes não poderão ser liberados. Os blocos alocados referenciados pelos clones descendentes são transferidos para o novo sistema de arquivos principal do clone (o sistema de arquivos raiz do sistema de arquivos principal) para fins de medição de consumo. A sua medição de consumo é feita apenas uma vez para os dados compartilhados entre vários sistemas de arquivos.

Por exemplo:

  1. Digamos que você crie um clone de FileSystemA chamado Clone1. No momento da criação e antes de qualquer dado ser alterado:
    • A medição de consumo de "FileSystemA (principal) é feita para os seus dados e metadados.
    • A medição de consumo de Clone1 é feita somente para seus respectivos metadados.
  2. Em seguida, você cria um novo arquivo de 1 GB em Clone1 chamado File1:
    • A medição de consumo de "FileSystemA (principal) é feita para os dados que ele compartilha com Clone1 (clone).
    • A medição de consumo de Clone1 é feita para os seus metadados mais o volume de 1 GB de dados alterados incorridos por File1.
  3. O sistema de arquivos principal de FileSystemA é OriginalRoot. Ele é a raiz da árvore de clones. Digamos que você exclua FileSystemA:
    • OriginalRoot torna-se o novo sistema de arquivos principal de Clone1.
    • A medição de consumo de OriginalRoot é feita para os dados que ele compartilha com Clone1.
    • A medição de consumo de Clone1 é feita para os seus metadados mais o volume de 1 GB de dados alterados incorridos por File1.

Utilização com Medição de Consumo da Replicação

Depois que você ativa a replicação de um sistema de arquivos, o sistema de arquivos é replicado para um sistema de arquivos de destino na região especificada e no domínio de disponibilidade. A medição de consumo do serviço File Storage é feita pela capacidade total armazenada no disco para os sistemas de arquivos de origem e de destino. As taxas cobradas pelos sistemas de arquivos de origem e de destino são iguais.

Sua fatura inclui todos os custos de rede aplicáveis ao processo de replicação entre regiões. Como parte do processo de replicação, todos os dados que estão sendo atualizados no sistema de arquivos de origem são transferidos para a réplica do sistema de arquivos, portanto, os sistemas de arquivos com atualizações contínuas incorrem em custos de rede mais altos. Não há cobrança adicional pela largura de banda entre domínios de disponibilidade na mesma região ou pela transferência de dados de entrada.

Muitos cenários de failback de replicação usam um clone de um sistema de arquivos de origem original. A clonagem da origem do último snapshot completamente aplicado garante que a origem e o destino sejam compatíveis. Você também pode optar por usar um novo sistema de arquivos para failback. No entanto, o uso de um clone do sistema de arquivos de origem original tende a ser mais rápido e econômico do que o uso de um novo sistema de arquivos. Por exemplo:

  1. Digamos que você crie um sistema de arquivos de origem, um Sistema de Arquivos A e um sistema de arquivos de destino, o Sistema de Arquivos B. Você configura a replicação do Sistema de Arquivos A (origem) para o Sistema de Arquivos B (destino). O Sistema de Arquivos A é montado e os dados são gravados nele com base em instâncias ou aplicativos. O processo de replicação duplica atualizações de dados do Sistema de Arquivos A no Sistema de Arquivos B.
    • A medição de consumo do Sistema de Arquivos A (origem) é feita por seus dados e metadados. Conforme os dados são atualizados, o custo pode ser maior.
    • A medição de consumo dos snapshots criados pelo usuário para o Sistema de Arquivos A é feita com base em dados diferenciados apenas no Sistema de Arquivos A.
    • Os dados do Sistema de Arquivos B (destino) são idênticos aos do Sistema de Arquivos A e a medição de consumo é feita por seus respectivos dados e metadados.
    • Os snapshots criados pelo usuário do Sistema de Arquivos B são idênticos aos do Sistema de Arquivos A, e a medição de consumo é feita apenas em dados diferenciados.
    • A medição de consumo dos snapshots criados por replicação é feita apenas em dados diferenciados, e os snapshots são excluídos após a conclusão de um ciclo de replicação.
    Observação

    Até que um ciclo de replicação seja concluído, o uso de dados e metadados do Sistema de Arquivos B poderá ser distinto para o Sistema de Arquivos A.
  2. Então, em algum momento, o domínio de disponibilidade que contém o Sistema de Arquivos A falha e você faz failover para o Sistema de Arquivos B. O Sistema de Arquivos B é montado em instâncias do aplicativo e os dados são gravados nele.
    • A medição de consumo do Sistema de Arquivos A é feito por seus dados e metadados existentes. Como nenhum dado é atualizado, não há alterações de custo.
    • A medição de consumo dos snapshots criados pelo usuário para o Sistema de Arquivos A continua sendo feita com base nos dados diferenciados existentes somente no Sistema de Arquivos A.
    • A medição de consumo dos dados do Sistema de Arquivos B é feita por seus dados e metadados. Conforme os dados são atualizados, o custo pode ser maior.
    • A medição de consumo dos snapshots criados pelo usuário para o Sistema de Arquivos B é feita com base em dados diferenciados apenas no Sistema de Arquivos B.
    • Nenhum snapshot de replicação é criado.
  3. Depois que o domínio de disponibilidade que contém o Sistema de Arquivos A for restaurado, você reverterá a replicação para copiar dados atualizados do Sistema de Arquivos B de volta para o Sistema de Arquivos A e trazê-los de volta para sincronização. Você cria um clone do Sistema de Arquivos A chamado Clone1. No momento da criação e antes de qualquer dado ser alterado:
    • A medição de consumo do Sistema de Arquivos A (origem da replicação original, sistema de arquivos principal do clone) é feita por seus dados e metadados.
    • A medição de consumo de Clone1 é feita somente para seus respectivos metadados.
  4. À medida que a replicação do Sistema de Arquivos B para Clone1 progride, os dados são copiados do Sistema de Arquivos B para o Clone1.
    • A medição de consumo do Sistema de Arquivos A (origem da replicação antiga, sistema de arquivos principal do clone) é feita por seus dados e metadados. Como nenhum dado é atualizado, não há alterações de custo.
    • A medição de consumo dos snapshots criados pelo usuário para o Sistema de Arquivos A continua sendo feita com base nos dados diferenciados existentes somente no Sistema de Arquivos A.
    • A medição de consumo do Clone1 (novo destino) é feita para os dados diferenciados entre ele e o Sistema de Arquivos A. À medida que os dados são replicados do Sistema de Arquivos B para o Clone1, há incorrência de um custo maior.
    • A medição de consumo do Sistema de Arquivos B (nova origem) é feita por seus dados e metadados.
    • A medição de consumo dos snapshots criados pelo usuário para o Sistema de Arquivos B é feita com base em dados diferenciados apenas no Sistema de Arquivos B.
    • A medição de consumo dos snapshots criados por replicação é feita com base em dados diferenciados entre Clone1 e apenas o Sistema de Arquivos B, e os snapshots são excluídos após a conclusão de um ciclo de replicação.

Para obter mais informações, consulte Replicação do Sistema de Arquivos.

Utilização com Medição de Consumo de Metadados

Os arquivos no sistema de arquivos requerem que o espaço seja alocado para os metadados. São necessários 512 bytes para cada entrada de diretório e 8192 bytes para cada link simbólico. Vários links físicos para um arquivo criam várias entradas de diretório para o arquivo e aumentam a utilização dos metadados. Essa utilização é incluída no valor meteredBytes do sistema de arquivos ao qual ele pertence.

Usando Comandos DF e DU

Você pode usar os comandos df ou du do aplicativo de linha de comando da instância para exibir informações de uso do seu sistema de arquivos. Para usar esses comandos para exibir o uso do sistema de arquivos, o sistema de arquivos deve primeiro ser montado na instância. Consulte Montando Sistemas de Arquivos para obter instruções sobre a montagem do sistema de arquivos.

Como os Comandos Funcionam

  • df fornece o volume de armazenamento medido do sistema de arquivos. Os resultados são retornados rapidamente, mas podem estar desatualizados em até 1 hora.
  • du fornece o armazenamento usado por uma hierarquia de diretórios. O comando du percorre a árvore de diretórios e, se sua hierarquia for grande, pode levar muito tempo para executar e retornar resultados.

Como os Resultados Podem Diferir

As seções a seguir explicam como e por que os resultados de df e du diferem:

Os comandos DF e DU reportam a utilização de snapshots e clones de maneira diferente

Um snapshot é uma view pontual de um sistema de arquivos. Os snapshots fazem referência a dados inalterados do sistema de arquivos em vez de duplicá-los. Os blocos do sistema de arquivos a que os snapshots fazem referência não são levados em consideração para a utilização de snapshots. Somente dados diferenciados aumentam a utilização do snapshot.

O mesmo comportamento é verdadeiro para clones do sistema de arquivos. Os clones fazem referência aos dados que compartilham com seu sistema de arquivos principal. Os blocos do sistema de arquivos referenciados pelo clone não são considerados para a utilização do clone. Somente dados diferenciados aumentam a utilização dos clones.

  • O comando df recupera informações fornecidas pelo serviço File Storage usando a chamada NFS FSSTAT. A chamada NFS FSSTAT considera corretamente o modo como os snapshots e clones referenciam os dados do sistema de arquivos. Somente a utilização causada por dados diferenciados é reportada.

    Os snapshots estão acessíveis no diretório raiz do sistema de arquivos em .snapshot/name. Quando você usa um cliente NFSv3 para executar operações como ls, du ou find no diretório de snapshot, o serviço exporta automaticamente o diretório. O cliente usa nfs_d_automount() para detectar e montar o diretório. Depois que o diretório é detectado e montado pela primeira vez, o cliente monta o diretório automaticamente.

    Observação

    Se você tiver expurgado um sistema de arquivos, mas o sistema de arquivos tiver snapshots ou clones, o comando df ainda reportará os blocos subjacentes. Limpar um sistema de arquivos sem excluir instantâneos ou clones não remove esses blocos.
  • O comando du descende da árvore do sistema de arquivos e usa o atributo de tamanho de cada arquivo para totalizar o espaço utilizado. Ao criar um snapshot ou um clone, ele copia o atributo de tamanho original para cada arquivo. Portanto, se você executar o comando du, o snapshot reportará o tamanho do sistema de arquivos no momento em que o snapshot foi feito não necessariamente a utilização atual real do snapshot. Os clones relatam inicialmente o tamanho do sistema de arquivos principal no momento em que o snapshot de origem foi tirado. Quando são feitas alterações para clonar dados, o comando du começa a reportar novos atributos de tamanho somente para arquivos transferidos por upload.

Por exemplo,

  1. Digamos que você crie o sistema de arquivos chamado "MyFileSystem". Então, você adiciona um arquivo de 1 GB chamado "FileA" ao sistema de arquivos. Veja como cada comando reportaria o tamanho.

    Para.. o comando du reporta...

    o comando df reporta...

    FileA 1 GB 1 GB
    MyFileSystem 1 GB 1 GB
  2. Depois, você cria "Snapshot1". O snapshot é colocado na pasta /.snapshot de MyFileSystem. Veja como cada comando reportaria o tamanho:

    Para... o comando du reporta...

    o comando df reporta...

    FileA 1 GB 1 GB
    Snapshot1 1 GB 1 GB

    MyFileSystem

    2 GB 1 GB
    • O comando du reporta 1 GB para Snapshot1 porque ele informa o atributo de tamanho de arquivo copiado de FileA, que é 1 GB.
  3. Em seguida, use "Snapshot1" para criar um clone chamado "Clone1". Veja como cada comando reportaria o tamanho:

    Para... o comando du reporta...

    o comando df reporta...

    FileA 1 GB 1 GB
    Snapshot1 1 GB 1 GB

    MyFileSystem

    2 GB 1 GB
    Clone1 2 GB 0 GB
    • O comando df reporta 0 GB para Clone1 porque os dados ainda não foram alterados, portanto, não há espaço alocado para dados diferenciados.
    • O comando du informa 2 GB para Clone1 porque ele informa o atributo de tamanho de arquivo copiado de FileA, que é 1 GB, e o tamanho de Snapshot1, que é outro 1 GB.
  4. Você adiciona um arquivo de 1 GB chamado "FileB" ao sistema de arquivos clonado. Veja como cada comando reportaria o tamanho:

    Para... o comando du reporta...

    o comando df reporta...

    FileA 1 GB 1 GB
    Snapshot1 1 GB 1 GB

    MyFileSystem

    2 GB 1 GB
    Clone1 3 GB 1 GB
    FileB 1 GB 1 GB
    • O comando df reporta 1 GB para Clone1 para os dados diferenciados adicionados em FileB.
    • O comando du reporta 3 GB para Clone1 porque relata a soma dos atributos de tamanho de arquivo copiados de FileA, FileB e Snapshot1.
Importante

Os encargos são calculados usando o valor meteredBytes. O tamanho de utilização reportado por du pode ser muito maior que o valor meteredBytes. df reporta o mesmo valor que meteredBytes, para que você possa usá-lo para exibir com precisão o tamanho do sistema de arquivos.