Como obter espaço livre da unidade montada Redhat 7

14

Na nossa infraestrutura de VM, temos hosts em cluster indo para uma SAN.

O que eu estou tentando descobrir é o quanto "espaço em branco" é deixado ao excluir arquivos dentro de nossos servidores Redhat. No nosso servidor Windows nós usamos o sdelete e isso elimina o problema, no entanto, com o Linux, eu tenho dificuldades para encontrar uma solução.

Estou definindo "espaço em branco" como os setores? sobra que não estão zerados que as unidades SSD tenham que zerar antes de poderem escrever nela.

Uma coisa que vou apontar é quando se trata de Linux, eu sei o suficiente para ser perigoso, mas não sou um super usuário.

Olhando para as unidades e partições:

[root@rhserver1-DATA10 /]# fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0005d52e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   104857599    51915776   8e  Linux LVM

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/rhel_rhserver1--data10-root: 51.0 GB, 50964987904 bytes, 99540992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/rhel_rhserver1--data10-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Agora, observe o uso do disco:

[root@rhserver1-DATA10 /]# df -h
Filesystem                              Size  Used Avail Use% Mounted on
/dev/mapper/rhel_rhserver1--data10-root   48G  6.1G   42G  13% /
devtmpfs                                906M     0  906M   0% /dev
tmpfs                                   921M  340K  920M   1% /dev/shm
tmpfs                                   921M   90M  831M  10% /run
tmpfs                                   921M     0  921M   0% /sys/fs/cgroup
/dev/sdb                                 50G  3.5G   44G   8% /ACMS01Backup
/dev/sda1                               497M  210M  288M  43% /boot
tmpfs                                   185M   20K  185M   1% /run/user/1000
tmpfs                                   185M     0  185M   0% /run/user/1002

Depois de muitas horas pesquisando isso, acho que está me mostrando quanto "espaço em branco" está disponível para ser esclarecido.

[root@rhserver1-DATA10 /]#  parted /dev/sda unit MB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
1.02MB
[root@rhserver1-DATA10 /]#  parted /dev/sda unit '%' print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
0.00%

Eu acho uma saída razoável para uma partição de 497M.

Então, agora eu quero fazer a mesma coisa apenas na minha unidade montada (eu acho que é montado.)

 parted /dev/mapper/rhel_rhserver1--data10-root unit MB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
 parted /dev/mapper/rhel_rhserver1--data10-root unit '%' print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

Que não me dão nada.

Meu / etc / fstab /:

[root@rhserver1-DATA10 /]# cat /etc/fstab
/dev/mapper/rhel_rhserver1--data10-root /                       xfs     defaults        0 0
UUID=2f97a17c-a6d5-4904-ad5c-7c16b4510201 /boot                   xfs     defaults        0 0
/dev/mapper/rhel_rhserver1--data10-swap swap                    swap    defaults        0 0
/dev/disk/by-uuid/be4c45cf-5d72-4b97-b647-2e585947041f /ACMS01Backup auto nosuid,nodev,nofail,x-gvfs-show 0 0

Então, minha pergunta é se estou no caminho certo?

Eu expliquei o que estou procurando bem?

Existe um termo para "espaço em branco" que pode ajudar no meu googling?

Eu descobri que posso executar "fstrim -v /" na raiz, mas gostaria de saber quanto espaço existe.

Além disso, estou tentando descobrir que as teses são sistemas de produção que são intensivos em I / O de fstrim, devem ser executados fora do horário de pico?

Alguma chance de perda de dados em execução "fstrim -v /"?

    
por Anthony Fornito 18.10.2016 / 19:17

2 respostas

12

Ser capaz de executar o fstrim nas / partitions seria a melhor solução, mas com a maneira como o ESXi é configurado, não seria possível.

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

Tentando reduzir 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 com o fedora. Se você estiver interessado nesta funcionalidade, entre em contato com o suporte da Red Hat e consulte o bugzilla 1062667 da Red Hat, e forneça seu caso de uso para a necessidade de redução / redução de XFS.

Como possível trabalho em alguns ambientes, os volumes LVM com aprovisionamento dinâmico podem ser considerados como uma camada adicional abaixo do sistema de arquivos XFS.

Se as VMs estão ansiosas VMDK provisionadas, o que significa que não há nada a recuperar quando você está tentando cortar (tecnicamente falando; SCSI UNMAP) seus volumes.

Se o armazenamento de back-end estiver executando o provisionamento thin, você também precisará usar arquivos VMDK com zeros lazy para reduzir o armazenamento e tornar possível que o back-end armazene os dados mais quentes.

Duas opções possíveis:

  1. Quando o armazenamento é fornecido por um servidor remoto em uma SAN, você só pode descartar blocos se o armazenamento for thin provisioned.

    1. VMotion todas as VMs para um repositório de dados diferente e use as ferramentas integradas do VMWare
    2. Conecte-se ao host do ESXi com SSH
    3. Navegue até a pasta da máquina virtual
    4. Verificar o uso do disco com du
    5. Executar vmkfstools -K [disco]
    6. Verificar o uso do disco com du
  2. dd se = / dev / zero de = BIGFILE bs = 1024000 rm -f BIGFILE

Pelo que sei, isso faz o mesmo que sdelete, mas pode causar um pico na E / S do disco, além de demorar um pouco para ser executado.

Algo para tentar durante a noite

Qualquer uma das opções não é a melhor, mas reformatar todas as VMs para obter 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.

    
por 08.11.2016 / 21:03
12

Eu tento fazer a mesma coisa há alguns dias e não sei como. Eu compartilho a declaração oficial no portal de suporte Redhat.

Atualmente, não é possível reduzir o tamanho de uma partição ou volume lógico com o sistema de arquivos xfs. Se você estiver interessado nesta funcionalidade, entre em contato com o suporte da Red Hat e consulte o bugzilla 1062667 da Red Hat, e forneça seu caso de uso para a necessidade de redução / redução de XFS.     Como possível solução alternativa em alguns ambientes, os volumes LVM com aprovisionamento dinâmico podem ser considerados como uma camada adicional abaixo do sistema de arquivos XFS.

Boa sorte !!

    
por 18.10.2016 / 20:29