Utilitário OCIFS

O utilitário OCIFS permite montar buckets do Oracle Cloud Infrastructure Object Storage como sistemas de arquivos. Em seguida, você pode gerenciar os objetos nos buckets como arquivos e diretórios regulares.

Problema Conhecido do OCIFS

O problema conhecido a seguir é um bug temporário descoberto no utilitário OCIFS. Este bug está sendo corrigido ativamente, e uma solução alternativa é fornecida.

Algumas Regiões estão Desatualizadas ou Ausentes no Utilitário OCIFS, Versões 1.1 e 1.2

Nas versões 1.1 e 1.2 do utilitário OCIFS, algumas regiões estão desatualizadas ou ausentes, e você pode receber o seguinte erro ao tentar montar um bucket de armazenamento:

# mount -t fuse.ocifs bucket1 /mnt/dir 
Failed to get Object Storage namespace
Error: Couldn't resolve host name
ERROR: Failed to init storage connect

Solução

Se você encontrar essa mensagem, use a opção region=region_name.realm_domain com o comando mount. A opção region substituirá a região especificada no arquivo de configuração da CLI, se você estiver usando autenticação baseada em chave de API. Ele também aborda esse problema para os métodos de autenticação do controlador de instâncias e do controlador de recursos.

Por exemplo, para montar bucket1 na região uk-gov-london-1 dentro do domínio oraclegovcloud.uk:

# mount -t fuse.ocifs -o region=uk-gov-london-1.oraclegovcloud.uk bucket1 /mnt/dir 
Observação

Se você estiver usando o método de autenticação do controlador de instâncias com a versão 1.2 do utilitário OCIFS, talvez continue encontrando essa mensagem de erro, mesmo com a opção region=region_name.realm_domain. Se esse for o caso, alterne para a versão 1.1 do utilitário OCIFS e tente a solução alternativa novamente.

Instalando o Utilitário OCIFS

Instalar o utilitário OCIFS em sistemas ou instâncias com o Oracle Linux 8 ou posterior.

Pré-requisitos:

  • OCI Object Storage: Certifique-se de que o sistema ou a instância na qual você planeja instalar o OCIFS tenha acesso ou possa se conectar a um bucket existente do Object Storage que você deseja montar. O bucket pode estar vazio ou já estar preenchido com objetos. Para obter mais informações sobre O Object Storage, consulte Visão Geral do Serviço Object Storage. Para obter informações sobre como criar um bucket do serviço Object Storage, consulte Criando um Bucket.

  • Espaço em Disco Local: O OCIFS consome espaço em disco local para armazenar objetos do Object Storage em cache. O OCIFS armazena em cache objetos de um bucket montado do Object Storage em um diretório que você pode especificar. Para obter melhor desempenho, designe um diretório local para armazenamento em cache que esteja em um dispositivo de armazenamento com tempo de acesso rápido.

    Além disso, certifique-se de que o diretório de cache esteja em um dispositivo de armazenamento com espaço livre suficiente para hospedar todo o conteúdo do caminho do bucket do Object Storage montado ou, no mínimo, todos os objetos do bucket a serem lidos ou gravados.
    Observação

    As operações do OCIFS poderão falhar se o dispositivo de armazenamento no qual o diretório de cache está localizado estiver cheio. Para obter mais informações sobre armazenamento em cache do OCIFS, consulte Opções de Cache do OCIFS.
  • Arquivo de Configuração de CLI: Por padrão, o OCIFS usa o método de autenticação baseado em chave de API para autenticar o serviço Object Storage. Este método de autenticação requer um arquivo de configuração da CLI que contenha entradas específicas do OCIFS. Para obter informações sobre como configurar o arquivo de configuração do OCIFS, consulte Autenticação Baseada em Chave de API.

Para instalar o utilitário OCIFS:

  1. Conclua os Pré-requisitos.
  2. Ative o repositório oci_included, que contém o pacote ocifs. Esse repositório é ativado por padrão nas imagens da plataforma Oracle Linux.
    Para obter mais informações, consulte Instalando Software em Instâncias do Oracle Linux.
  3. Instale o pacote ocifs:
    sudo dnf install ocifs

