Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Esta é uma documentação não divulgada para SUSE® Storage 1.12 (Dev).

Limpeza de Dados Órfãos

SUSE Storage suporta a limpeza de dados órfãos. Atualmente, SUSE Storage pode identificar e limpar os diretórios de réplicas órfãs nos discos.

Diretórios de Réplicas Órfãs

Quando um usuário introduz um disco em um nó SUSE Storage, ele pode conter diretórios de réplicas que não são rastreados pelo sistema SUSE Storage. Os diretórios de réplicas não rastreados podem pertencer a outros clusters SUSE Storage. Ou, os CRs de réplica associados aos diretórios de réplicas são removidos após o nó ou o disco ficarem fora do ar. Quando o nó ou o disco volta, os diretórios de dados de réplica correspondentes não são mais rastreados pelo sistema SUSE Storage. Esses diretórios de dados de réplica são chamados de órfãos.

SUSE Storage suporta a detecção e limpeza de diretórios de réplicas órfãs. Ele identifica os diretórios e fornece uma lista de recursos orphan que descrevem esses diretórios. Por padrão, SUSE Storage não exclui automaticamente os recursos orphan e seus diretórios. Os usuários podem acionar a exclusão de diretórios de réplicas órfãs manualmente ou fazê-lo automaticamente.

Quando a exclusão automática de órfãos está habilitada, SUSE Storage exclui automaticamente os Recursos Personalizados (CRs) órfãos e seus diretórios associados após o atraso definido pela configuração orphan-resource-auto-deletion-grace-period. Se um usuário excluir manualmente um CR órfão, a exclusão ocorre imediatamente e não respeita este período extra.

Exemplo

O seguinte exemplo demonstra como gerenciar diretórios de réplicas órfãs identificados por SUSE Storage via kubectl e SUSE Storage UI.

