1.
ADMINISTRACIÓN DE VOLÚMENES LÓGICOS
2.
LVM2
LVM2
es un administrador de volúmenes lógicos desarrollado para el
kernel de Linux, compatible con su predecesor LVM1. En la actualidad,
LVM está disponible en la mayoría de los sistemas Linux para
utilizarlo al momento de la instalación. De hecho, sistemas como
Debian utilizan LVM si se los particiona como lo sugiere el
instalador por defecto.
La
primer ventaja fundamental de LVM es que quita el inconveniente de
dimensionar exactamente las particiones tal cuál se las necesita,
encontrandose luego con que el esquema de particionamiento escogido
no es el más adecuado.
Características
de LVM2
LVM2
cuenta, básicamente, con las siguientes funcionalidades.
- Redimensión de grupos de volúmenes y volúmenes lógicos en línea.
- Crear instantáneas (snapshots) de lecturea/escritura del sistema de archivos.
- Constituir los volúmenes lógicos separados en los diferentes volúmenes físicos, de manera similar que RAID 0.
- Mover los volúmenes lógicos entre los diferentes volúmenes físicos.
Conceptos
básicos de LVM
Para
entender cómo funciona LVM es necesario conocer algunos conceptos
elementales, que son:
- Volumen físico (PV): un PV es un disco rígido, una partición o un RAID.
- Volumen lógico (LV): un LV es el equivalente a una partición tradicional.
- Grupo de volúmenes (VG): un grupo de volúmenes reúne uno o más PVs. Los PVs pueden comenzar a utilizarse en LVM recién cuando pasan a formar parte de un VG.
- Physical extent (PE): un PE es una porción de cada volumen físico, de tamaño fijo. Un volumen físico se divide en mútiples PEs del mismo tamaño.
- Logical extent (LE): un LE es una porción de cada volumen lógico, de tamaño fijo. Un volumen lógico se divide en mútiples LEs del mismo tamaño.
- Device mapper: es un framework genérico del kernel de Linux que permite realizar un mapeo de un dispositivo de bloques a otro. Es la herramienta fundamental en la que se basa LVM para hacer el mapeo de los dispositivos virtuales con los dispositivos físicos.
3.
SISTEMA OPERATIVO
La
presente instalación, se la hará en un Sistema Operativo Linux,
Distribución Debian, Versión 6 (Squeeze).
4.
PAQUETES INSTALADOS
LVM2
5.
INSTALACIÓN DEL PAQUETE LVM2
Primero
instalar LVM..
#
apt-get install lvm2
Creación
de un volumen lógico
5.1.
CREACIÓN DE UN VOLUMEN LÓGICO
Para
crear un volumen lógico es necesario primero crear los volúmenes
físicos que se necesitarán y luego el grupo de volúmenes.
Finalmente se podrá crear el volumen lógico que se busca y asignar
un sistema de archivos al mismo. Para este paso se tomará como
ejemplo que se tiene un disco rígido nuevo, sin particionar. El
disco en cuestión se identifica en el sistema como /dev/hdb.
Crear
el volumen físico.
#
pvcreate /dev/hdb
Physical
volume "/dev/hdb" successfully created
Crear
el grupo de volúmenes.
#
vgcreate dsk0 /dev/hdb
Volume
group "dsk0" successfully created
Crear un volumen lógico.
#
lvcreate dsk0 -L 1.99G -n nuevo-volumen
Rounding
up size to full physical extent 1.99 GB
Logical
volume "nuevo-volumen" created
#
ls -l /dev/dsk0/nuevo-voluemn
lrwxrwxrwx
1 root root 27 2012-20-10 16:01 /dev/dsk0/nuevo-volumen ->
/dev/mapper/dsk0-nuevo-volumen
Ahora
será necesario dar formato al nuevo volumen lógico, para este
ejemplo se dará formato con el sistema de archivos deseado, en este caso se hará con EXT4.
testing:~#
mkfs.ext4 /dev/mapper/testing-storage
mke2fs
1.41.3 (20-Oct-2012)
Filesystem
label=
OS
type: Linux
Block
size=4096 (log=2)
Fragment
size=4096 (log=2)
130560
inodes, 522240 blocks
26112
blocks (5.00%) reserved for the super user
First
data block=0
Maximum
filesystem blocks=536870912
16
block groups
32768
blocks per group, 32768 fragments per group
8160
inodes per group
Superblock
backups stored on blocks:
32768,
98304, 163840, 229376, 294912
Writing
inode tables: done
Creating
journal (8192 blocks): done
Writing
superblocks and filesystem accounting information: done
This
filesystem will be automatically checked every 23 mounts or
180
days, whichever comes first. Use tune2fs -c or -i to override.
Luego,
se debe agregar en el FSTAB para que la partición se monte
inmediatamente al momento de arrancar el sistema, para ello, abrir un
editor de archivos:
#
nano /etc/fstab
Y
se agrega la partición
/dev/dsk0/nuevo-volumen
/mnt/storage ext4 defaults 0 0
O
en su defecto, montar manualmente la partición de la siguiente
manera:
#
mkdir /mnt/storage
#
mount /dev/dsk0/nuevo-volumen/mnt/storage/
#
df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/dsk0/nuevo-volumen
2.0G
36M 1.9G 2% /mnt/storage
5.2.
REDIMENSIONAR UN VOLUMEN LÓGICO
Hasta
aquí se ha visto cómo crear volúmenes físicos, grupos de
volúmenes y volúmenes lógicos. A su vez, se mostró cómo utilizar
el volumen creado. En este punto se verá el tema de redimensionar el
volumen lógico recién creado, primero agrandando su tamaño y luego
achicándolo. Es de destacar que el primero de los
redimensionamientos será llevado a cabo sin desmontar el volumen
lógico.
5.2.1.
AUMENTAR EL TAMAÑO
En
este punto se considerará que se tiene un disco rígido adicional
identificado como /dev/hdc y que el mismo tiene dos particiones,
/dev/hdc1 y /dev/hdc2. Se utilizará la primera de ellas para
extender el volumen creado en los pasos anteriores.
Crear
volumen físico.
#
pvcreate /dev/hdc1
Physical
volume "/dev/hdc1" successfully created
Extender
el grupo de volúmenes.
En
este paso se le indica al grupo de volúmenes dsk0 que se le agregará
un nuevo volumen físico.
#
vgextend dsk0 /dev/hdc1
Volume
group "dsk0" successfully extended
Extender
el volumen lógico.
El
siguiente comando toma el volumen “nuevo-volumen” ya existente y
le agrega 0.95G de tamaño, tomados a partir de la integración del
nuevo volumen físico.
#
lvextend -L +0.95G /dev/dsk0/nuevo-volumen
Rounding
up size to full physical extent 976.00 MB
Extending
logical volume storage to 2.95 GB
Logical
volume storage successfully resized
Redimensionar
el sistema de archivos.
Hasta
aquí está todo bien, sin embargo aún el volumen no ha crecido en
tamaño, según muestra la salida del comando df.
#
df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/mapper/testing-storage
2.0G
36M 1.9G 2% /mnt/storage
Lo
que ha ocurrido es que, si bien el volumen ya cuenta con una mayor
capacidad de almacenamiento, el sistema de archivos que se creó está
limitando el tamaño del mismo. Por ello, es necesario extender el
sistema de archivos existente. Este paso se realizará on-line, es
decir, sin desmontar el volumen.
#
resize2fs /dev/dsk0/nuevo-volumen
resize2fs
1.41.3 (12-Oct-2008)
Filesystem
at /dev/testing/storage is mounted on /storage; on-line resizing
required
old
desc_blocks = 1, new_desc_blocks = 1
Performing
an on-line resize of /dev/testing/storage to 772096 (4k) blocks.
The
filesystem on /dev/testing/storage is now 772096 blocks long.
Luego,
se comprueba con df:
#
df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/mapper/testing-storage
2.9G
36M 2.8G 2% /mnt/storage
Como
puede verse, el sistema de archivos ha sido extendido sin desmontar
el volumen y los datos que se tenían fueron conservados.
Herramientas
informativas
Es
posible ver el estado y detalles de los diferentes volúmenes
físicos, grupos de volúmenes y volúmenes lógicos mediante tres
sencillos comandos que se muestran a continuación: pvdisplay,
vgdisplay y lvdisplay.
#
pvdisplay
---
Physical volume ---
PV
Name /dev/hdb
VG
Name dsk0
PV
Size 2.00
GB / not usable 4.00 MB
Allocatable
yes (but
full)
PE
Size (KByte) 4096
Total
PE 511
Free
PE 0
Allocated
PE 511
PV
UUID pE7qSU-COhd-j6a4-YnWg-1mR7-xZ48-XDstZk
---
Physical volume ---
PV
Name /dev/hdc1
VG
Name dsk0
PV
Size 976.96
MB / not usable 984.50 KB
Allocatable
yes
PE
Size (KByte) 4096
Total
PE 244
Free
PE 1
Allocated
PE 243
PV
UUID rmvKFh-0hGJ-mBby-zPjT-eyvf-2CrP-TjTKG3
#
vgdisplay
---
Volume group ---
VG
Name dsk0
System
ID
Format
lvm2
Metadata
Areas 2
Metadata
Sequence No 4
VG
Access read/write
VG
Status resizable
MAX
LV 0
Cur
LV 1
Open
LV 1
Max
PV 0
Cur
PV 2
Act
PV 2
VG
Size 2.95
GB
PE
Size 4.00
MB
Total
PE 755
Alloc
PE / Size 754 / 2.95 GB
Free
PE / Size 1 / 4.00 MB
VG
UUID epQoNY-6JWP-1vUX-IZm0-LRwo-4fR4-AEEo1p
#
lvdisplay
---
Logical volume ---
LV
Name /dev/dsk0/nuevo-volumen
VG
Name dsk0
LV
UUID ywXZGl-kafG-CoHV-3jGt-wt1S-rnlY-IBIgF8
LV
Write Access read/write
LV
Status available
#
open 1
LV
Size 2.95
GB
Current
LE 754
Segments
2
Allocation
inherit
Read
ahead sectors auto
-
currently set to 256
Block
device 254:2
5.2.2.
REDUCIR UN VOLUMEN
Para
el caso de reducir un volumen los pasos son los mismos pero en orden
inverso, aunque no es necesario achicar el grupo de volúmenes (eso
dependerá de la necesidad particular).
En
la siguiente salida se puede verificar que el filesystem está
montado y tiene una tamaño total de 2.9G.
#
df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/mapper/testing-storage
2.9G
36M 2.8G 2% /mnt/storage
Lo
que hay que hacer entonces es redimensionar el filesystem. Para poder
hacerlo el mismo no debe estar montado, dado que de lo contrario da
un error al intentar la ejecución, tal como se muestra a
continuación:
#
resize2fs /dev/dsk0/nuevo-volumen 1G
resize2fs
1.41.3 (12-Oct-2008)
Filesystem
at /dev/testing/storage is mounted on /storage; on-line resizing
required
On-line
shrinking from 772096 to 262144 not supported.
Se
ve que dice claramente que la reducción del filesystem de forma
on-line no puede llevarse a cabo. Entonces sí es necesario
desmontarlo y luego hacer la reducción. Es muy recomendado hacer un
chequeo del filesystem antes de achicarlo.
#
umount /dev/dsk0/nuevo-volumen
#
e2fsck -f /dev/mapper/nuevo-volumen
e2fsck
1.41.3 (12-Oct-2008)
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/nuevo-volumen:
***** FILE SYSTEM WAS MODIFIED *****
/dev/mapper/nuevo-volumen:
12/195840 files (0.0% non-contiguous), 21270/772096 blocks
#
resize2fs /dev/mapper/nuevo-volumen 1G
resize2fs
1.41.3 (12-Oct-2008)
Resizing
the filesystem on /dev/mapper/nuevo-volumen to 262144 (4k) blocks.
The
filesystem on /dev/mapper/nuevo-volumen is now 262144 blocks long.
Muy
bien, con los pasos anteriores logró reducirse el tamaño del
sistema de archivos a 1GB. Dicha modificación puede constatarse
volviendo a montar el filesystem y viendo que ahora el tamaño es de
1008M contra los 2.9G que mostraba antes.
#
mount /mnt/storage/
#
df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/mapper/nuevo-volumen
1008M
35M 923M 4% /mnt/storage
Ahora
bien, hasta aquí sólo se achicó el filesystem y no se modificó
nada del volumen lógico, por lo que es de suponer que el mismo se
haya mantenido sin cambios. Se puede verificar esto mediante el
siguiente comando:
#
lvdisplay /dev/dsk0/nuevo-volumen | grep Size
LV
Size 2.95
GB
Entonces,
para reducir efectivamente el volumen hay que indicarle con el
comando lvreduce cuál será su nuevo tamaño. En este caso, 1GB.
#
lvreduce -L 1GB /dev/dsk0/nuevo-volumen
WARNING:
Reducing active and open logical volume to 1.00 GB
THIS
MAY DESTROY YOUR DATA (filesystem etc.)
Do
you really want to reduce storage? [y/n]: y
Reducing
logical volume storage to 1.00 GB
Logical
volume storage successfully resized
#
df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/mapper/nuevo-volumen
1008M
35M 923M 4% /mnt/storage
#
lvdisplay /dev/dsk0/nuevo-volumen | grep Size
LV
Size 1.00
GB
En
este punto sí se ve claramente que se ha reducido tanto el tamaño
del filesystem como el del volúmen.
Finalmente,
con el siguiente comando se puede verificar que, si bien se achicaron
el filesystem y el volúmen lógico, el grupo de volúmenes sigue
teniendo la misma dimensión, con la diferencia que en este caso
tiene espacio libre que podrá ser asignado a un nuevo volumen. Esta
información puede verse en las variables VG Size, Alloc Size, Free
Size.
#
vgdisplay dsk0
---
Volume group ---
VG
Name dsk0
System
ID
Format
lvm2
Metadata
Areas 2
Metadata
Sequence No 5
VG
Access read/write
VG
Status resizable
MAX
LV 0
Cur
LV 1
Open
LV 1
Max
PV 0
Cur
PV 2
Act
PV 2
VG
Size 2.95
GB
PE
Size 4.00
MB
Total
PE 755
Alloc
PE / Size 256 / 1.00 GB
Free
PE / Size 499 / 1.95 GB
VG
UUID epQoNY-6JWP-1vUX-IZm0-LRwo-4fR4-AEEo1p
5.2.2.
REMOVER VOLÚMENES
Llegó
el momento de deshacer todo el trabajo que se llevó adelante hasta
el momento.
Eliminar
un volumen lógico.
#
umount /storage/mnt
#
lvremove /dev/dsk0/nuevo-volumen
Do
you really want to remove active logical volume "nuevo-volumen"?
[y/n]: y
Logical
volume "nuevo-volumen" successfully removed
Eliminar
un grupo de volúmenes.
#
vgremove dsk0
Volume
group "dsk0" successfully removed
Eliminar
un volumen físico.
#
pvremove /dev/hdb
Labels
on physical volume "/dev/hdb" successfully wiped
6.
RECOMENDACIONES
LVM
es un sistema muy interesante para utilizar ya sea en sistemas
pequeños como en sistemas con muchos discos y esquemas complejos de
particionamiento. Por su flexibilidad y sus capacidades puede reducir
mucho el trabajo de mantenimiento de los equipos y cualquier cambio a
nivel de almacenamiento.
Spades Plus - sunscreen with zinc oxide and titanium dioxide
ResponderEliminarThe spades Plus – and it titanium white acrylic paint is a popular card game. The fallout 76 black titanium player must place all the cards face-down, in pairs with 1xbet 먹튀 their titanium mig 170 partner. Each of the spades cards titanium meaning