Agregar discos con LVM

26

Estoy seguro de que esto ha sido respondido en algún lugar aquí antes (incluso encontré un poco de guía aquí , pero parecía ser un poco irregular e incompleto), pero me preguntaba si alguien podría ayudarme o al menos señalarme en la dirección correcta para Lograr lo que estoy tratando de lograr.

Básicamente instalé Ubuntu 14.04 (a través de "Guiado: use todo el disco y configure LVM") en un disco de 20GB. Luego agregué físicamente un disco limpio de 80 GB a la máquina, que detecta como 'sdb'.

Básicamente mi pregunta es, quiero poder agregar / combinar la cantidad de espacio asignada desde el nuevo disco (80 GB) a mi máquina para que en lugar de mostrar dos unidades (20 GB y 80 GB), simplemente muestre una unidad (100 GB) . No me preocupa RAID ni ningún otro complemento especial.

Soy algo nuevo en Linux, pero entiendo que necesito usar LVM para lograr esto.

Si hay alguien que pueda ayudarme o vincularme a una guía / tutorial útil, ¡sería muy apreciado! Tampoco estoy seguro de si esto es necesario, pero aquí está mi salida 'fdisk -l' y '/ etc / fstab':

Salida fdisk (acortada):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/ etc / fstab (acortado):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0
gruñir
fuente

Respuestas:

53

Después de revisar una combinación de guías aleatorias y tutoriales en la red, pude agregar con éxito un disco a mi máquina Ubuntu Server 14.04, y esencialmente configurarlo para que aparezcan varios discos duros como una sola unidad. Para hacer esto, usé LVM.

Para ayudar a cualquier otra persona que quiera hacer esto en algún momento, publicaré aquí lo que hice.


Estos pasos suponen que está comenzando desde cero, excepto que ya instaló Ubuntu en su máquina (a través de "Guiado: use todo el disco y configure LVM") y físicamente agregó el disco adicional. Estos pasos pueden funcionar si tiene datos existentes en la máquina, pero no puedo decir con certeza si sería seguro hacerlo.

Estos comandos asumen la siguiente información y variarán según su configuración:

  • Tu nuevo disco es 'sdb'
    • Esto se puede encontrar ejecutando ls /dev/sd*
  • Que el nombre de su grupo de volúmenes es 'ubuntu-vg'
    • Esto se puede encontrar ejecutando vgdisplay
  • Que su ruta de volumen lógica es '/ dev / ubuntu-vg / root'
    • Esto se puede encontrar ejecutando lvdisplay
  • Tu nuevo disco tiene 20GB
    • Espero que sepas cuán grande es el disco.

  1. Instale Logical Volume Manager (puede o no necesitar hacer esto).

    sudo apt-get install system-config-lvm
    
  2. Convierta su nuevo disco a un volumen físico (en este caso, el nuevo disco es 'sdb').

    sudo pvcreate /dev/sdb
    
  3. Agregue el volumen físico al grupo de volúmenes a través de 'vgextend'.

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. Asigne el volumen físico a un volumen lógico (extienda el tamaño del volumen por su nuevo tamaño de disco).

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. Cambie el tamaño del sistema de archivos en el volumen lógico para que use el espacio adicional.

    sudo resize2fs /dev/ubuntu-vg/root
    

Deberias hacer eso. ¡Cinco sencillos pasos! Tampoco tienes que reiniciar. Simplemente ejecute df -hy su nuevo espacio en disco debería aparecer asignado correctamente, así como cualquier aplicación web que esté ejecutando recogerá la nueva cantidad de espacio en disco.

