grupo de volumen sin espacio. ¿Cómo lo reclamo?

grupo de volumen sin espacio. ¿Cómo lo reclamo?

Larga historia, hay una VM SVN (servidor vmware) que se ha quedado sin espacio. No puedo comprometerme porque dice que se ha quedado sin espacio. La VM tiene una unidad virtual de 80 GB adjunta (hda), una partición /boot y un VG grande (VolGroup00) para /

Estoy archivando y eliminando repositorios SVN antiguos del disco, pero no obtengo espacio libre. ¿Qué debo hacer para que este espacio vuelva a estar disponible para su uso? Utilizo Linux para casi todo, pero nunca he jugado lo suficiente con LVM como para saber qué está pasando.

salida de pantalla vg:

--- Volume group ---
VG Name               VolGroup00
System ID             
Format                lvm2
Metadata Areas        1
Metadata Sequence No  3
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               74.41 GB
PE Size               32.00 MB
Total PE              2381
Alloc PE / Size       2380 / 74.38 GB
Free  PE / Size       1 / 32.00 MB
VG UUID               dPSZpL-kFBn-HpkH-ChfO-dw9q-YGg2-qHOiQF

Desde ayer se ha liberado espacio...

Salida de df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       72G   67G  959M  99% /
/dev/hda1              99M   15M   80M  16% /boot
tmpfs                  62M     0   62M   0% /dev/shm

Salida de lvs

LV       VG         Attr   LSize  Origin Snap%  Move Log Copy% 
LogVol00 VolGroup00 -wi-ao 73.38G                              
LogVol01 VolGroup00 -wi-ao  1.00G

Algo todavía parece extraño, ya que dice 959M disponibles y, sin embargo, 67G usados ​​con un tamaño de 72G...

Así que ahora estoy recuperando espacio al eliminar repositorios... y aún así, el equilibrio aún no se ha restablecido en el universo...

Respuesta1

Eliminar archivos no cambia el tamaño de un volumen lógico (y, por extensión, no afecta el espacio libre en el grupo de volúmenes).

Puede pensar en un grupo de volúmenes como un "disco virtual" y los volúmenes lógicos que contiene como particiones, pero con las que es mucho más fácil trabajar (cambiar el tamaño, crear, eliminar) que las particiones normales.

Como dice Kamil, si recibe errores de "falta de espacio" cuando trabaja, no es LVM el que tiene la culpa directamente; es un simple error del sistema de archivos, y puede determinar con qué sistema de archivos se ha quedado sin espacio df -hy eliminar suficientes cosas. ese sistema de archivos eventualmente le dará más espacio. Sin embargo, con LVM, si tienes un sistema de archivos con mucho espacio libre y otro sin ninguno, puedes reducir el LV con mucho espacio libre y luego asignar ese espacio al LV que se quedó sin espacio y, por lo tanto, usar tu disco asignado de manera más eficiente.

El proceso para reducir y expandir sistemas de archivos es un poco arriesgado (por lo tanto, haga copias de seguridad), y la etapa de reducción debe realizarse en sistemas de archivos desmontados (por lo que pasar al modo de usuario único es bueno y no puede reducir el sistema de archivos raíz; si sus sistemas de archivos soporte (XFS, reiser, ext2/3 reciente) puede hacer expansión en línea). En general el proceso es:

  1. Reduzca el sistema de archivos del que desea eliminar espacio a un tamaño un poco más pequeño de lo que desea que termine (con algo como resize2fs /dev/mapper/VolGroup00-largeLV xG). La razón por la que lo reduce un poco más es porque si se equivoca en los cálculos y reduce el LV a un tamaño más pequeño que el sistema de archivos, lo abarrotará.
  2. Reduzca el LV del que desea eliminar espacio al tamaño que desee ( lvresize -L xG VolGroup00/largeLV)
  3. Haga crecer el sistema de archivos en ese LV al nuevo tamaño del LV:resize2fs /dev/mapper/VolGroup00-largeLV
  4. Haga crecer el LV que es demasiado pequeño hasta su nuevo tamaño más grande:lvresize -L+nG VolGroup00/smallLV
  5. Haga crecer el sistema de archivos en el LV demasiado pequeño a su nuevo tamaño más grande:resize2fs /dev/mapper/VolGroup00-smallLV

Y ahora deberías tener mucho espacio en todas partes.

Algunos consejos:

  • lvsenumerará todos sus LV, junto con sus tamaños
  • vgsle dará una visualización rápida de todos los tamaños de su VG y el espacio libre
  • Si su intercambio está en LVM, ese suele ser un buen lugar para obtener un poco de espacio libre temporal si la máquina no está trabajando demasiado.

¡Buena suerte!

Respuesta2

¿/dev/sda es local o está en SAN? Si está en la SAN, entonces hay esperanza. Si es local y utiliza todo el espacio disponible, tendrá que liberar algo de espacio en el disco eliminando archivos.

Actualice la pregunta y háganos saber cuál es el estado.

Editar

¡Ah, es una máquina virtual! Estás de suerte (si hay espacio libre en la máquina host, de todos modos).

Cree otro disco virtual en el administrador de VM que sea tan grande como desee que sea el espacio libre. Luego presente esa imagen de disco a la VM.

Asegúrese de que la VM lo vea (use dmesg para ver si aparece). Suponiendo que sea así, distribúyalo y cree una partición.

Asunto

 pvcreate /dev/whatever1  

Donde "lo que sea" es obviamente el dispositivo. Probablemente SDB. 1 es la partición que acabas de hacer. No debería tener problemas para hacer este volumen físico.

ahora corre

 vgextend VolumeGroupName /dev/whatever1 

Puede usar vgdisplay para verificar que el grupo de volúmenes tenga espacio libre ahora. Ahora, aumente el volumen lógico:

 lvextend -l +100%FREE 

Eso debería expandir el volumen lógico para llenar el grupo de volúmenes.

Ahora la parte complicada. Suponiendo que tienes un sistema de archivos ext3, deberías poder cambiar el tamaño en vivo, sobre la marcha:

 resize2fs /dev/volgroup/logicalvolume 

(donde volgroup y volumen lógico es la ruta real a lo que esté montado en /)

Dirá que está cambiando el tamaño en vivo ya que el volumen está montado y listo, ejecutar df -h debería mostrar que tiene espacio libre.

Respuesta3

La cantidad de espacio libre en su grupo de volúmenes no cambiará. Todo está asignado por el sistema de archivos con el que lo formateaste. Eliminar archivos solo eliminará sus entradas de inodo del sistema de archivos, pero el sistema de archivos aún reclamará el espacio.

La única forma de recuperar espacio en su grupo de volúmenes es cambiar el tamaño o eliminar volúmenes lógicos.

Pero lo que estás describiendo suena simplemente como si te hubieras quedado sin espacio en el disco. Debe verificar la salida de df -hsu VM y ver cuánto espacio libre hay en el volumen donde reside el repositorio.

Respuesta4

Intente reiniciar su servidor SVN. Si eliminar archivos no libera espacio, aún deben estar en uso de alguna manera. Esto también sucede con los registros activos. Una vez tuve un registro que crecía 10 MB por hora, así que muy pronto tuve que eliminar el registro, pero no liberó espacio hasta que reinicié el demonio que estaba arrojando en ese registro.

EDITAR: busqué por qué sucede esto. Parece que la referencia de Linux/Unix cuenta los archivos, por lo que se pueden eliminar hasta que todos los procesos que los tienen abiertos los liberen.

información relacionada