Requisitos de Disco do Armazenamento de Arquivo
A confiabilidade da infraestrutura de armazenamento afeta a capacidade do WebSphere Application Server para manter a integridade dos dados.
Consulte a documentação da infraestrutura de armazenamento para obter informações sobre o nível de confiabilidade que pode ser configurado para fornecer. Exemplos de componentes que podem ser incluídos na infraestrutura de armazenamento são: unidades de disco rígido, controladores RAID, sistemas de arquivos e protocolos do sistema de arquivos da rede.
- Confiabilidade de Entrada/Saída
- Os arquivos de log e de armazenamento são gravados usando APIs Java, de modo que o JVM seja necessário para configurar sinalizadores a fim de indicar que todas as gravações são sincronizadas ou que todas as gravações devem ser forçadas para o disco após determinadas chamadas de API. Isso requer que a ocorrência de qualquer falha não resulte nos dados serem gravados em uma gravação síncrona ou, antes que uma força seja perdida, se tornem corrompidos ou gravados fora de ordem.
- Diversas camadas são envolvidas para honrar essas solicitações de gravação. Apenas os fornecedores do sistema operacional, de sistema de arquivos e de disco rígido podem indicar se as várias configurações disponíveis fornecerão o nível de confiabilidade necessário. Isso também se aplica a outros sistemas de criação de log, como os bancos de dados.
- Em particular, se o dispositivo de armazenamento não estiver na máquina local em que o mecanismo do sistema de mensagens está em execução, e se os arquivos residirem em um sistema de arquivos de rede, como o NFS, o NFS deverá ser configurado para assegurar que esses requisitos sejam atendidos. Não há nenhum teste para assegurar que o armazenamento em cache de gravação não esteja ocorrendo.
- Local do Arquivo
- Se um mecanismo do sistema de mensagens estiver em um membro do barramento de cluster, ele poderá ser executado em diferentes servidores. Isso requer que os arquivos do armazenamento de arquivos estejam localizados no armazenamento compartilhado. O caminho para os arquivos do armazenamento de arquivos, conforme configurado no console de administração, deve ser um caminho para os mesmos arquivos em cada máquina em que o mecanismo do sistema de mensagens possa ser executado. Isso pode ser feito usando o NFS ou outro mecanismo de armazenamento avançado.
- Se os arquivos no caminho especificado não forem os mesmos arquivos, quando o mecanismo do sistema de mensagens efetuar failover de um servidor para outro, esse mecanismo do sistema de mensagens será efetivamente diferente, mas com o mesmo nome. Nenhum dos dados persistentes está disponível para a nova instância do mecanismo do sistema de mensagens.
- Trava de Arquivo
- O arquivo de log é bloqueado usando java.nio.channels.FileLock.tryLock(). O sistema operacional e o sistema de arquivos têm a obrigação de honrar esse bloqueio em todos os casos, bloqueio este que é liberado quando for solicitado explicitamente ou quando o processo Java, no qual o mecanismo do sistema de mensagens está em execução, finalizar inesperadamente.
- Especificamente, o bloqueio, se mantido, deve evitar que qualquer outro processo bloqueie o arquivo, mesmo se esse arquivo estiver sendo acessado por uma máquina diferente. Além disso, se o processo Java que executa o mecanismo do sistema de mensagens finalizar inesperadamente, o bloqueio deverá ser liberado para que a outra máquina possa acessar o arquivo.
- Esse requisito facilita quando um mecanismo do sistema de mensagens está em um membro do barramento de cluster, podendo, com isso, ser executado em diferentes servidores. Se o HAManager instruir um mecanismo do sistema de mensagens a iniciar porque a primeira instância do mecanismo do sistema de mensagens falhou, ele deverá poder bloquear o arquivo de log se o outro processo tiver terminado. Igualmente, se o outro processo não terminou (o cenário conhecido como split brain), a nova instância do mecanismo do sistema de mensagens não deverá poder adquirir o bloqueio, evitando, assim, que o mecanismo do sistema de mensagens seja iniciado.
- Uma ferramenta de teste de trava de arquivo pode ser usada para assegurar que um sistema de arquivos não forneça os requisitos de bloqueio básicos. O documento de Suporte IBM contém mais detalhes sobre a ferramenta de teste do protocolo de bloqueio de sistema de arquivos.