DVR do cluster¶
O arquivo fica nos discos dos streamers, mas as decisões sobre ele valem para o cluster inteiro: o espaço acaba em uma máquina e o stream se muda para outra. A seção DVR do cluster responde a duas perguntas: quanto espaço de arquivo existe e o que exatamente o ocupa. A configuração dos discos está na página do streamer; a gravação e a reprodução do arquivo, em Arquivo DVR.
Streamers sem armazenamento DVR não aparecem na seção: nem na lista nem nos totais. Se ninguém o tiver configurado, em vez de uma tabela você verá «Nenhum streamer do cluster tem armazenamento DVR configurado».
Três baldes de espaço ocupado¶
O espaço ocupado é sempre dividido em três partes, e isso é o principal que a seção oferece. Os mesmos três baldes são calculados para um disco, para um streamer e para o cluster inteiro:
- Ativo — arquivo dos streams que o streamer é obrigado a gravar pela sua configuração. É espaço bem gasto.
- Órfão — arquivo que está no disco sem nenhuma configuração de stream por trás. Normalmente são restos de streams excluídos ou realocados.
- Desconhecido — o restante do espaço ocupado que o catálogo não explica: arquivos que ninguém escaneou e a reserva do sistema de arquivos.
A barra de ocupação vai da esquerda para a direita nessa mesma ordem, então «o espaço foi comido pelo que não devia» aparece como uma cauda à direita.
Um disco não é problemático só por estar cheio. Um disco cheio de arquivo ativo é a retenção funcionando como projetado. O problema é um disco ocupado em 98 % cujo arquivo ativo representa menos de 90 %: o espaço foi para órfão ou para desconhecido. Esses discos ganham borda vermelha, e os streamers que os têm ficam no topo da lista.
Visão geral do cluster¶
O cartão superior traz os totais de todos os streamers: Capacidade, ativo, órfão, desconhecido e o número de streamers com arquivo, mais uma barra de ocupação geral.
Abaixo, uma linha por streamer: o nome (link para os seus discos), a barra de ocupação, a quantidade de discos, quantos têm problema e «ocupado / capacidade». Os dados são relidos a cada 5 segundos.

Quando não se pode confiar na divisão¶
Distinguir o ativo do órfão exige o mapa de streams, e o mapa nem sempre está lá. A seção avisa com franqueza e mostra o espaço ocupado inteiro em vez de uma divisão errada:
- divisão sendo calculada — o streamer recalcula os agregados do catálogo em segundo plano e a primeira passagem ainda não terminou. Aguarde.
- divisão não confiável: configuração não aplicada — o streamer não aplicou a sua configuração de gravação. Sem o mapa de streams todo o arquivo parece órfão, então nenhuma divisão é mostrada. O que precisa de conserto não é o arquivo, e sim a entrega da configuração — veja Diagnóstico do streamer.
- tamanho ainda sendo calculado: N blobs — alguns blobs ainda não têm tamanho calculado; seus bytes contam por ora como espaço desconhecido.
Não tome decisões de limpeza enquanto a divisão não estiver pronta: um órfão medido com a configuração não aplicada não é um órfão.
Discos de um streamer¶
Clicar no nome de um streamer abre os seus discos em cartões: caminho, barra de ocupação com a mesma divisão, percentual ocupado e capacidade.

Um disco do qual não há o que mostrar na barra exibe o seu estado no lugar:
- disco indisponível — o streamer não conseguiu alcançá-lo.
- não montado — gravação na partição do sistema desabilitada — o caminho do arquivo caiu na partição raiz e não em um volume. A gravação é rejeitada de propósito: a verificação de montagem vem ligada por padrão.
Cache do arquivo¶
Um streamer que serve o arquivo de outro pode guardar o que leu nos seus próprios discos de cache — então uma solicitação repetida da mesma parte é servida localmente, sem ir à fonte. É assim que se monta um edge: os discos de cache são configurados nas definições do streamer, e o cache é ligado no stream.
Um disco de cache na lista de discos do streamer é outro cartão, não o de arquivo cheio de zeros. Ele não tem os três baldes de espaço ocupado: não guarda nem arquivo atual nem orphan, e uma proporção de ocupado calculada sobre ele seria desonesta — refletiria a distribuição da gravação e não a saúde do disco. Em vez disso o cartão mostra:
- Cache do arquivo — o rótulo do papel sob o caminho do disco.
- Cache N / limite N — quanto o cache ocupou e quanto lhe é permitido. Sem limite definido — sem limite: o cache é limitado apenas pelo espaço livre do volume.
- Acertos/s — a taxa de leituras servidas por este disco. É o que denuncia um disco morto no qual nada cai, e uma distribuição torta.

Uma borda vermelha e a linha O espaço livre está abaixo do limite: o despejo não acompanha as gravações significam que o cache é gravado mais rápido do que libera espaço. Cura-se com um limite de cache, não com limpeza manual.
Na visão geral do cluster o cache tem duas leituras próprias:
- Cache do arquivo — o volume total de cache em todos os streamers.
- Taxa de acertos — a proporção de leituras do arquivo servidas pelo cache. A linha do streamer diz o mesmo de forma mais curta: Cache N e cache N %.
A taxa de acertos é a proporção de acertos entre todas as leituras do arquivo: as servidas pelo cache, as servidas por um disco de arquivo e as que foram a uma fonte remota. A emissão ao vivo e a busca em segundo plano do próximo fragmento não entram nela — caso contrário essa busca inflaria a taxa quanto melhor funcionasse.
Se não houver cache algum no cluster, essas leituras também não aparecem: zeros seriam lidos como «há cache e ele não funciona».
A mecânica do cache em si — admissão, despejo pela última leitura, um edge funcionando sem discos de arquivo — está descrita na documentação do Sapsan.
Reconstrução do índice¶
O catálogo do arquivo e o conteúdo dos discos podem divergir — por exemplo, depois de mover ficheiros à mão ou restaurar de um backup. O botão Reconstruir índice faz o streamer percorrer os seus discos e acrescentar ao catálogo os blobs que faltam.
A solicitação é gravada na configuração do streamer em vez de ser enviada diretamente. É por isso que ela sobrevive à indisponibilidade do streamer: se a máquina está offline, a solicitação espera o retorno dela. Daí também a sua fase própria: a solicitação está gravada, mas o streamer ainda não a assumiu.

Os estados que o cartão mostra:
- A reconstrução do índice nunca foi executada. — o estado inicial.
- Solicitação gravada, o streamer ainda não a assumiu. — a solicitação está na configuração e o streamer não chegou até ela.
- Em andamento: blobs N, adicionados N, reescaneados N. — a varredura está em curso. Os blobs reescaneados são os caros: o MP4 deles é relido por inteiro, e é isso que explica o ritmo.
- A última reconstrução terminou há N, blobs adicionados: N. — a varredura acabou.
- A última reconstrução foi interrompida há N. — a varredura não chegou ao fim.
- A configuração do streamer está indisponível: não há onde gravar a solicitação. — o botão fica desabilitado enquanto a configuração não puder ser lida.
A varredura corre em paralelo pelos discos. Parar interrompe uma reconstrução em curso — a solicitação de parada é gravada do mesmo jeito, pela configuração.
A única coisa que impede o início é uma varredura já em andamento. Uma reconstrução não interfere na gravação nem na reprodução do arquivo.