|
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. |
Suporte ao front end UBLK
A partir da versão v1.9.0, SUSE Storage suporta o front end UBLK para volumes do V2 Data Engine. Este recurso expõe volumes do V2 Data Engine como um dispositivo de bloco usando o framework UBLK SPDK. Em certos ambientes de alta especificação (por exemplo, máquinas com SSDs rápidos capazes de milhões de IOPS e equipadas com 32 núcleos de CPU), o front end UBLK pode oferecer melhor desempenho em comparação com o front end padrão NVMe-oF para volumes do V2 Data Engine. Para comparações de desempenho, veja a SUSE Storage página wiki de Investigação de Desempenho. No entanto, o front end UBLK é menos maduro do que o front end padrão NVMe-oF (veja Limitações Conhecidas). O front end UBLK também possui restrições adicionais, conforme detalhado abaixo.
Pré-requisitos
-
A versão do kernel nos nós deve ser v6.0 ou posterior. O driver do kernel UBLK está disponível apenas a partir do kernel v6.0.
-
O módulo do kernel
ublk_drvdeve ser carregado em cada nó onde os volumes UBLK serão anexados. Para testes, você pode carregá-lo manualmente em cada nó relevante usando o comando:modprobe ublk_drv
Como usar
Ao criar um volume V2 pela interface
Selecione UBLK como o front end do volume durante a criação do volume.
Ao criar um volume V2 a partir de um manifesto
-
Crie um
StorageClassque especifique o front end UBLK. Por exemplo:kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: my-ublk-frontend-storageclass provisioner: driver.longhorn.io allowVolumeExpansion: true reclaimPolicy: Delete volumeBindingMode: Immediate parameters: numberOfReplicas: "1" staleReplicaTimeout: "2880" fsType: "ext4" dataEngine: "v2" frontend: "ublk" -
Crie um
PersistentVolumeClaim(PVC) que faça referência aoStorageClasscriado na etapa anterior. Por exemplo:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-ublk-frontend-pvc namespace: default spec: accessModes: - ReadWriteOnce storageClassName: my-ublk-frontend-storageclass resources: requests: storage: 1Gi -
SUSE Storage provisiona automaticamente um volume V2 usando o front end UBLK com base nas definições de PVC e
StorageClass.
Limitações conhecidas
Quando um pod do gerenciador de instâncias falha, pode deixar dispositivos UBLK órfãos no nó. Atualmente, remover esses dispositivos órfãos manualmente pode ser difícil e, às vezes, pode exigir uma reinicialização do nó. Estamos investigando mais a fundo este problema em GitHub Issue #10738.
Referência
Issue original no GitHub para suporte ao front end UBLK: GitHub Issue #9456.