Primero, se realizó una copia de seguridad del sistema de archivos y se desmontó con éxito.
Luego, se ejecutó un lvresize, y ya se está ejecutando:
lvresize --resizefs --size 1024G /dev/dbdrp/db
Y muestra el resultado:
fsck from util-linux-ng 2.17.2
/dev/mapper/dbdrp-db: 1718907/201326592 files (0.4% non-contiguous), 92969270/805304320 blocks
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/dbdrp-db to 268435456 (4k) blocks.
La salida de los sistemas de archivos fue la anterior:
[root@generic-linux-hostname ~]# df -hP
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/dbdrp-db 3.0T 310G 2.7T 11% /usr/local/oracle
Y tablas de volúmenes físicos donde se encuentra lo siguiente:
PV VG Fmt Attr PSize PFree
/dev/xvdc1 dbdrp lvm2 a-- 1.50t 0
/dev/xvdd1 dbdrp lvm2 a-- 1.50t 0
Una vez finalizado el cambio de tamaño, uno de estos volúmenes se eliminará para reciclar el disco duro virtual.
¿Cómo puedo ver el progreso de este lvresize? Ha estado funcionando una hora y no se ha desechado mucha información.
Gracias chicos :)
Respuesta1
Esto puede ser un exceso porque no conozco los aspectos internos pero, para tener una idea, puedes probar lo siguiente:
Obtenga el pid del proceso en ejecución:
pgrep -afl resize2fs
2377 resize2fs -M /dev/vg0/lv-3
Aquí solo estaba resize2fs
cambiar a lvresize (si es el comando el que realmente cambia el tamaño). A continuación, ejecute strace -e pread64,pwrite64 -p 2377
para monitorear cuáles son las llamadas al sistema que realiza el comando, de modo que verá desde dónde lee y dónde escribe.
La salida sería algo como esto:
pread64(3, "<!-- ..........................."..., 1236992, 2441878626304) = 1236992
pwrite64(3, "<!-- ..........................."..., 1236992, 181592702976) = 1236992
pread64(3, "<!-- ..........................."..., 479232, 2441880231936) = 479232
pwrite64(3, "<!-- ..........................."..., 479232, 181593939968) = 479232
y si revisas la página de manual pread64
, ves que su firma es ssize_t pread(int fd, void *buf, size_t count, off_t offset)
así, el último parámetro de la llamada, es el desplazamiento o desde qué punto del bloque está leyendo en este momento. Si convierte 2441880231936
bytes a TB, serían aproximadamente 2,2 TB y mi volumen, como se muestra a continuación, tiene 3,44 TB, 2,2/3,34 = ~65%. Pero esto es solo una aproximación a dónde se encuentra ahora porque, en ese caso, cambiará el tamaño de la partición al mínimo posible (debido a resize2f -M) según el espacio libre. Además, no estoy seguro de si ext4 (en mi caso) escribiría datos en bloques contiguos, por lo que podría suponer menos trabajo que el disco completo.
lv-3 vg0 -wi-ao---- <3.34t
Respuesta2
lvresize no tiene la opción de barra de progreso. Pero, si cambias el tamaño en más pasos, puedes comprobar que:
- Verifique el tamaño inicial del fs:
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-vol_projects 19G 5.3G 13G 30% /mnt
- desmontar:
# umount /mnt
- revisa el fs:
# e2fsck -f /dev/mapper/vg00-vol_projects
e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg00-vol_projects: 13/1245184 files (0.0% non-contiguous), 1447987/4980736 blocks
- cambie el tamaño del fs con la opción de progreso (-p):
# resize2fs -p /dev/mapper/vg00-vol_projects 6G
resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/mapper/vg00-vol_projects to 1572864 (4k) blocks.
Begin pass 2 (max = 32768)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 152)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/vg00-vol_projects is now 1572864 blocks long.
- comprobar el tamaño inicial del VI:
# lvs vg00/vol_projects
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
vol_projects vg00 -wi-a--- 19.00g
- cambie el tamaño del LV sin la opción resizefs (lo hicimos en el paso anterior):
# lvresize --size 6G /dev/mapper/vg00-vol_projects
WARNING: Reducing active logical volume to 6.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vol_projects? [y/n]: y
Reducing logical volume vol_projects to 6.00 GiB
Logical volume vol_projects successfully resized
- comprobar el tamaño:
# lvs vg00/vol_projects
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
vol_projects vg00 -wi-a--- 6.00g
- monte y verifique el tamaño fs:
# mount /dev/mapper/vg00-vol_projects /mnt
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-vol_projects 6.0G 5.3G 402M 94% /mnt
...pero creo que así es más complicado :/