Isilon: Noções básicas sobre identificadores de arquivo do Isilon
Summary: Entender como funcionam os identificadores de arquivos do OneFS.
Symptoms
Um identificador de arquivo é a unidade básica de acesso ao Network File System (NFS). São referências a arquivos ou diretórios independentes do nome do arquivo/diretório. Quase todas as chamadas de procedimento remoto (RPC) ou NFS exigem um identificador de arquivo ou identificador de arquivo. Os identificadores de arquivo são opacos para o client, no entanto, os identificadores de arquivo do OneFS são persistentes em todos os nós. No OneFS, as informações do identificador de arquivo são armazenadas em inodes, e todos os arquivos que usam o mesmo inode também usam o mesmo identificador de arquivo. Isso é feito para evitar identificadores de arquivos obsoletos em failovers. O OneFS não recicla identificadores de arquivo, e um identificador de arquivo para um arquivo pode existir, desde que seu arquivo exista.
Cause
Resolution
Em geral, os identificadores de arquivo são criados no servidor NFS e podem variar entre plataformas. No OneFS, um identificador de arquivo é criado quando um LIN (Logical INode) é criado no momento da criação do arquivo. Os identificadores de arquivo consistem em um ID do sistema de arquivos (FSID), ID de exportação e LIN do arquivo/diretório em questão. Os identificadores de arquivo do OneFS são de 64 bits, o que os torna ilimitados em teoria (total possível de identificadores simultâneos de arquivo = 18 quintilhões * 10^19). No uso máximo, teoricamente, poderia levar 1 bilhão de anos para esgotar os Inodes Lógicos disponíveis em um cluster do Isilon.
Como o OneFS não recicla inodes lógicos, pode-se esperar que um LIN se associe a seu identificador de arquivo equivalente.
O trabalho lincount pode ser usado para localizar a contagem de LIN atual do cluster:
# isi job start lincount # isi job reports view <JobID> Example: ------------ ps9500x3-2# isi job start lincount Started job [5983] ps9500x3-2# isi job reports view 5983 LinCount[5983] phase 1 (2025-11-25T20:40:04) -------------------------------------------- LINs traversed 28865 SINs traversed 0 JE/Error Count 0 JE/Time elapsed 7 seconds JE/Time working 9 seconds LinCount[5983] Job Summary -------------------------- Final Job State Succeeded Phase Executed 1
Como os LINs fazem parte dos identificadores de arquivo do OneFS, um LIN pode ser extraído de um identificador de arquivo. Siga o link abaixo para saber mais sobre esse processo.
Como obter um LIN de um identificador
de arquivoAlguns sistemas operacionais e aplicativos legados não podem aceitar identificadores de arquivo de 64 bits e não conseguem interagir com o cluster do Isilon devido a essa limitação.
Para contornar essa limitação, o OneFS pode retornar IDs de arquivo de 32 bits para os clientes, no entanto, esse recurso tem um custo e uma advertência.
Se quatro bilhões de arquivos forem excedidos, ou se houver rotatividade suficiente de arquivos sendo criados e excluídos, existe a possibilidade de que os LINs sejam encapsulados (módulo de 32 bits). Isso pode resultar em vários LINs apontando para o mesmo identificador de arquivo. Matematicamente, essa situação é altamente improvável, mas a possibilidade de perda de dados grave existe se as condições acima forem atendidas. É preciso ter cuidado ao implementar IDs de arquivo de 32 bits. Até o momento em que este artigo foi escrito, nenhuma ocorrência desse problema foi observada em um cluster do Isilon.
Como implementar o uso de IDs de arquivo de 32 bits no NFS
Ocasionalmente, você pode ver problemas com identificadores de arquivos obsoletos. Um identificador de arquivo obsoleto é um identificador de arquivo que não corresponde mais a um FSID ativo. FSIDs são baseados em um ID de geração (GENID) que é semelhante a um "número de versão" para o arquivo. As gravações não são baseadas no GENID mais recente, portanto, um erro de identificador de arquivo obsoleto pode ser lançado.
Identificadores de arquivo obsoletos podem resultar de problemas de cache do client ou o arquivo não foi bloqueado e estava aberto para edição por dois ou mais usuários simultâneos. O bloqueio de arquivos é necessário para remediar identificadores de arquivos obsoletos.