Atualizando o Utilitário OCIFS

Para atualizar para a versão mais recente do ocifs:

sudo yum update ocifs

Detalhes do Utilitário OCIFS

Quando você monta um bucket do Object Storage com o OCIFS, o bucket pode ser usado como sistema de arquivos, permitindo que você gerencie os objetos no bucket como diretórios e arquivos regulares.

Embora os objetos no bucket do Object Storage existam em uma estrutura simples, o OCIFS simula uma estrutura de diretório usando strings de prefixo que estão presentes em nomes de objeto que incluem uma ou mais barras (/). O OCIFS é implementado como um sistema de arquivos FUSE, portanto, você não precisa de privilégios raiz para usar o sistema de arquivos.

Observação

Um sistema de arquivos do OCIFS não é compartilhado. Para evitar que dados de objetos sejam corrompidos, não use o OCIFS para montar o mesmo bucket do Object Storage (ou qualquer subpasta de bucket sobreposta) muitas vezes, simultaneamente. Além disso, não altere diretamente um objeto de bucket (por exemplo, com a Console, a CLI ou a API) enquanto o bucket do Object Storage estiver montado.

Para obter mais informações sobre O Object Storage, consulte Visão Geral do Serviço Object Storage.

Para obter informações sobre montagem com o OCIFS, consulte Montando e Desmontando com o OCIFS.

Uso

ocifs [--auth=method] [--config=file] [--region=name.realm_domain] [--cache=path] [--cache-keep] [--cache-reuse] [--cache-fsfree=] [--cache-purge=never|seconds] [--debug=[,...]] [-o ] [-d] [-f] [-s] [--check-bucket bucket-path] [--version] [--mpu-threshold=size] bucket-path directory

Opções do Utilitário OCIFS

As opções do OCIFS podem ser especificadas com o comando ocifs enquanto as opções --option[=value] ou com a opção -o, -o option[=value].

Opções do Utilitário OCIFS

Opção

Descrição

Para obter mais informações, consulte:

auth=method

Define o método de autenticação que o OCIFS usa ao acessar o OCI Object Storage:
  • api_key (Padrão)

  • instance_principal

  • resource_principal

Autenticação do OCIFS

config=file

Define o caminho para o arquivo de configuração da CLI usado para autenticação baseada em chave de API.

Autenticação Baseada em Chave de API

region=name.realm_domain

Substitui a região especificada no arquivo de configuração da CLI.

Autenticação Baseada em Chave de API

Opções de Cache

Define como o cache do OCIFS funciona:
  • cache=path: Define o caminho para o diretório de cache.

  • cache-fsfree: Especifica a quantidade de espaço a ser mantida livre no sistema de arquivos onde o diretório de cache está localizado.

  • cache-keep: Não remove o diretório de cache quando o sistema de arquivos OCIFS é desmontado.

  • cache-purge: Especifica o atraso de expurgação do cache.

  • cache-reuse: reutiliza o diretório de cache existente, mesmo que o diretório não esteja vazio.

Opções de Cache do OCIFS

debug=level

Define o nível ou níveis de depuração e mostra as informações de depuração na saída do comando ocifs. Níveis de depuração:

  • all: Depurar todas as operações.

  • cache: Depurar operações de cache.

  • fops: Depurar operações FUSE.

  • oci: Depurar solicitações do OCI.

  • other: Depurar outras operações não classificadas.

Para mais de um nível de depuração, separe os níveis com uma vírgula.

Ativando o OCIFS Diagnostics

Opções do FUSE
O comando ocifs aceita as seguintes opções do FUSE:
  • d: Ativa a saída de depuração do FUSE.

  • f: Executa o processo ocifs em primeiro plano.

  • s: Executa o processo ocifs de thread único em vez de multithread.

Além disso, as opções de montagem FUSE, descritas na página man fuse(8), podem ser especificadas com a opção -o.

Página man fuse(8)

check-bucket bucket-path

