LVM y recuperación ante desastres


13

Entiendo qué es LVM y qué logra, pero siento que me faltan algunas cosas.

Digamos que tenemos dos unidades físicas, sda y sdb. Ambos son 100 megas. Los pongo en VolumeGroup1 y creo un 200 Meg LogicalVolume1.

¿Qué pasaría si creo un archivo de 150 meg? ¿Serían 100 megas físicamente en sda y 50 en sdb? Si es así, ¿qué le dice al sistema operativo que una parte del archivo está en una unidad y otra parte está en la otra?

¿Qué pasa con la falla de la unidad? Suponiendo que no haya RAID, si sdb falla, ¿se perderán todos los datos en sda? ¿Hay alguna forma de controlar qué archivos están en qué unidades físicas?

¿Cómo manejas generalmente LVM? ¿Crea uno o dos grupos de volúmenes grandes y luego hace particiones como tiene sentido? ¿Algún otro consejo?


1
Si desea evitar la redundancia de una incursión, un medio grande y puede vivir con fallas de un solo disco, esto podría funcionar para usted: serverfault.com/a/543684/165065
DennisH

Respuestas:


15

Digamos que tenemos dos unidades físicas, sda y sdb. Ambos son 100 megas. Los pongo en VolumeGroup1 y creo un 200 Meg LogicalVolume1.
¿Qué pasaría si creo un archivo de 150 meg? ¿Serían 100 megas físicamente en sda y 50 en sdb?

Correcto (suponiendo que el sistema de archivos estaba vacío antes de crear el archivo).

Si es así, ¿qué le dice al sistema operativo que una parte del archivo está en una unidad y otra parte está en la otra?

LVM le dice al sistema operativo que hay un solo disco de 200 MB. La parte LVM del kernel (viene en dos partes, herramientas de administración del espacio de usuario y controladores del kernel) luego asignará lo que el sistema operativo ve a ubicaciones físicas / bloques en los discos.

¿Qué pasa con la falla de la unidad? Suponiendo que no haya RAID, si sdb falla, ¿se perderán todos los datos en sda? ¿Hay alguna forma de controlar qué archivos están en qué unidades físicas?

Sí, considere la pérdida de datos.

Si crea volúmenes lógicos más pequeños, puede usar el pvmovecomando para moverlos de un disco a otro.

¿Cómo manejas generalmente LVM? ¿Crea uno o dos grupos de volúmenes grandes y luego hace particiones como tiene sentido? ¿Algún otro consejo?

Tiendo a crear grandes grupos de volúmenes y luego crear volúmenes lógicos según sea necesario. No es necesario asignar completamente todo el espacio en un Grupo de volúmenes; asignarlo cuando sea necesario. Es fácil aumentar el tamaño de un Volumen Lógico, y prácticamente todos los sistemas de archivos modernos también pueden crecer fácilmente.


¿Estás seguro de eso primero? Pensé LVM generalmente cambia automáticamente a la creación de bandas, por lo que el archivo de 150 megas sería probable que tenga aproximadamente 75 megas en cada unidad
Freiheit

2
Las franjas no se crean a menos que especifique --stripes <num>(breve -i <num>) cuando cree el Volumen lógico.
pgs

PD: mi respuesta aquí contiene un script que le mostrará qué PV usa cada LV: serverfault.com/questions/28592/…
pgs

@freiheit, pgs es correcto, el valor predeterminado es extender, no rayar, el volumen.
Avery Payne

sobre la administración, estoy dispuesto a crear un grupo lvm para mis 3 HD, pero solo creo volúmenes lógicos limitados a volúmenes físicos y, luego, solo uso espacios disponibles para crear instantáneas; ¿Crees que este es el más seguro para un usuario doméstico (que no tiene redada ni dinero para reemplazar las cosas rápidamente)?
Acuario Power

4