gruñir
fuente
2
Puede usar lvextend -l +100%FREEpara extender para usar todo el espacio libre, en lugar delvextend -L+20G
nathancahill
Puede utilizar cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionspara encontrar el nombre, como sdb, de una unidad recién instalada.
O. Jones
1
Esto debería funcionar; Sin embargo, advierto contra el uso de un disco completo como un volumen lógico. En cambio, recomiendo particionar el disco y crear el LVM dentro de una o más particiones en ese disco. Este procedimiento proporciona flexibilidad en el futuro, en caso de que desee o necesite algo de espacio no LVM en el futuro. También puede funcionar mejor si se encuentra con una herramienta que asume que todos los discos están particionados. No conozco ejemplos importantes de tales herramientas, pero nunca se sabe qué suposiciones pueden surgir en alguna utilidad aleatoria que desee o necesite ejecutar en el futuro.
Rod Smith
Según el comentario de Rod Smith, eso significa que mecánicamente necesita ejecutar fdisk en su / dev / sdb primero, asignar todo el espacio a una nueva partición, configurar la partición como un "Linux LVM" (tipo 8e), luego reemplazar todos los / dev / sdb entradas en sus instrucciones con / dev / sdb1
mtalexan
Gran guía. Sin lsblkembargo, la comprobación de los discos disponibles se hace más bellamente . Pruebas en RHEL7 sin embargo.
erikbwork
1

Intenté configurar un disco LVM grande en 14.04 64 bit Desktop con unidades SATA de 3X500GB. Falló durante la instalación con errores del dispositivo. Encontré un enlace que indica que las unidades de más de 256G son el límite de las extensiones, pero no sé si eso se aplica aquí.

