← SAN: caminhos, acesso e operação
08 / 12 · 60 MIN

Recuperação, filas e retirada de acesso

Estima a redução de filas sob premissas explícitas e define evidência de recuperação, expansão e descomissionamento por dependências.

Uma fila continua depois do caminho voltar

O quinto grupo começa com 300 operações em espera. Entram 80 por segundo e concluem-se 100 por segundo, sem novas falhas, limites adicionais ou retries. A capacidade líquida para reduzir a fila é vinte, pelo que o modelo prevê quinze segundos. Após cinco segundos restam duzentas operações. Faz a conta incluindo entradas e saídas antes de consultar o resultado. Dividir 300 por 100 ignora trabalho novo e produz uma previsão demasiado otimista. Estes números são escolhidos para ensinar o raciocínio; não são medições de uma SAN. Num incidente, define uma janela comparável, recolhe taxas reais e revê a previsão quando a carga ou a capacidade muda.

Distinguir prazo desconhecido de fila vazia

A variante seguinte mantém 300 operações, mas faz coincidir entradas e capacidade em 80 por segundo. O resultado drainSeconds=null significa que o modelo não encontra redução líquida, não que a fila esteja vazia. Uma taxa de conclusão positiva pode coexistir com atraso persistente. No reporte, apresenta a fila observada, a diferença entre taxas e as condições da previsão. Evita prometer um prazo quando a capacidade disponível não supera a procura. Avalia com os responsáveis medidas como controlar admissões ou aumentar capacidade efetiva, considerando o impacto no negócio. O exercício não escolhe automaticamente uma mitigação. Essa escolha exige prioridades, limites e evidência que a aritmética simples não contém.

Reconciliar escritas sem confirmação

O retorno de um caminho não esclarece, por si só, o resultado de cada operação. No caso fictício, três escritas continuam sem confirmação da aplicação, mesmo depois de um probe positivo. Não as classifiques automaticamente como não executadas nem as repitas com novos identificadores sem compreender a semântica do consumidor. Regista os identificadores de negócio disponíveis, o intervalo afetado e quem confirma os resultados. Uma política de I/O em espera e um timeout da aplicação podem produzir perspetivas diferentes sobre o mesmo trabalho. A oficina usa essa diferença para praticar comunicação e reconciliação. Não simula o protocolo de escrita, a durabilidade da base de dados ou as garantias de um processador de pagamentos.

Verificar a expansão por camadas

O sexto grupo define uma dimensão pretendida de 750 GiB e quatro observações: 750, 750, 500 e 500. O predicado de consistência falha. Quando os quatro valores passam a 750, esse predicado passa, mas o modelo continua a indicar que não demonstrou crescimento do filesystem. Cada evidência tem um alcance limitado. Numa expansão real, identifica a pilha efetiva, incluindo eventuais partições, LVM, encriptação e consumidores, e segue o procedimento aplicável. Não somes capacidades dos caminhos nem uses a média como critério de aceitação. O script não faz rescan nem redimensiona dispositivos. O produto da oficina é uma lista de verificações por camada, com responsáveis e condições para interromper a mudança.

Construir uma ordem de retirada válida

O sétimo grupo usa um grafo de tarefas original. Parar API e batch são pré-condições de libertar consumidores; seguem-se flush-and-detach e retirada do mapping. A ordenação respeita ambas as entradas. Uma variante retira mapping logo depois de parar a API e é rejeitada porque ainda falta tratar o batch e as camadas seguintes. Outra variante contém um ciclo e não admite uma ordenação completa. O resultado ajuda a rever um plano, mas não comprova que qualquer tarefa foi executada. Antes de descomissionar, transforma cada passo agregado num procedimento adequado à plataforma e define a evidência de conclusão. Um agendamento antigo pode continuar a ser consumidor mesmo quando não há processo ativo naquele minuto.

Fechar com aceitação e pendências explícitas

No último grupo, os quatro caminhos esperados estão presentes e o probe de I/O passou. A aceitação do batch está falsa e há três escritas por reconciliar, pelo que o critério fictício de fecho continua falso. Não apagues a evidência de recuperação técnica, mas também não declares recuperação funcional completa. Termina a oficina com um reporte de cinco linhas: impacto atual, evidência obtida, trabalho pendente, responsável e próxima atualização. Depois revê um cenário em que a taxa diminui durante a recuperação e explica por que motivo a previsão anterior deixa de servir. O guião está preparado para uma discussão de equipa; esta publicação não afirma que um grupo humano o tenha executado ou validado.

python3 content/labs/san-evidence/run.py
# Synthetic queue: initial=300, arrivals=80/s, completions=100/s
# Net drain=20/s; after 5s: 200 pending; total drain=15s
# If arrivals=capacity=80/s: no finite drain forecast
# Growth fixture: [750,750,500,500] GiB -> path gate fails
# Offline calculations; no multipath configuration or LUN changes.
NA PRÁTICA

Após repor os caminhos de uma aplicação fictícia de instruções financeiras, continuam operações em fila e escritas sem confirmação. O reporte distingue conectividade de aceitação funcional.

Armadilhas comuns

Dividir a fila pela capacidade bruta, prometer tempos sem premissas, tratar timeout como escrita não executada e retirar mapping antes de parar consumidores.

Tópicos relacionados: Gestão de incidentes · Gestão de mudanças · Disaster Recovery

Leva esta ideia contigo

A recuperação só pode ser descrita com precisão quando distingues caminhos, trabalho pendente, resultados desconhecidos e aceitação do serviço.

Criar conta

Referência: fractions: rational numbers · DR SAN 2026-09; selected RHEL 9, ONTAP 9 and iSCSI behavior