Ativar descarte HP 3PAR StoreServ 7400


13

Divulgue-se dessas perguntas anteriores

Como obter espaço livre na unidade montada Redhat 7

Atualizar o crypttab solicita a senha para fstrim

Temos um HP 3PAR StoreServ 7400 com 170 VMs espalhadas por 38 hosts.

Aqui está o problema como eu o entendo: (Também me foram informadas algumas informações que não tenho certeza se são verdadeiras ou não, li o whitepaper HP 3PAR StoreServ 7400 e realmente não consigo encontrar nada que faça o backup do meu funcionário de armazenamento Então, ao longo do texto abaixo, se alguém perceber algo que não é verdadeiro, entre em contato.)

O 3 PAR é dividido em 3 seções,

Camada 1: SSD usado para armazenar em cache e acesso rápido aos arquivos acessados ​​com frequência.

Camada 2: e Camada 3: Algum tipo de disco giratório, o que e por que existem duas camadas adicionais que não são seguras, mas minha suposição é que a Camada 2 é usada para dados que não são mais comumente acessados, mas acessa um pouco e a Camada 3 é usada para armazenamento do resto.

Na parte SSD, como já li em muitos artigos quando os dados são gravados em um bloco SSD e, em seguida, excluídos, esse bloco não é zerado até que novos dados sejam gravados nele; portanto, quando os dados dentro do bloco são excluídos, a tabela que armazena o mapeamento As informações são atualizadas e, quando novos dados são gravados no mesmo bloco, o bloco precisa primeiro ser zerado e depois pode ser gravado. Esse processo no SSD, se a unidade não for cortada periodicamente, pode levar a velocidades w / r mais baixas.

O 3PAR LUN é thin provisioned, as VMs são Eager Thick provisioned.

De acordo com meu gerente de armazenamento, o 3PAR possui um recurso especial que permite que o armazenamento SSD não esteja sendo usado para estar disponível para as outras VMs conforme necessário, o que não faz sentido.

Verificação de fato:

Uma VM provisionada espessa é um arquivo VMDK, quando a VM é criada, você especifica o tamanho da VM e isso cria um arquivo VMDK. Na minha opinião, isso me diz que, se a VM estiver sendo acessada regularmente, todo o arquivo VMDK será movido para SDD, e o que eles estão me dizendo é que, mesmo que o VMDK esteja configurado para usar 40 GB, alguns desses 40 GB podem ser usados ​​em outras VMs? Isso me parece mais uma VM provisionada fina e não espessa.

Ok, chegando ao problema.

Em nossos sistemas Windows, usamos sdelete para encontrar e zerar blocos não utilizados.

No nosso sistema Linux Fedora, tenho tentado descobrir como fazer o fstrim funcionar.

Tentei o comando dd = write-big-file delete-big-file e que enviou a E / S do disco pelo teto, o que foi notado, e me disseram para não fazer isso novamente.

Fazendo uma pequena pesquisa, parece-me que sdelete praticamente faz a mesma coisa que dd = escrever-arquivo-grande-excluir-arquivo-grande. Por que a E / S do disco não passa pelo teto dos sistemas Windows?

Então, acho que reduzi-o a duas soluções. Nenhum dos quais eu sei fazer.

  1. De alguma forma, sem o movimento de v das VMs para uma matriz de armazenamento diferente, é possível executar uma função semelhante a fstrim em toda a parte SSD da SAN.

Nota lateral: Se eu entender tudo o que li, o fstrim analisa cada bloco para ver se existem dados e se são necessários, se não forem necessários, zerará o bloco, onde como sdelete escreve um arquivo enorme e o exclui. É por isso que estou procurando uma opção fstrim em toda a parte SSD do 3PAR.

  1. Longshot, mas o erro que recebo com o fstrim é:

[root @ rhtest ~] # fstrim -v / fstrim: /: a operação de descarte não é suportada

Li que a opção de descarte precisa ser definida no sistema operacional e no armazenamento de dados, mas não consigo descobrir onde ou como definir uma opção de descarte no 3PAR. Tenho acesso SSH e GUI ao 3PAR.

Eu já passei por inúmeras orientações sobre a criação de devoluções no sistema operacional e não importa quantas maneiras diferentes eu giro, sempre recebo o mesmo erro.

Sim, eu também procurei em outras opções que o zerofree era um, e algumas outras que não me vêm à mente, no entanto, elas funcionavam como o zdelete ou li que eram muito perigosas, olhei no hdparam etc.

Abaixo vou colocar algumas informações sobre o sistema operacional em questão, são todos iguais.

[root@rhtest ~]# hostnamectl
    Static hostname: rhtest.domain.com
    Icon name: computer-vm
    Chassis: vm
    Machine ID: f52e8e75ae704c579e2fbdf8e7a1d5ac
    Boot ID: 98ba6a02443d41cba9cf457acf5ed194
    Virtualization: vmware
    Operating System: Red Hat Enterprise Linux Server 7.2 (Maipo)
    CPE OS Name: cpe:/o:redhat:enterprise_linux:7.2:GA:server
    Kernel: Linux 3.10.0-327.el7.x86_64
    Architecture: x86-64