Gerenciar Diretórios de Réplicas Órfãs via kubectl

  1. Introduzir discos contendo diretórios de réplicas órfãs.

    • Diretórios de réplicas órfãs nos discos do Nó worker1

       # ls /mnt/disk/replicas/
       pvc-19c45b11-28ee-4802-bea4-c0cabfb3b94c-15a210ed
    • Diretórios de réplicas órfãs nos discos do Nó worker2

      # ls /var/lib/longhorn/replicas/
       pvc-28255b31-161f-5621-eea3-a1cbafb4a12a-866aa0a5
      
      # ls /mnt/disk/replicas/
       pvc-19c45b11-28ee-4802-bea4-c0cabfb3b94c-a86771c0
  2. SUSE Storage detecta os diretórios de réplicas órfãs e cria um recurso orphan descrevendo os diretórios.

     # kubectl -n longhorn-system get orphans -l "longhorn.io/orphan-type=replica"
     NAME                                                                      TYPE      NODE
     orphan-fed8c6c20965c7bdc3e3bbea5813fac52ccd6edcbf31e578f2d8bab93481c272   replica   rancher60-worker1
     orphan-637f6c01660277b5333f9f942e4b10071d89379dbe7b4164d071f4e1861a1247   replica   rancher60-worker2
     orphan-6360f22930d697c74bec4ce4056c05ac516017b908389bff53aca0657ebb3b4a   replica   rancher60-worker2
  3. Recupere uma lista de recursos órfãos criados por SUSE Storage usando o comando kubectl -n longhorn-system get orphan.

     kubectl -n longhorn-system get orphan
  4. Obtenha as informações detalhadas de um dos diretórios de réplica órfãos em spec.parameters por kubectl -n longhorn-system get orphan <name>.

     # kubectl -n longhorn-system get orphans orphan-fed8c6c20965c7bdc3e3bbea5813fac52ccd6edcbf31e578f2d8bab93481c272 -o yaml
     apiVersion: longhorn.io/v1beta2
     kind: Orphan
     metadata:
     creationTimestamp: "2022-04-29T10:17:40Z"
     finalizers:
     ** longhorn.io
     generation: 1
     labels:
      longhorn.io/component: orphan
      longhorn.io/managed-by: longhorn-manager
      longhorn.io/orphan-type: replica
      longhornnode: rancher60-worker1
    
    ......
    
    spec:
     nodeID: rancher60-worker1
     orphanType: replica
     parameters:
         DataName: pvc-19c45b11-28ee-4802-bea4-c0cabfb3b94c-15a210ed
         DiskName: disk-1
         DiskPath: /mnt/disk/
         DiskUUID: 90f00e61-d54e-44b9-a095-35c2b56a0462
     status:
     conditions:
     ** lastProbeTime: ""
      lastTransitionTime: "2022-04-29T10:17:40Z"
      message: ""
      reason: ""
      status: "True"
      type: DataCleanable
     ** lastProbeTime: ""
      lastTransitionTime: "2022-04-29T10:17:40Z"
      message: ""
      reason: ""
      status: "False"
      type: Error
     ownerID: rancher60-worker1
  5. Pode-se excluir o recurso orphan por kubectl -n longhorn-system delete orphan <name> e, em seguida, o diretório de réplica órfão correspondente será excluído.

     # kubectl -n longhorn-system delete orphan orphan-fed8c6c20965c7bdc3e3bbea5813fac52ccd6edcbf31e578f2d8bab93481c272
    
     # kubectl -n longhorn-system get orphans -l "longhorn.io/orphan-type=replica"
     NAME                                                                      TYPE      NODE
     orphan-637f6c01660277b5333f9f942e4b10071d89379dbe7b4164d071f4e1861a1247   replica   rancher60-worker2
     orphan-6360f22930d697c74bec4ce4056c05ac516017b908389bff53aca0657ebb3b4a   replica   rancher60-worker2

    O diretório de réplica órfão é excluído.

     # ls /mnt/disk/replicas/
  6. Por padrão, SUSE Storage não excluirá automaticamente o diretório de réplica órfão. Você pode habilitar a exclusão automática definindo a configuração orphan-resource-auto-deletion.

     # kubectl -n longhorn-system edit settings.longhorn.io orphan-resource-auto-deletion

    Em seguida, adicione replica-data à lista incluindo-o como um dos itens separados por ponto e vírgula.

     # kubectl -n longhorn-system get settings.longhorn.io orphan-resource-auto-deletion
     NAME                           VALUE          APPLIED     AGE
     orphan-resource-auto-deletion  replica-data   true        26m
  7. Após habilitar a exclusão automática e esperar um tempo, os recursos e diretórios orphan são excluídos automaticamente.

     # kubectl -n longhorn-system get orphans.longhorn.io -l "longhorn.io/orphan-type=replica"
     No resources found in longhorn-system namespace.

    Os diretórios de réplica órfãos são excluídos.

     # ls /mnt/disk/replicas/
    
     # ls /var/lib/longhorn/replicas/

    Além disso, pode-se excluir todos os diretórios de réplica órfãos no nó especificado por

     # kubectl -n longhorn-system delete orphan -l "longhorn.io/orphan-type=replica-instance,longhornnode=<node name>”

Gerenciar Diretórios de Réplica Órfãos via SUSE Storage UI.

  1. Na barra de navegação superior, selecione Configurações > Dados Órfãos > Dados de Réplica.

  2. Revise a lista exibida de diretórios de réplica órfãos. Estes estão agrupados por nó e disco.

  3. Para o diretório que você deseja excluir, selecione Operação > Excluir.

Por padrão, SUSE Storage não exclui automaticamente diretórios de réplica órfãos. Para habilitar a exclusão automática, navegue até Configurações > Órfãos e configure a opção relevante para exclusão automática.

Exceção

SUSE Storage não criará um recurso orphan para um diretório órfão quando

  • O diretório órfão não é um diretório de réplica órfão.

    • O nome do diretório não segue a convenção de nomenclatura do diretório de réplica.

    • O arquivo volume.meta está faltando.

  • O diretório de réplica órfão está em um nó desalojado.

  • O diretório de réplica órfão está em um disco desalojado.

  • O mecanismo de limpeza de dados órfãos não limpa uma réplica obsoleta, também conhecida como réplica de erro. Em vez disso, a réplica obsoleta é limpa de acordo com a configuração staleReplicaTimeout.