Administrar discos duros con LVM(Logical Volume Management)
LVM nos permite realizar una configuración de discos duros que nos permita administrar el espacio de almacenamiento del servidor.
apt-get install lvm2 Instala la configuración de LVM.
Ante todo se debe crear la partición y darle el formato Linux LVM (8e) con fdisk.
Volúmenes físicos (Physical Volumes):
pvcreate /dev/[nombre de la partición] Este comando agrega la partición a los volúmenes físicos del LVM.
pvremove /dev/[nombre de la partición] Este comando elimina la partición a los volúmenes físicos del LVM.
pvscan Este comando lista las particiones que están agregadas en los volúmenes físicos del LVM y el tamaño total de la suma de todas las particiones.
pvs Este comando lista los volúmenes lógicos.
Grupo de volúmenes (Volume Groups): Agrupación de volúmenes físicos.
vgcreate [nombre del grupo] /dev/[nombre de la partición] Este comando permite agregar la partición a un grupo.
vgextend [nombre del grupo] /dev/[nombre de la partición] Este comando permite agregar más particiones a un grupo existente.
vgreduce [nombre del grupo] /dev/[nombre de la partición] Este comando permite elimina la partición de un grupo.
vgdisplay Este comando lista y detalla los grupos existentes.
vgs Este comando lista los grupos existentes.
Volúmenes lógicos (Logical Volumes):
lvcreate -n [nombre de la partición lógica] -L [tamaño]G [nombre del grupo] Este comando crea una partición lógica tomando un grupo existente como su espacio.
lvextend -L+[tamaño]G /dev/[nombre del grupo]/[nombre del volumen lógico] Extiende el tamaño del volumen lógico, según el espacio que tenga disponible el grupo que se usó para crear dicho volumen lógico.
lvs Este comando lista las particiones que se han hecho de los grupos existentes (partición lógica).
A este tipo de particiones también se les puede dar su respectivo formato con el comando mkfs.[formato] /dev/[nombre del grupo]/[nombre del volumen lógico]
Si necesitas una guía rápida de todos los comandos que se verán en el curso (incluso estos) aquí la tienes.
Mi práctica fue distinta:
Cree 3 particiones físicas, cada partición de 2G:
root@servidor:/home/joaqnjs# pvs
PVVGFmtAttrPSizePFree/dev/sdb2 db lvm2 a--2.00g 0/dev/sdb3 db lvm2 a--2.00g 0/dev/sdb4 db lvm2 a--2.00g 0
Cree un grupo llamadao db donde agrupé las 3 particiones físicas creadas anteriormente, dando un total de 5.99G disponible:
root@servidor:/home/joaqnjs# vgs
VG #PV #LV #SNAttrVSizeVFree db 310 wz--n-5.99g 0
Cree una partición lógica llamada servidorVE partiendo del espacio disponible del grupo db:
root@servidor:/home/joaqnjs# lvs
LVVGAttrLSizePoolOriginData%Meta%MoveLogCpy%SyncConvert servidorVE db -wi-a-----5.99g
Actualicé el enlace de la guía, ahora es:
Una forma grafica de entender como funciona LVM
Volumen fisico - Physical Volumes (PV): discos fisicos, particiones, volumenes RAID Grupos - Volume Groups (VG): contiene 1 o mas volumenes fisicos, se redimenciona agregando o quitando volumenes fisicos Volumen logico - Logical Volumes (LV): divide los grupos, se redimenciona en “caliente”
Esta parte es muy interesante, en mi trabajo tenemos implementada una BBDD la cual tiene un tamaño de 1.5 TB. A medida que ha incrementado su tamaño hemos ido agregando discos y con LVM solucionamos el problema de extender el espacio.
La partición creada en LVM está formateada con XFS y aquí viene un detalle que me gustaría compartir
Para trabajar con el sistema de archivos XFS a nivel de LVM es igual en lo primeros pasos
pvcreate
vgcreate
lvcreate
vgextend
La diferencia radica en que a la hora de extender el tamaño de la partición no se utiliza resize2fs, para XFS se utiliza xfs_growfs
# xfs_growfs /punto/de/montaje -D tamaño
Donde “tamaño” representa la cantidad de bloques que se va a expandir. Pero si deseamos expandir en su totalidad, se omite -D tamaño
# xfs_growfs /punto/de/montaje
Otro detalle a tener en consideración es que XFS no soporta reducción de tamaño, solo se puede incrementar.
Muy buen aporte Carlos
Excelente Capitulo! Así logre yo el reto propuesto:
Saludos!
Encontre esto sobre LVM que aclara mucho la cosa.
Las ventajas que tienen son múltiples, pero la inicial y más evidente es la flexibilidad frente al particionado tradicional. Pongamos (sin LVM) que creamos 4 particiones contiguas en un disco. Si en el futuro quisieramos aumentar alguna de las 3 primeras no podríamos hacerlo sin borrar las siguientes, lo que es complejo, peligroso y requiere de parada del servicio casi seguro. Pongamos que quisieramos ampliar la última, siempre tendríamos el límite del tamaño del disco. Pongamos que compramos un disco nuevo, y queremos ampliar el espacio de un sistema de ficheros existente en el disco anterior con el espacio nuevo, imposible salvo con «ñapas» de nuevos sistemas de ficheros y puntos de montaje. Con LVM todas esas limitaciones desaparecen. Podemos aumentar sus «particiones» (volúmenes lógicos en adelante) independientemente de que no haya espacio libre contiguo a éstas. Podemos aumentar sus volúmenes lógicos con espacio libre de diferentes discos físicos. E incluso podemos mover volúmenes lógicos entre dispositivos físicos. Y lo mejor de todo… ¡en caliente! Sin desmontar el sistema de ficheros, ¡sin parar un servicio! ¡Brujería! ¡Brujería!
Desafío 2: (Excelente curso y muy buenas clases, gracias…)
Inicio validando que no existe capacidad disponible en el volumen lógico, ni físico (sdb3).
root@ubuntu:~# lvextend -L+1g /dev/mapper/databases-mysql
Sizeof logical volume databases/mysql changed from1020.00MiB(255 extents) to 2.00GiB(511 extents).Logical volume mysql successfully resized.
Ejecutar comando rezise2fs para actualizar la modificación de tamaño del volumen lógico
root@ubuntu:/~# resize2fs /dev/mapper/databases-mysql
resize2fs 1.42.13(17-May-2015)Filesystem at /dev/mapper/databases-mysql is mounted on /db-mysql; on-line resizing required
old_desc_blocks =4, new_desc_blocks =8The filesystem on /dev/mapper/databases-mysql is now 2093056(1k) blocks long.
Porque la partición se formateo con el file system LVM pero al agregar el disco no se inicializó la tabla de particiones MBR o GPT ni tampoco se le dio formato?
Las particiones LVM por su forma de trabajar no necesita crear las tablas de particiones MBRo GPT, el formato se hace cuando se monta la partición lógica.
Te recomiendo veas el video un par de veces, a mi me toco verlo 3 veces para entender cada uno de los conceptos.
¿si quiero tener dual boot de dos distribuciones linux puedo compartir cosas como swap y home?
El swap no hay problema, pero no creo que sea buena idea compartir el home, ya que cada entorno puede escribir cosas de diferentes dependiendo del entorno de escritorio y puede que carpetas que se llamen igual puedan dar problemas.
Es necesario desmontar todos las particiones el SSD para llevar a cabo la función de write con el Linux LVM? Es que a mi no me dejaba sino hasta que desmonté incluso la swap con swapoff /dev/swap_partition_example. Si hay otra opción para no tener que desmontar algunas cosas como la swap cual es?
mismo problema también tuve que desmontar la swap para que me dejará escribir la partición LVM
Si, igual, creo que este vídeo debió ser el No.17
Reto #2 cumplido
Excelente herramienta! LVM
Hola, si en un servidor físico, la placa madre muere, se puede cambiar discos en raid a otra maquina igual con la misma placa raid pci?
Hola, no creo que llegues a tener problemas en cambiarlo aunque dependiendo de tu sistema de particionado (MBR o GPT) puede que tengas que realizar algunos ajustes.
El comando importante > pvmove /dev/xvdf3 /dev/xvdg1
pregunta, esto se comporta iugual que una particion normal, es decir si hay datos guardados estos se pierden?
Si, al convertir las particiones primero deben ser destruidas las anteriores por lo tanto la información es eliminada.
me costo entender esto ultimo del curso? pero si no estoy tan perdido, hay que agregar otro volumen en amazon cierto? para hacer el reto?
Así es, solo ten en cuenta que te pueden cobrar el volumen, lo mejor es que no lo hagas con un volumen tan grande como 100 gb si no lo hagas con una de 8 gb y adaptes el ejercicio a ese tamaño.
con un poco de ayuda lo logre jejeje
Alguien sabrá como reducir el tamaño de la partición
tengo entendido que con lvreduce pero al aplicar resize2fs me marca error (resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/databases/postgres is mounted on /var_new; on-line resizing required
resize2fs: On-line shrinking not supported )
pero entonces alguien me podrá explicar como se hace?
una consulta, al estar creando tantos volumenes con diferentes capacidades esto hara un cobro aparte de la tarjeta de credito cuanto dinero se nos cobra al final por todo?