Verifica se o bucket do Object Storage especificado está acessível e se os objetos do bucket têm nomes compatíveis com as regras de montagem do OCIFS.

Restrições de Montagem do OCIFS

version

Exibe a versão do utilitário de OCIFS.

Atualizando o Utilitário OCIFS

limiar de mpu

Define o tamanho do arquivo que, acima do qual, o upload em várias partes é usado.

Opção de Upload Multiparte do OCIFS

bucket-path

Especifica o bucket do Object Storage que você deseja montar.

Montando e Desmontando com o OCIFS

Criando um Bucket

directory

Especifica o diretório no qual montar o bucket do Object Storage.

Montando e Desmontando com o OCIFS

Montando e Desmontando com o OCIFS

Com o utilitário OCIFS, você pode especificar o bucket do Object Storage que deseja montar por seu caminho de bucket.

Os caminhos de bucket podem ser um dos seguintes:

  • Um nome de bucket: Todos os objetos do bucket do Object Storage especificado estão acessíveis como arquivos ou diretórios regulares no diretório montado.

    Por exemplo, para montar o bucket do Object Storage, bucket-1, no diretório mydir:
    $ mkdir ~/mydir
    $ ocifs bucket-1 mydir
  • Uma subpasta de bucket que é um nome de bucket do serviço Object Storage com uma subpasta desse bucket: Somente objetos da subpasta de bucket especificada podem ser acessados como arquivos ou diretórios regulares no diretório montado.

    Por exemplo, para montar a subpasta marathon/participants no bucket do Object Storage bucket-1 no diretório mydir:
    $ ocifs bucket-1/marathon/participants mydir

Montando um Bucket do Serviço Object Storage

Pré-requisitos:

Antes de usar o OCIFS para montar um bucket do Object Storage, revise o seguinte:

Para montar um bucket do serviço Object Storage:

  • Use o comando ocifs:
    ocifs [options] bucket-path directory

    Ou:

  • Use o comando mount(8) para:
    mount -t fuse.ocifs [-o options] bucket-path directory
    Observação

    Com o comando mount, as opções são especificadas com a opção -o: -o option[=value].

    Observação

    O comando mount requer os privilégios apropriados (como raiz).

Exemplos:

  • Monte o bucket do Object Storage bucket-1 no diretório mydir usando o comando ocifs e mantenha o diretório de cache do OCIFS após a desmontagem:

    $ ocifs --cache-keep bucket-1 mydir
  • Monte o bucket do Object Storage bucket-1 no diretório /mnt usando o comando mount e mantenha o diretório de cache do OCIFS após a desmontagem:

    # mount -t fuse.ocifs -o cache-keep bucket-1 /mnt 

Por padrão, o bucket do Object Storage é montado usando a autenticação baseada em chave de API. Consulte Autenticação Baseada em Chave da API.

Desmontando um Bucket do Serviço Object Storage

  • Use o comando fusermount -u:
    fusermount -u directory

    Ou:

  • Use o comando umount(8):
    umount directory
    Observação

    O comando umount requer privilégios apropriados (como raiz).
Exemplos:
  • Desmonte o bucket do Object Storage montado no diretório mydir usando o comando fusermount:

    $ fusermount -u mydir
  • Desmonte o bucket do Object Storage montado no diretório /mnt usando o comando umount:

    # umount /mnt
Observação

A desmontagem de um sistema de arquivos do OCIFS remove seu diretório de cache correspondente, a menos que o sistema de arquivos seja montado com a opção cache-keep. Consulte cache-keep.

Restrições de Montagem do OCIFS

O OCIFS tem várias restrições de montagem a serem consideradas antes da montagem de um bucket do Object Storage.

Revise as seguintes regras e restrições de montagem:

Tipos de Arquivo, Atributos e Dimensionamento

O OCIFS tem o seguinte tipo de arquivo, atributo e restrições de montagem de dimensionamento.

