Adicionando discos com o LVM

26

Tenho certeza de que isso já foi respondido em algum lugar aqui antes (eu até achei um guia aqui , mas parecia um pouco irregular e incompleto), mas queria saber se alguém poderia me ajudar ou, pelo menos, me apontar na direção certa para consiga o que estou tentando realizar.

Basicamente, instalei o Ubuntu 14.04 (via "Guiado - use todo o disco e configure o LVM") em um disco de 20 GB. Em seguida, adicionei fisicamente um disco limpo de 80 GB à máquina, que ele detectou como 'sdb'.

Basicamente, minha pergunta é: eu quero poder adicionar / combinar a quantidade de espaço alocado do novo disco (80 GB) à minha máquina para que, em vez de mostrar duas unidades (20 GB e 80 GB), ele simplesmente mostre uma unidade (100 GB) . Não estou preocupado com RAID ou qualquer outro complemento especial.

Sou um pouco novo no Linux, mas entendo que preciso usar o LVM para fazer isso.

Se houver alguém que possa me ajudar ou me vincular a um guia / tutorial útil, seria muito apreciado! Não tenho certeza se isso é necessário também, mas aqui está minha saída 'fdisk -l' e '/ etc / fstab':

Saída fdisk (reduzida):

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 (abreviado):

# <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
oink
fonte

Respostas:

53

Depois de revisar uma combinação de guias e tutoriais aleatórios na rede, consegui adicionar com êxito um disco à minha máquina Ubuntu Server 14.04 e configurá-lo para que eu tenha vários discos rígidos aparecendo como uma única unidade. Para fazer isso, usei o LVM.

Para ajudar qualquer pessoa que queira fazer isso em algum momento, postarei aqui o que fiz.


Essas etapas pressupõem que você esteja basicamente começando do zero, exceto que já instalou o Ubuntu em sua máquina (via "Guiado - use todo o disco e configure o LVM") e adicionou fisicamente o disco adicional. Essas etapas podem funcionar se você tiver dados existentes na máquina, mas não posso dizer com certeza se seria seguro fazer isso.

Esses comandos assumem as seguintes informações e variam de acordo com a sua configuração:

  • Seu novo disco é 'sdb'
    • Isso pode ser encontrado executando ls /dev/sd*
  • Que o nome do seu grupo de volumes é 'ubuntu-vg'
    • Isso pode ser encontrado executando vgdisplay
  • Que o caminho do seu volume lógico é '/ dev / ubuntu-vg / root'
    • Isso pode ser encontrado executando lvdisplay
  • Seu novo disco tem 20 GB
    • Espero que você saiba o tamanho do disco.

  1. Instale o Logical Volume Manager (você pode ou não precisar fazer isso).

    sudo apt-get install system-config-lvm
    
  2. Converta seu novo disco em um volume físico (nesse caso, o novo disco é 'sdb').

    sudo pvcreate /dev/sdb
    
  3. Adicione o volume físico ao grupo de volumes via 'vgextend'.

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. Aloque o volume físico a um volume lógico (estenda o tamanho do volume pelo seu novo tamanho de disco).

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. Redimensione o sistema de arquivos no volume lógico para usar o espaço adicional.

    sudo resize2fs /dev/ubuntu-vg/root
    

Isso deve resolver. Cinco passos simples! Você também não precisa reiniciar. Basta executar df -he seu novo espaço em disco deve aparecer alocado corretamente, assim como os aplicativos da web que você estiver executando receberão a nova quantidade de espaço em disco.