También intenté configurar RAID (RAID 1 / boot 300MB, RAID 0 swap 2GB, y / RAID 5 todo lo demás. Más fallas.

$ sudo apt-get install -y mdadm

Desde la opción Live CD "Probar Ubuntu sin instalar", aún puede instalar MDADM. Aún sin suerte. La detección GParted parece estar ligeramente modificada y no capta algunos volúmenes en LVM o algunos volúmenes en RAID / dev / mdX a menos que todo ya tenga un sistema de archivos;

$ sudo mkfs.etx4 / dev / md2

Además, las configuraciones RAID presentan aún más desafíos ahora. Parece que MDADM ya no se agrega a la lista de paquetes / target / usr / sbin de la instalación, e instalarlo allí para que la instalación comience en el reinicio sería una gran experiencia, para lo cual simplemente no tengo el tiempo ni la paciencia , solo para descubrir que unas pocas horas más de trabajo más tarde aún no comenzaron en estas nuevas placas base pirateadas de rendimiento de Windows 8 (UEFI) por un problema de GRUB.

Instalar LVM desde Ubiquity funciona muy bien, hasta que necesite agregar más discos a la partición / (raíz, en ese momento tiene una muy buena posibilidad de volar toda la instalación. Las operaciones de cambio de tamaño de LVM siguen fallando y termina de nuevo en el cuadrado 1 nuevamente .

Probar el instalador del servidor 14.04 Partman salva el día.

Arrancó el instalador del servidor 14.04, identificó las arquitecturas bien, instaló MDADM, grub se instaló en los 3 discos y todo funciona muy bien.

3 discos (500GB SATA)

3 particiones cada uno. Todas las particiones configuradas en tipo Raid de Linux en fdisk.

RAID 1 / boot, particiones de 300 MB, intercambio RAID 0, particiones de 2 GB y RAID 5 /, 500 GB (lo que quede).

$ sudo fdisk -l
Dispositivo Inicio Arranque Fin Bloques Id Sistema
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 fd Linux raid autodetect

Dispositivo Inicio Arranque Fin Bloques Id Sistema
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 fd Linux raid autodetect

Dispositivo Inicio Arranque Fin Bloques Id Sistema
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sdb3 4810752 976773167 485981208 fd Linux raid autodetect
...

$ sudo ls / dev / md *
/ dev / md0 / dev / md1 / dev / md2

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
Versión: 1.2
Tiempo de creación: miércoles 6 de agosto 13:03:01 2014
Nivel de incursión: raid1
Tamaño de matriz: 306880 (299.74 MiB 314.25 MB)
Tamaño de desarrollo utilizado: 306880 (299.74 MiB 314.25 MB)
Dispositivos Raid: 3
Dispositivos totales: 3
Persistencia: Superblock es persistente

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

Dispositivos activos: 3
Dispositivos de trabajo: 3
Dispositivos fallidos: 0
Dispositivos de repuesto: 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

Número Estado de dispositivo de incursión menor mayor 0 8 1 0 sincronización activa / dev / sda1 1 8 17 1 sincronización activa / dev / sdb1 2 8 33 2 sincronización activa / dev / sdc1

$ sudo mdadm -D / dev / md1 / dev / md1: Versión: 1.2 Tiempo de creación: miércoles 6 de agosto 13:03:31 Nivel de incursión 2014: raid0 Tamaño de matriz: 6289920 (6,00 GiB 6,44 GB) Dispositivos de incursión: 3 dispositivos totales: 3 Persistencia: Superblock es persistente

Hora de actualización: mié 6 de agosto 13:03:31 2014 Estado: limpio Dispositivos activos: 3 Dispositivos de trabajo: 3 Dispositivos fallidos: 0 Dispositivos de repuesto: 0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

Número Estado de dispositivo de incursión menor mayor 0 8 2 0 sincronización activa / dev / sda2 1 8 18 1 sincronización activa / dev / sdb2 2 8 34 2 sincronización activa / dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2: Versión: 1.2 Tiempo de creación: miércoles 6 de agosto 13:03:50 Nivel de incursión 2014: raid5 Tamaño de matriz: 971699200 (926.68 GiB 995.02 GB) Tamaño de desarrollador utilizado: 485849600 (463.34 GiB 497.51 GB) Dispositivos Raid: 3 Dispositivos totales: 3 Persistencia: Superblock es persistente

Tiempo de actualización: Lun Ago 11 19:54:49 2014 Estado: activo Dispositivos activos: 3 Dispositivos de trabajo: 3 Dispositivos fallidos: 0 Dispositivos de repuesto: 0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

Número Estado de dispositivo de incursión menor mayor 0 8 3 0 sincronización activa / dev / sda3 1 8 19 1 sincronización activa / dev / sdb3 3 8 35 2 sincronización activa / dev / sdc3

$ sudo cat / etc / fstab
'# / etc / fstab: información del sistema de archivos estático'.
'#'
'# Use' blkid 'para imprimir el identificador universalmente único para un
dispositivo ' '#; esto se puede usar con UUID = como una forma más sólida de nombrar dispositivos '
' # que funciona incluso si se agregan y eliminan discos. Ver fstab (5).
'#'
'#'
'# / estaba encendido / dev / md126 durante la instalación'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 errors = remount-ro 0 1
'# / boot estaba encendido / dev / md125 durante la instalación '
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / boot ext4 por defecto 0 2
'
UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a ninguno intercambiar sw 0 0

Corriendo como un pura sangre ahora.

Se me ocurre que si está utilizando hardware de 32 bits, esto no funciona para usted, pero creo que en este punto RAID suave podría ser una opción peor que solo LVM de disco único para cualquier cosa más pequeña, y JBOD para algo más viejo que esto de todos modos .

Gracias.

Spyderdyne
fuente
Partman salva el día. Arrancó el instalador del servidor 14.04, identificó las arquitecturas bien, instaló MDADM y todo funciona muy bien. Aquí hay un resumen de la configuración en caso de que sea útil.
spyderdyne
1

Esta técnica funcionó para mí en una extensión SSD de 128 GB primaria y HDD de 2 TB.
Si se encuentra con un problema al usar "ubuntu-vg" al agregar un volumen físico al grupo de volúmenes, intente ejecutar el comando

sudo vgdisplay 

Por lo general, el formato del nombre del grupo de volúmenes es NAME_OF_COMPUTER-vg, por lo que si se nombra SKYNETsu sistema , probablemente se denominará su grupo de volúmenes

SKYNET-vg
Alexander Heck
fuente