Skip to content

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.

Visão geral do cluster: totais por balde e uma linha de streamer com três discos

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.

Os discos de um streamer: cada um com a sua barra dividida nos três baldes

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.

Os discos de um streamer edge: o cartão do disco de cache ao lado dos de arquivo

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.

O cartão de reconstrução do índice no estado inicial

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.