lvextend para estender a raiz no RHEL 6

0

Eu tenho um servidor que processa dados e começou a me dar este erro:

write error: no space left on device
cannot create temp file for here-document: no space left on device

Embora eu use o ubuntu 14.04 como meu SO principal, gerenciar o sistema de arquivos está além da minha compreensão e, portanto, dessa questão.

df -h 

imprime

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       99G   94G   16M 100% /
/dev/sda2             477M   39M  413M   9% /boot
/dev/sda1             200M  264K  200M   1% /boot/efi
/dev/mapper/VolGroup-lv_home
                      1.5T  453G  996G  32% /home
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm

Aparentemente, não tenho muito espaço no meu lv_root. Eu corri

df -i

Filesystem              Inodes  IUsed     IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                       6553600 143617   6409983    3% /
/dev/sda2               128016     22    127994    1% /boot
/dev/sda1                    0      0         0     - /boot/efi
/dev/mapper/VolGroup-lv_home
                     101588992  44952 101544040    1% /home
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm

E isso indica que eu tenho muito espaço livre restante (não tenho certeza se o meu entendimento está correto).

Eu tentei remover arquivos de /var/log , mas como esses arquivos não eram muito maiores em tamanho, nada aconteceu. Eu li sobre lvextend e achei que poderia aumentar o tamanho de lv_root VolGroup.

sudo lvs --segments

me dá

LV      VG       Attr       #Str Type   SSize  
  lv_home VolGroup -wi-ao----    1 linear   1.36t
  lv_home VolGroup -wi-ao----    1 linear 157.78g
  lv_root VolGroup -wi-ao----    1 linear 100.00g
  lv_swap VolGroup -wi-ao----    1 linear  20.00g

sudo vgdisplay VolGroup

me dá

 VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.63 TiB
  PE Size               4.00 MiB
  Total PE              427545
  Alloc PE / Size       427545 / 1.63 TiB
  Free  PE / Size       0 / 0   

Depois de saber que todas as minhas partições compartilham o mesmo nome do grupo de volume, VolGroup e o tamanho VG é 1,63 TiB, tentei aumentar o lv_root space por 400Gib

sudo lvextend -L +400G /dev/mapper/VolGroup-lv_root

mas recebi esta mensagem de erro

Insufficient free space: 102400 extents needed, but only 0 available

A mesma mensagem com diferentes extensões necessárias para 40G.

O sistema operacional do servidor é RHEL 6 e estou processando dados que estão sendo inseridos no Oracle DB.

    
por Apricot 11.05.2018 / 12:08

1 resposta

1

Vou tentar responder a sua pergunta da melhor maneira possível, aqui está a primeira:

Apparently I do not have much space left on my lv_root. I ran

[...]

And this indicates that I have lots of free space left (not sure if my understanding is correct).

Para que você não tenha muito espaço no seu volume lv_root, montado no root: restam 16 MB, enquanto você ainda tem quase um TB livre em seu volume montado em casa (lv_home). O segundo comando com a opção "-i" na verdade não é indicativo do espaço que você deixou, mas do número de inodes restantes no seu disco, enquanto a falta deles também pode resultar em um "espaço não sobrando na mensagem do dispositivo", este não é o problema aqui.

Próxima edição aqui:

After knowing all my partitions sharing the same volume group name, VolGroup and the VG Size is 1.63 TiB, I tried increasing the lv_root space by 400Gib

O tamanho VG é 1.63TB, no entanto, você não pode alocar 400GB para qualquer LV, porque todo esse espaço é atualmente alocado como retornado pela última linha do seu comando vgdisplay:

**Free PE / Size 0 / 0 **

Você pode ver a repartição real deste espaço no comando lvs-segments:

  • 1.36TB sendo atribuído ao seu lv_home
  • 157.78GB também atribuído ao seu lv_home
  • 100 GB sendo atribuídos ao seu lv_root, que estão quase esgotados
  • 20 GB atribuídos ao seu swap

Agora, para resolver o seu problema, aqui você poderia (pelo menos as soluções que eu penso, não significando que são todas elas):

  1. libere espaço do seu / mount excluindo arquivos como você já tentou
  2. liberte algum espaço do seu / mount movendo-os para / home
  3. Adicione um novo disco à sua máquina, crie um novo PV nele, estenda o VG e depois o LV antes de redimensionar a partição (nota: editado para atualizar em relação ao comentário de ignacio)
  4. Assumindo que é uma VM e você pode: estender o disco e, em seguida, todo o PV, VG, LV, etc ...
por 11.05.2018 / 13:13

Tags