oink
fonte
2
Você pode usar lvextend -l +100%FREEpara estender a usar todo o espaço livre, em vez delvextend -L+20G
nathancahill
Você pode usar cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionspara encontrar o nome, como sdb, de uma unidade recém-instalada.
O. Jones
1
Isso deve funcionar; no entanto, aconselho a não usar um disco inteiro como volume lógico. Em vez disso, recomendo particionar o disco e criar o LVM em uma ou mais partições nesse disco. Este procedimento fornece flexibilidade no futuro, caso você queira ou precise de espaço não LVM no futuro. Também pode funcionar melhor se você se deparar com uma ferramenta que assume que todos os discos estão particionados. Não conheço exemplos importantes dessas ferramentas, mas você nunca sabe quais suposições podem surgir em algum utilitário aleatório que você possa querer ou precisar executar no futuro.
Rod Smith
No comentário de Rod Smith, isso significa que, mecanicamente, você precisa executar o fdisk no seu / dev / sdb primeiro, alocar todo o espaço para uma nova partição, definir a partição como "Linux LVM" (tipo 8e) e substituir todos os / dev / sdb nas suas instruções com / dev / sdb1
mtalexan
ótimo guia. A verificação dos discos disponíveis é feita com mais lsblkfacilidade. Teste no RHEL7 embora.
erikbwork
1

Tentei configurar um grande disco LVM no Desktop 14.04 de 64 bits com unidades SATA de 3 x 500 GB. Falha durante a instalação com erros do dispositivo. Eu encontrei um link que afirma que unidades acima de 256G são o limite das extensões, mas não sei se isso se aplica aqui.

