
Tengo un mirror LVM formado por 6 discos de 1Tb. Hice un espejo RAID 1 con 3+3 discos. El volumen lógico y la partición que contiene tienen, por tanto, 3 TB de espacio utilizable. Me estoy quedando sin espacio en disco, estoy intentandococinaruna solución temporal con un disco adicional de 4 TB que agregué a la última ranura disponible en esta computadora.
Me gustaría ampliar mi sistema de archivos actual con estos 4 Tb adicionales para un total de 3+4 = 7 Tb. Por lo tanto, una parte del volumen lógico tendría un espejo RAID 1 y la otra parte un único disco (como dije es una solución temporal).
No puedo reformatear mi matriz RAID1 existente ni mover los datos porque me estoy quedando sin espacio en todas partes.
Hice:
vgextend vg0 /dev/sdg1
donde vg0
esta mi grupo de volumen con los 6 discos y sdg1
es el nuevo disco de 4Tb. Entonces hice:
lvextend -l +100%FREE /dev/vg0/data
¿Dónde /dev/vg0/data
está mi volumen lógico?
Sin embargo, el volumen lógico no se puede ampliar y lvextend me dice:
Found fewer allocatable extents for logical volume data than requested: using 715395 extents (reduced by 953862).
Al final el grupo de volumen tiene un tamaño de aprox. 10Tb que es correcto pero el volumen lógico se queda en 3 Tb.
El volumen lógico actual es el siguiente:
Using logical volume(s) on command line.
--- Logical volume ---
LV Path /dev/vg0/data
LV Name data
VG Name vg0
LV UUID xcd11P-sL1W-M9vK-XftB-OeAA-b0Ec-AM2btA
LV Write Access read/write
LV Creation host, time xxxxxxx, 2015-08-27 18:24:58 +0100
LV Status available
# open 1
LV Size 2.73 TiB
Current LE 715395
Mirrored volumes 6
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 1536
Block device 253:12
Y la configuración deseada será la siguiente, donde por supuesto perdería parcialmente la redundancia de una configuración RAID 1 completa. Pero es una solución temporal. Y por supuesto, en el futuro, ZFS o btrfs serían una mejor solución:
¿Alguna idea sobre cómo resolver este problema específico (si existe una solución)?
Respuesta1
Agregar una sola unidad de 4 TB a su matriz de espejos múltiples destruye cualquier capacidad de confiar en la redundancia que se supone que proporciona RAID. Sería seguro si pudiera agregar una segunda unidad de 4 TB, pero (como no tiene puertos de unidad de repuesto) no puede hacerlo sin quitar uno de los discos existentes.
Si yo fuera usted, quitaría uno de los discos reflejados, agregaría una segunda unidad de 4 TB y crearía un nuevo grupo de volúmenes con unidades de 2 x 4 TB en un espejo RAID1.
NOTA: Esto dejará uno de sus pares RAID-1 de 1 TB sin su espejo, por lo que correrá el riesgo de perder datos hasta que se rsync
haya completado. Si tiene CUALQUIER puerto adicional, incluso e-sata o USB, coloque la unidad de 1 TB que extrajo en ese puerto hasta que finalice rsync.
Luego rsync
TODOS los datos del grupo de volúmenes anterior (la mayor parte del rsync se puede realizar mientras el sistema está en uso, pero tendrás que realizar un rsync final en modo de usuario único o desde un CD/USB de rescate). De hecho, puede ejecutar rsync repetidamente mientras el sistema está en uso, hasta que pueda programar un tiempo de inactividad para el rsync final y la siguiente etapa).
Cuando haya rsync
modificado los datos, apague el sistema y retire las unidades antiguas de 1 TB o, mejor aún, reutilice 4 de ellas para agregar otros 2 espejos RAID-1 a su nuevo grupo de volúmenes (2 de 1 TB cada uno). Esto dará como resultado un grupo de volúmenes de 6 TB (4 TB + 1 TB + 1 TB).
6 TB es menos de los 7 TB que estaba planeando, pero al menos tiene redundancia (la R en RAID) para todos sus datos.
Alternativamente, simplemente reemplace uno de los pares RAID-1 de 1 TB con 2 unidades de 4 TB (una a la vez, por supuesto): el mismo resultado final, sin sincronización. La rsync
idea probablemente sea más útil si decide seguir la sugerencia de btrfs o zfs a continuación.
Más adelante, puede reemplazar 1 o ambos espejos de 1 TB (restantes) por más espejos de 4 TB.
Una alternativa que vale la pena considerar es crear el espejo de 4 TB usando ZFS o btrfs en lugar de LVM. Esto le brindará los beneficios de un sistema de archivos de copia en escritura con corrección de errores, con compresión, instantáneas, reversiones, creación sencilla de subvolúmenes, cuotas y reservas "flexibles" (en lugar de la preasignación "dura" de espacio que LVM le brinda), envío y recepción de zfs/btrfs para respaldo (a otro grupo o servidor de zfs/btrfs) y más.
Tanto ZFS como btrfs harían que fuera trivialmente fácil reemplazar unidades de 1 TB por unidades más grandes. Simplemente cambie las unidades antiguas por las nuevas.uno a la vezy dígale a btrfs/zfs que reemplace la unidad faltante con la nueva.
Por cierto, si está utilizando LVM para proporcionar particiones LV a máquinas virtuales en lugar de (o además) sistemas de archivos montados, btrfs no es una opción (a menos que esté dispuesto a cambiar a qcow2 o archivos sin formato u otros archivos de imagen de disco). ZFS es, como puedes crearZVOLs así comoSistemas de archivos ZFS.