Lo subyacente que permite que LVM y Software Raid funcionen en Linux es la parte del mapeador de dispositivos del núcleo. Esto es lo que abstrae las direcciones de bloque de los dispositivos físicos a los dispositivos de bloque virtuales que está utilizando.

Cuando se utiliza LVM como con cualquier cosa en lo que respecta a los datos, debe tener en cuenta las repercusiones de la disponibilidad de datos. Eso no quiere decir que LVM es peligroso, de hecho, cuando se utilizan las prácticas adecuadas, su impacto en la disponibilidad es mínimo.

En el caso de que sugiera en su pregunta, la disponibilidad de sus datos sería la misma que la de RAID0, en la que si falla alguna unidad, se perderían datos.

En la práctica, no usaría LVM sin ejecutarlo en algún tipo de RAID. He usado LVM en un servidor de archivos de 30 TB que tenía alrededor de 20 volúmenes RAID5 de hardware en un VG. Pero si tiene suficientes extensiones gratis, puede usar pvmove para migrar los datos de uno o más PV en caso de que comience a causarle problemas.

Pero siempre tenga una estrategia de respaldo implementada que se pruebe de vez en cuando.


3

¿Cómo manejas generalmente LVM? ¿Crea uno o dos grupos de volúmenes grandes y luego hace particiones como tiene sentido?

Mi estrategia general es poner en un grupo de volúmenes separado los volúmenes físicos que posiblemente podrían migrarse (como un conjunto completo) a otro sistema.

Si tiene almacenamiento externo, es una buena idea colocarlo en un grupo de volúmenes separado. Es físicamente fácil desconectarlo de esta computadora y conectarlo a otro, por lo que debería ser lógicamente fácil exportarlo / importarlo en LVM, manteniendo los datos intactos.

Si ya tiene un vg00 en disco (s) interno (s), y luego compra otro disco interno para su máquina, hágase una pregunta: ¿los datos del nuevo disco estarán vinculados a vg00, y no tendría sentido moverlos? los datos a otro sistema? En este caso, debería ser parte de vg00. De lo contrario, crearía vg01, ya que se puede exportar / importar fácilmente por sí solo.


0

Si tiene dos unidades como volúmenes físicos en un grupo como ese, entonces lo que tiene es una matriz JBOD (Just a Bunch Of Disks). Si una de las unidades falla, no estará mejor protegido que si las unidades estuvieran dispuestas en una matriz RAID0.

No puede controlar directamente qué va a dónde en las dos unidades si tiene un volumen lógico en el grupo de volúmenes (ya que esto será controlado por el sistema de archivos en el volumen, no LVM), aunque si divide el grupo de volúmenes en múltiples volúmenes lógicos, puede ordenar manualmente su creación de modo que un volumen lógico determinado esté en una unidad determinada.

Creo que cada PV en un VG tiene una copia del diseño LV y los datos no se eliminan como con RAID0, por lo que tiene más posibilidades de recuperar algo si una de sus unidades falla, pero si la pérdida de datos es motivo de preocupación. No consideraría usar dos unidades de esta manera (a través de LVM o RAID0).


0

¿Qué pasaría si creo un archivo de 150 meg? ¿Serían 100 megas físicamente en sda y 50 en sdb? Si es así, ¿qué le dice al sistema operativo que una parte del archivo está en una unidad y otra parte está en la otra?

El LVM (Logical Volume Manager) recopila volúmenes físicos en grupos de volúmenes. Cada volumen físico (el propio disco) tiene pequeñas piezas llamadas extensiones físicas. Estas extensiones tienen un identificador uniq en el disco. En realidad están numerados secuencialmente. Cuando crea un volumen lógico, se ha creado a partir de extensiones lógicas que se emparejan con las extensiones físicas. Las extensiones lógicas tienen ID uniq en el volumen lógico. En HP-UX puede verificar qué extensión lógica se empareja con qué extensión física. En SLES11 no puedo descubrir cómo verificarlo. lvdisplay --mapsdebería ser bueno pero no perfecto (para mí).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.