Também tentei configurar o RAID (RAID 1 / boot 300MB, RAID 0 swap 2GB e / RAID 5. tudo mais. Mais falhas.

$ sudo apt-get install -y mdadm

No Live CD "Experimente o Ubuntu sem instalar", você ainda pode instalar o MDADM. Ainda sem sorte. A detecção GParted parece ter um leve redirecionamento e não capta alguns volumes no LVM ou alguns volumes no RAID / dev / mdX, a menos que tudo já tenha recebido um sistema de arquivos;

$ sudo mkfs.etx4 / dev / md2

Além disso, as configurações de RAID apresentam ainda mais desafios agora. O MDADM não parece mais ser adicionado à lista de pacotes / target / usr / sbin da instalação, e instalá-la lá para que a instalação seja reiniciada seria uma grande provação, para a qual simplesmente não tenho tempo ou paciência , apenas para descobrir que mais algumas horas de trabalho posteriormente ainda não foram iniciadas nessas novas UEFI (UEFI) de placas-mãe com desempenho do Windows 8 para um problema do GRUB.

A instalação do LVM a partir do Ubiquity funciona muito bem, até que você precise adicionar mais discos à partição / / (root), quando você tem uma chance muito boa de explodir toda a instalação. As operações de redimensionamento do LVM continuam falhando e você volta ao quadrado 1 novamente .

Experimentar o instalador do servidor 14.04 Partman salva o dia.

Inicializando o instalador do 14.04 Server, ele identificou as arquiteturas perfeitamente, instalou o MDADM, o grub foi instalado nos 3 discos e tudo funciona muito bem.

3 discos (500 GB SATA)

3 partições cada. Todas as partições definidas para o tipo Linux Raid no fdisk.

RAID 1 / inicialização, partições de 300 MB, troca RAID 0, partições de 2 GB e RAID 5 /, 500 GB (o que resta.)

$ sudo fdisk -l
Sistema de identificação de blocos finais de inicialização do dispositivo
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 detecção automática de raid do fd Linux

Sistema de identificação de blocos finais de inicialização do dispositivo Sistema de identificação
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 detecção automática de raid Linux

Sistema de identificação de blocos finais de inicialização do dispositivo ID
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sdb3 4810752 976773167 485981208 detecção automática de raide Linux
...

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

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
Versão: 1.2
Tempo de criação: quarta-feira, 6 de agosto 13:03:01 2014
Nível de raide: raid1
Tamanho da matriz: 306880 (299,74 MiB 314,25 MB)
Tamanho de desenvolvimento usado: 306880 (299,74 MiB 314,25 MB)
Dispositivos Raid: 3
Total de Dispositivos: 3
Persistência: Superblock é persistente

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

Dispositivos ativos: 3
Dispositivos de trabalho: 3
Dispositivos com falha: 0
Dispositivos de reposição: 0

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

Número Principal Raid Menor Estado do dispositivo 0 8 1 0 sync ativo / dev / sda1 1 8 17 1 sync ativo / dev / sdb1 2 8 33 2 sync ativo / dev / sdc1

$ sudo mdadm -D / dev / md1 / dev / md1: Versão: 1.2 Tempo de criação: quarta-feira, 6 de agosto 13:03:31 2014 Nível de raide: raid0 Tamanho da matriz: 6289920 (6,00 GiB 6,44 GB) Dispositivos de invasão: 3 Total de dispositivos: 3 Persistência: o superbloco é persistente

Tempo de atualização: quarta-feira, 6 de agosto 13:03:31 2014 Estado: limpo Dispositivos ativos: 3 Dispositivos de trabalho: 3 Dispositivos com falha: 0 Dispositivos de reposição: 0

Chunk Size : 512K

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

Número Principal Raid Menor Estado do dispositivo 0 8 2 0 sync ativo / dev / sda2 1 8 18 1 sync ativo / dev / sdb2 2 8 34 2 sync ativo / dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2: Versão: 1.2 Tempo de criação: quarta-feira, 6 de agosto 13:03:50 2014 Nível de raide: raid5 Tamanho da matriz: 971699200 (926,68 GiB 995,02 GB) Tamanho de desenvolvimento usado: 485849600 (463,34 GiB 497.51 GB) Dispositivos Raid: 3 Total de Dispositivos: 3 Persistência: O superbloco é persistente

Tempo de atualização: seg. 11 de agosto 19:54:49 2014 Estado: ativo Dispositivos ativos: 3 dispositivos de trabalho: 3 dispositivos com falha: 0 dispositivos de reposição: 0

    Layout : left-symmetric
Chunk Size : 512K

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

Número Principal Raid Menor Estado do dispositivo 0 8 3 0 sync ativo / dev / sda3 1 8 19 1 sync ativo / dev / sdb3 3 8 35 2 sync ativo / dev / sdc3

$ sudo cat / etc / fstab
'# / etc / fstab: informações estáticas do sistema de arquivos.'
'#'
'# Use' blkid 'para imprimir o identificador universalmente único de um
dispositivo ' '#; isso pode ser usado com UUID = como uma maneira mais robusta de nomear dispositivos '
' # que funcionam mesmo que os discos sejam adicionados e removidos. Veja fstab (5).
'#'
'#'
'# / esteve em / dev / md126 durante a instalação'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 erros = remount-ro 0 1
'# / boot esteve em / dev / md125 durante a instalação '
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / padrões de inicialização ext4 0 2
'
UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a nenhum swap sw 0 0

Correndo como um puro-sangue agora.

Ocorre-me que se você estiver usando hardware de 32 bits, isso não funciona para você, mas acho que nesse momento o RAID flexível pode ser uma escolha pior do que apenas o LVM de disco único para itens menores e o JBOD para qualquer coisa mais antiga que isso. .

Obrigado.

spyderdyne
fonte
Partman salva o dia. Inicializado o instalador do 14.04 Server, ele identificou as arquiteturas muito bem, instalou o MDADM e tudo funciona muito bem. Aqui está um resumo da instalação, caso seja útil;
Spyderdyne
1

Essa técnica funcionou para mim em um SSD primário de 128 GB e uma extensão de HD de 2 TB.
Se você encontrar um problema usando "ubuntu-vg" ao adicionar um volume físico ao grupo de volumes, tente emitir o comando

sudo vgdisplay 

Normalmente, o formato do nome do grupo de volumes é NAME_OF_COMPUTER-vg, portanto, se seu sistema for nomeado, SKYNETseu grupo de volumes provavelmente será nomeado

SKYNET-vg
Alexander Heck
fonte