[root@rhtest ~]# blkid
    /dev/block/8:2: UUID="2OHGU8-ir1w-LLGB-6v72-zZqN-CIaX-FjGImJ" TYPE="LVM2_member"
    /dev/block/253:1: UUID="ad872f09-5147-4252-af56-aa6244219515" TYPE="xfs"
    /dev/block/8:1: UUID="83aac355-a443-4ff9-90fa-9f6da8e31cc2" TYPE="xfs"
    /dev/block/253:0: UUID="dbe56f6a-2a4a-42da-82e2-bef9a73caafb" TYPE="swap"

[root@rhtest ~]# lsblk
    NAME                           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    fd0                              2:0    1    4K  0 disk
    sda                              8:0    0   50G  0 disk
    ââsda1                           8:1    0  500M  0 part /boot
    ââsda2                           8:2    0 49.5G  0 part
        âârhel_-rhtest-swap 253:0    0    2G  0 lvm  [SWAP]
        âârhel_-rhtest-root 253:1    0 47.5G  0 lvm  /
    sdb                              8:16   0   50G  0 disk
    sr0                             11:0    1 1024M  0 rom


[root@rhtest ~]# df -h
    Filesystem                              Size  Used Avail Use% Mounted on
    /dev/mapper/rhel_-rhtest-root   48G  883M   47G   2% /
    devtmpfs                                991M     0  991M   0% /dev
    tmpfs                                  1001M     0 1001M   0% /dev/shm
    tmpfs                                  1001M  8.5M  993M   1% /run
    tmpfs                                  1001M     0 1001M   0% /sys/fs/cgroup
    /dev/sda1                               497M  124M  374M  25% /boot
    tmpfs                                   201M     0  201M   0% /run/user/0

Respostas:


10

Ser capaz de executar o fstrim nas partições / seria a melhor solução; no entanto, com a maneira como o ESXi está configurado, não seria possível.

Você precisa habilitar as devoluções na VM e no dispositivo de armazenamento.

Tentando reduzir para o tamanho de uma partição ou volume lógico com o sistema de arquivos xfs não pode ser feito, este é um bug conhecido no fedora. Se você estiver interessado nessa funcionalidade, entre em contato com o suporte e referência Red Hat bugzilla 1062667 da Red Hat e forneça seu caso de uso para a necessidade de redução / redução de XFS.

Como uma solução possível em alguns ambientes, os volumes LVM provisionados thin podem ser considerados como uma camada adicional abaixo do sistema de arquivos XFS.

Se as VMs tiverem VMDK provisionado com muita espessura, o que significa que não há nada a recuperar quando você estiver tentando aparar (tecnicamente falando; SCSI UNMAP) seus volumes.

Se o armazenamento de back-end estiver executando o provisionamento dinâmico, você também precisará usar arquivos VMDK preguiçosos e zerados para reduzir o armazenamento e possibilitar ao back-end armazenar em cache / deduplicar os dados quentes.

Duas opções possíveis:

1. When storage is provided by a remote server across a SAN, you can only discard blocks if the storage is thin provisioned.

    1. VMotion all the VM's to a different data store and use the built-in VMWare tools
    2. Connect to the ESXi Host with SSH
    3. Navigate to the Virtual Machine Folder
    4. Verify disk usage with du
    5. Run vmkfstools -K [disk]
    6. Verify disk usage with du

2.  dd if=/dev/zero of=BIGFILE bs=1024000
    rm -f BIGFILE

Pelo que sei, isso faz o mesmo que sdelete, no entanto, pode causar um pico na E / S do disco e demorar um pouco para ser executado.

Algo para tentar da noite para o dia

Qualquer opção não é a melhor, mas reformatar todas as VMs para obter o ext3 ou ext4 não parece viável.

O que você pode fazer é configurar uma regra de afinidade para todas as VMs do Linux e usar a opção 1 acima.


3

Você está usando o VMDK provisionado com muita espessura, o que significa que não há nada a recuperar ao tentar cortar (tecnicamente falando; SCSI UNMAP) seus volumes.

Se o armazenamento de back-end estiver executando o provisionamento dinâmico, você também precisará usar arquivos VMDK preguiçosos e zerados para reduzir o armazenamento e possibilitar ao back-end armazenar em cache / deduplicar os dados quentes.


Obrigado por responder, no entanto, não tenho certeza de que entendi completamente sua resposta, se todas as minhas suposições da pergunta estiverem corretas, seria necessário recuperar os blocos diferentes de zero da SAN, especialmente se o arquivo VMDK for movido para fora do SSD para disco giratório. Corrigir?
Anthony Fornito 31/10/16

3
@AnthonyFornito Você não pode recuperar nada com discos espessos ansiosos. Ansioso significa que o VMWare força o armazenamento de back-end a gravar a alocação completa de cada arquivo, incluindo zeros.
pauska

@pauska está totalmente correto. O 3PAR e muitas soluções semelhantes foram projetadas para compactação / desduplicação / classificação em camadas. Seu modelo híbrido 3PAR é mais sobre eficiência de capacidade e não realmente sobre a configuração orientada para o desempenho. É por isso que é melhor usar discos zerados preguiçosos em vez de discos zerados ansiosos no seu caso.
Strepsils
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.