Tipos de Arquivo
O OCIFS suporta apenas arquivos e diretórios regulares. O OCIFS não suporta links simbólicos, links físicos e arquivos especiais (bloco, caractere, quinze, especial).
Atributos do Arquivo
Os atributos de arquivo (permissões, propriedade de usuário e grupo, tempos de acesso/modificação/alteração) não são persistentes entre as montagens. Todos os atributos são redefinidos quando um sistema de arquivos do OCIFS é desmontado e remontado.
Por padrão, as permissões são definidas como 0755 para diretórios e 0644 para arquivos. A propriedade é definida com a uid e a gid do proprietário do sistema de arquivos. Não é possível alterar as permissões e a propriedade do arquivo, a menos que o sistema de arquivos do OCIFS seja montado pelo usuário raiz. A remoção da permissão de gravação em um arquivo impede que os dados recém-lidos sejam armazenados em cache. Nesse caso, o OCIFS não tem permissão para gravar no arquivo armazenado em cache.
Tamanho do Arquivo
O tamanho máximo do arquivo do OCIFS é 10 TiB. Este é o tamanho máximo do objeto do OCI Object Storage.

Regras de Nomeação

Siga as regras de nomeação de montagem do OCIFS para arquivos, caminhos, objetos e prefixos.

Nomes de Arquivo
O tamanho do nome do arquivo do OCIFS é limitado ao tamanho suportado pelo sistema de arquivos que está sendo usado para o cache do OCIFS. O limite de tamanho de nome de arquivo mais comum para sistemas de arquivos é de 255 caracteres. Se um bucket do serviço Object Storage tiver um objeto com um tamanho de nome de arquivo maior que 255 caracteres, o objeto poderá estar visível como um arquivo ou diretório no sistema de arquivos do OCIFS, mas o objeto será somente leitura e não poderá ser armazenado em cache. Como o objeto não está armazenado em cache, o tempo de acesso ao objeto pode ficar lento.
O acesso de leitura/gravação e o armazenamento em cache do objeto do OCIFS podem ser restaurados renomeando o objeto com um nome compatível com o sistema de arquivos usado para o cache do OCIFS. Você pode usar a Console do Oracle Cloud para renomear um objeto ou pode renomear o objeto com o OCIFS usando o comando mv(1).
Nomes de Caminho
O OCIFS suporta nomes de caminho com no máximo 1023 caracteres.
Nomes de Objeto Incompatíveis
Um bucket do Object Storage pode ter objetos com nomes que não são compatíveis com as convenções de nomenclatura do sistema de arquivos do Oracle Linux (Por exemplo: //directory ou directory////mydirectory). No entanto, esses objetos não estão acessíveis nem visíveis com o OCIFS. Para serem utilizáveis com o OCIFS, esses objetos devem ser renomeados com nomes compatíveis com as convenções de nomenclatura do sistema de arquivos do Oracle Linux. Você pode usar a Console do Oracle Cloud para renomear um objeto.
Um nome de objeto pode ter até 1024 caracteres e pode ter um nome de arquivo do OCIFS correspondente maior que o limite usual de nome de arquivo do sistema de arquivos (255 caracteres). No entanto, o acesso a esses objetos com o OCIFS é limitado.
Para verificar se um bucket do Object Storage tem nomes que não são compatíveis com o sistema de arquivos do OCIFS, use a opção --check-bucket do comando ocifs. Consulte Detalhes do Utilitário OCIFS.
Conflitos de Nome de Objeto e Prefixo
Se o mesmo nome for usado como nome de objeto do serviço Object Storage e como nome de prefixo, esse nome será exibido como uma entrada de diretório com o OCIFS. O objeto com o mesmo nome não está acessível por meio do OCIFS. Para tornar o objeto visível por meio do OCIFS, você deve renomear o objeto com um nome que não seja usado como prefixo.
Por exemplo, se um bucket do serviço Object Storage tiver os objetos directory e directory/mydirectory, directory será usado como nome de objeto e como nome de prefixo. Nesse caso, o OCIFS mostra a entrada directory como um diretório e fornece acesso a todos os objetos que começam com o prefixo directory/ (Por exemplo, objeto directory/mydirectory). No entanto, o objeto directory não está acessível.
Use a opção --check-bucket do comando ocifs para verificar se um bucket tem nomes de objeto e prefixo em conflito.

Sincronização de Dados

O OCIFS fornece diferentes opções para sincronização de dados.

Ao gravar em um arquivo OCIFS, os dados são sincronizados (os dados são efetivamente gravados de volta no objeto Object Storage correspondente) quando o arquivo OCIFS é fechado. Qualquer erro de sincronização de dados é reportado pela chamada do sistema close(2). For information about dealing with error returns from close(), see the NOTES section of the close(2) man page. Você também pode solicitar que os dados sejam explicitamente sincronizados usando fsync(2) ou fdatasync(2).

Ou você pode fazer com que as operações de gravação sincronizem dados imediatamente para um arquivo específico (abrindo o arquivo com o flag O_SYNC ou O_DSYNC) ou para todos os arquivos (montando o sistema de arquivos OCIFS com a opção sync (-o sync).
Observação

O uso dos sinalizadores de abertura O_SYNC ou O_DSYNC ou a opção de montagem sync pode afetar negativamente o desempenho.

Autenticação do OCIFS

Use os métodos de autenticação baseados em chave (padrão) da API, controlador de instâncias ou controlador de recursos com o utilitário OCIFS.

Ao montar um bucket do serviço Object Storage com o utilitário OCIFS, você pode usar a opção auth=method com o comando ocifs para especificar qual método de autenticação usar para acessar e autenticar o serviço Object Storage.

Para obter mais informações, consulte:

Autenticação Baseada em Chave de API

Especifique e configure o método de autenticação baseada em chave de API para montar buckets do Object Storage com o OCIFS.

A autenticação baseada em chave de API é o método de autenticação padrão para OCIFS e pode ser usada em uma instância de computação do OCI ou em qualquer outro sistema. Este método de autenticação requer um SDK do OCI local e um arquivo de configuração da CLI. É possível especificar o arquivo de configuração usando a opção config=file com o comando ocifs. Por padrão, o arquivo de configuração é ~/.oci/config.

Por exemplo, se você montar o bucket do serviço Object Storage, bucket-1, no diretório mydir e quiser usar a autenticação baseada em chave de API com o arquivo de configuração da CLI ~/my_config:
$ ocifs --auth=api_key --config=~/my_config bucket-1 mydir

Antes de montar um bucket do serviço Object Storage usando o método de autenticação baseado em chave de API, certifique-se de que o arquivo de configuração da CLI (~/.oci/config) tenha um perfil [DEFAULT] e as entradas especificadas na tabela a seguir.

Entradas do Arquivo de Configuração para Autenticação Baseada em Chave de API

Entrada

Descrição

Exemplo

user

OCID do usuário que está acessando o Oracle Cloud Infrastructure

user=ocid1.user.oc1..unique_ID

tenancy

OCID da sua tenancy

tenancy=ocid1.tenancy.oc1..unique_ID

region

Uma região do Oracle Cloud Infrastructure

region=regional_area_name

key_file

Caminho completo e nome da pasta para a chave privada

key_file=~/.oci/oci_api_key.pem

fingerprint

Impressão digital da chave pública usada por este usuário

fingerprint=00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff

Para obter mais informações, consulte Arquivo de Configuração da CLI e de SDKs.

Autenticação do Controlador de Instâncias

Em vez do método de autenticação baseado em chave da API padrão, você pode usar o método de autenticação do controlador de instâncias com o utilitário OCIFS.

Use o método de autenticação do controlador de instâncias para OCIFS somente de uma instância autorizada do Oracle Cloud Infrastructure. Esse método de autenticação permite que instâncias especificadas acessem o Object Storage sem um arquivo de configuração da CLI. A instância então descobre automaticamente informações para autenticação.

A autenticação do controlador de instâncias deve ser usada para montar um bucket do serviço Object Storage em uma instância de computação que foi configurada como um controlador de instâncias.

Por exemplo, para montar um bucket do Object Storage, bucket-1, no diretório mydir usando a autenticação do controlador de instâncias:

$ ocifs --auth=instance_principal bucket-1 mydir

Para usar a autenticação do controlador de instâncias, uma instância de computação deve fazer parte de um grupo dinâmico e uma política deve permitir que o grupo dinâmico gerencie o serviço Object Storage. Você pode usar o verbo manage object-family e o tipo de recurso para definir uma política que permita o gerenciamento de objetos do serviço Object Storage. Para obter mais informações sobre grupos dinâmicos, consulte Gerenciando Grupos Dinâmicos.

Por exemplo, para permitir que uma instância de computação (com o id de instância ocid1.instance.OCID) use a autenticação do controlador de instâncias:

  1. Crie um grupo dinâmico dgroup-ocifs com a seguinte regra que corresponda à instância de computação:

    All {instance.id = 'ocid1.instance.OCID'}
  2. Crie uma política que permita que esse grupo dinâmico, dgroup-ocifs, gerencie o serviço Object Storage:

    Allow dynamic-group dgroup-ocifs to manage object-family in compartment id ocid1.tenancy.tenancy_ID

Para obter mais informações, consulte Chamando os Serviços em uma Instância.

Autenticação do Controlador de Recursos

Em vez do método de autenticação baseado em chave da API padrão, você pode usar o método de autenticação do controlador de recursos com o OCIFS.

Use o método de autenticação do controlador de recursos com o OCIFS somente de uma função autorizada do OCI (Oracle Cloud Infrastructure). Esse método de autenticação permite que a função especificada acesse outro recurso, ou o Object Storage, sem um arquivo de configuração da CLI. Em seguida, a função OCI descobre automaticamente informações para autenticação.

Para usar a autenticação de recursos, uma função do OCI deve fazer parte de um grupo dinâmico, e uma política deve permitir que o grupo dinâmico acesse esse recurso ou o serviço Object Storage. Para obter mais informações sobre grupos dinâmicos, consulte Gerenciando Grupos Dinâmicos.

Para obter informações sobre funções do OCI que acessam outros recursos do OCI, consulte Acessando Outros Recursos do Oracle Cloud Infrastructure.

Para usar o método de autenticação de recursos com o OCIFS, digite --auth=resource_principal ao montar um bucket com o comando ocifs.

Por exemplo, para montar um bucket do serviço Object Storage, bucket-1, no diretório mydir usando a autenticação do controlador de recursos:

$ ocifs --auth=resource_principal bucket-1 mydir

Ativando o OCIFS Diagnostics

Para ativar o diagnóstico do OCIFS, use o comando ocifs com a opção -f para executar o processo OCIFS em primeiro plano e especificar níveis de depuração com a opção --debug.

Por exemplo, para exibir informações de diagnóstico em todas as operações do OCIFS para o bucket do Object Storage bucket-1, montado no diretório mydir:

$ ocifs -f --debug=all bucket-1 mydir

Ou você pode usar a opção -d com o comando ocifs para ativar a depuração do FUSE em todas as operações.

Por exemplo:

$ ocifs -d --debug=all bucket-1 mydir

Opções de Cache do OCIFS

Use as opções de cache do OCIFS para especificar como o cache do OCIFS funciona.

O utilitário OCIFS armazena em cache objetos de um caminho de bucket montado do Object Storage em um diretório local (por padrão: ~/.ocifs/bucket/).

Se o dispositivo de armazenamento no qual o diretório de cache está localizado ficar cheio, algumas operações do OCIFS poderão falhar.

Você pode especificar como o cache do OCIFS é usado e funciona com as seguintes opções de cache ocifs:

cache

Você pode alterar o diretório de cache do OCIFS com a opção cache=path do comando ocifs.

Por padrão, o OCIFS armazena objetos no cache em ~/.ocifs/. Você pode alterar esse diretório de cache usando a opção cache=path. Esta opção define o diretório de cache para o caminho especificado. O caminho pode ser absoluto ou relativo para o diretório inicial do usuário.

Por exemplo, para montar o bucket do serviço Object Storage bucket-1 no diretório mydir e usar /var/tmp/ocifs-cache como o diretório de cache do OCIFS:
$ ocifs --cache=/var/tmp/ocifs-cache bucket-1 mydir

livre de cache

Você pode impedir que o utilitário OCIFS preencha acidentalmente o espaço no sistema de arquivos de cache com a opção ocifs do comando cache-fsfree.

Use a opção cache-fsfree para especificar a quantidade de espaço que deve permanecer livre no sistema de arquivos de cache. Se o espaço livre for maior que a quantidade especificada, o OCIFS tentará armazenar dados em cache. Caso contrário, o OCIFS não executará o armazenamento em cache. Se o OCIFS não conseguir armazenar dados no cache, algumas operações do OCIFS poderão falhar, como operações de gravação.

Observação

A opção cache-fsfree não altera a forma como os atributos das entradas do OCIFS (como o tamanho) são armazenados em cache.

Os valores de tamanho do diretório de cache são listados na tabela a seguir.

Valores do Tamanho do Diretório de Cache

Valor

Descrição

Exemplo

0

Não verifique se há espaço livre no sistema de arquivos de cache. Com essa opção, o OCIFS tenta armazenar dados em cache, não importa quanto espaço livre esteja disponível no sistema de arquivos em cache.

$ ocifs --cache-fsfree=0 bucket-1 mydir

percent%

Este valor especifica a porcentagem de espaço (entre 0% e 100%) que deve permanecer livre no sistema de arquivos de cache.

Se a porcentagem for 100%, nenhum dado será armazenado em cache.

$ ocifs --cache-fsfree=20% bucket-1 mydir

number[K|M|G|T]

Esse valor especifica a quantidade de espaço em Kilobytes (K), Megabytes (M), Gigabytes (G) ou Terabytes (T) que devem permanecer livres no sistema de arquivos de cache.

$ ocifs --cache-fsfree=1G bucket-1 mydir

number[K|M|G|T]i

Este valor especifica a quantidade de espaço em Kibibytes (Ki), Mebibytes (Mi), Gibibytes (Gi) ou Tebibytes (Ti) que devem permanecer livres no sistema de arquivos de cache.

$ ocifs --cache-fsfree=1Gi bucket-1 mydir

Observações:

  • A definição padrão é cache-fsfree=5%.
  • O uso da opção 0, 0%, 0[K|M|G|T], ou 0[K|M|G|T]i tem o mesmo efeito.
  • A utilização da opção 100% ou de uma quantidade de espaço maior ou igual ao tamanho do sistema de arquivos tem o mesmo efeito.

manutenção de cache

Você pode manter o cache do OCIFS com a opção cache-keep do comando ocifs, mesmo que o sistema de arquivos do OCIFS esteja desmontado.

A desmontagem do sistema de arquivos do OCIFS remove o diretório de cache do OCIFS, a menos que você monte o sistema de arquivos com a opção cache-keep.

Por exemplo, para montar um bucket do Object Storage, bucket-1, no diretório mydir, e ter o cache preservado após a desmontagem:

$ ocifs --cache-keep bucket-1 mydir

Observações:

  • Se você utilizar a opção cache-keep, talvez não consiga montar o sistema de arquivos novamente, a menos que utilize a opção cache-reuse.
  • Manter os dados em cache após desmontar o sistema de arquivos pode melhorar o desempenho na próxima vez que você montar o sistema de arquivos. No entanto, o OCIFS não verifica se há discrepâncias entre os dados no cache e os dados reais no bucket do Object Storage.

expurgação de cache

A opção cache-purge do utilitário OCIFS permite remover dados do cache OCIFS para arquivos que foram fechados por um período especificado.

Por padrão, o cache do OCIFS nunca é expurgado. Os dados de cache são mantidos no diretório de cache enquanto o sistema de arquivos estiver montado. O diretório de cache só é removido quando o sistema de arquivos do OCIFS é desmontado.

Usando a opção cache-purge, você pode especificar a quantidade de tempo que os dados permanecem no cache após o fechamento de um arquivo. É possível usá-lo para preservar espaço em disco, especialmente se os arquivos não forem acessados com frequência. Isto é útil, por exemplo, se você escrever novos arquivos e não acessar os arquivos novamente.

O atraso de expurgação do cache do OCIFS pode ser especificado conforme listado na seguinte tabela:

Valores de Atraso na Expurgação do Cache OCIFS

Valor

Descrição

Exemplo

never

Nunca expurgue o cache do OCIFS. Com esse valor, os dados armazenados em cache são preservados desde que o sistema de arquivos OCIFS seja montado. (Padrão)

$ ocifs --cache-purge=never bucket-1 mydir

tempo de atraso

O atraso da limpeza, em segundos, antes de limpar os dados armazenados no cache. Se o atraso de limpeza for definido como 0, os dados em cache de um arquivo serão limpos imediatamente após o arquivo ser fechado.

$ ocifs --cache-purge=30 bucket-1 mydir

Observação

A definição de um atraso de expurgação do cache do OCIFS, em particular com um valor pequeno, pode impactar negativamente o desempenho. Isso ocorre porque os dados são eventualmente removidos do cache quando um arquivo não é usado. Se um arquivo for reaberto posteriormente e lido, o desempenho poderá ser lento, pois os dados do arquivo não estão no cache.

reutilizar cache

A opção cache-reuse do utilitário OCIFS permite que um sistema de arquivos OCIFS seja montado, mesmo que haja um diretório de cache existente não vazio.

Por padrão, o OCIFS impede a montagem de um sistema de arquivos se ele tiver um diretório de cache não vazio. Com a opção cache-reuse, você pode remontar o sistema de arquivos e reutilizar o diretório de cache existente, se presente.

Por exemplo, para montar o bucket do serviço Object Storage, bucket-1, no diretório mydir, e reutilizar o diretório de cache existente:

$ ocifs --cache-reuse bucket-1 mydir

Observações:

  • Você pode ter um diretório de cache não vazio se o sistema de arquivos foi montado anteriormente com a opção cache-keep, ou se o processo ocifs foi eliminado ou travou.
  • A reutilização de um cache existente pode melhorar o desempenho, pois o utilitário OCIFS pode acessar dados que já estão no cache mais rapidamente. No entanto, o uso da opção cache-reuse não é recomendado porque o OCIFS não verifica discrepâncias entre os dados no cache e os dados reais no bucket do Object Storage.

Opção de Upload Multiparte do OCIFS

O OCIFS usa o upload multiparte do Oracle Cloud Interface (OCI) Object Storage para fazer upload de objetos grandes para o OCI Object Storage.

Quando o OCIFS usa upload em várias partes para fazer upload de um objeto, ele divide o objeto em partes com um tamanho máximo de 50 GiB. Em seguida, as partes são carregadas por um pool de threads.

Você pode especificar como o OCIFS usa upload em várias partes com a opção de comando mpu-threshold do OCIFS.

limiar de mpu

O OCIFS permite que você determine quando ele usa upload em várias partes para fazer upload de arquivos grandes para o Object Storage. Com a opção mpu-threshold=size do OCIFS, você pode especificar o tamanho do arquivo que, acima do qual, inicia o upload em várias partes.

O valor limite de tamanho de upload multiparte padrão é 100 Mebibytes (recomendado).

A tabela a seguir lista os valores de opção mpu-threshold=size suportados.

Valores de limite de mpu do OCIFS

Valor

Descrição

Exemplo

0

Sempre use o upload em várias partes (não recomendado).

$ ocifs --mpu-threshold=0 bucket-1 mydir

number[KMGT]

O tamanho em quilobytes (K), megabytes (M), gigabytes (G) ou terabytes (T) acima do qual o upload em várias partes é usado.

$ ocifs --mpu-threshold=150M bucket-1 mydir

number[KMGT]i

O tamanho em Kibibytes (Ki), Mebibytes (Mi), Gibibytes (Gi) ou Tebibytes (Ti) acima do qual o upload multiparte é usado.

$ ocifs --mpu-threshold=150Mi bucket-1 mydir