Como configurar vários discos rígidos como um volume?

39

Estou prestes a configurar a caixa para basicamente ser um servidor de arquivos. Pretendo ter várias unidades na caixa e gostaria de configurá-las para que pareçam ser uma única unidade. Então, eu poderia essencialmente montá-lo em say / media e não me importar com qual unidade será usada. Não tenho certeza de qual é a terminologia correta para fazer isso; portanto, meu Google fu é inútil nessa situação.

Então, como configuro vários discos rígidos para aparecerem como uma única unidade?

Jacob Schoen
fonte

Respostas:

17

Você provavelmente desejará usar o LVM . Você pode encontrar alguns guias aqui .

mgunes
fonte
11
Obrigado. Como uma observação, parece que o que eu quero é SettingUpLVM-WithoutACleanInstall, pois não estou usando Raid ou criptografando nada.
Jacob Schoen
47

Decidi escrever as instruções passo a passo que fiz para configurar isso. Uma observação importante é que eu fiz isso em um sistema no qual inicializo a partir de uma partição separada que não faz parte do LVM. Portanto, o LVM é simplesmente para armazenamento e não possui nenhum dos arquivos necessários para a inicialização do sistema operacional. Isso também é para criar a aparência de uma unidade grande, embora uma técnica semelhante possa ser usada para criar a aparência de várias unidades (na verdade, partições de poço). É um despejo de cérebro muito egoísta, já que os outros guias não me completam tudo isso. Então, espero que possa ajudar os outros.

Essas instruções são essencialmente do link fornecido por Murat Gunes com mais algumas informações que reuni daqui .


Comecei com um disco que não tinha nada necessário.

  • Primeiro você precisa criar uma partição como Linux LVM. Você pode usar o fdisk para fazer isso. Você pode ver todas as unidades que o Ubuntu vê e como elas são listadas executando:sudo fdisk -l

A primeira linha de cada seção deve fornecer informações suficientes para identificar sua unidade. Será parecido com:

Disco / dev / sda: 500,1 GB, 500107862016 bytes

A parte que importa é /dev/sda. Agora execute: sudo fdisk /dev/sda. Você verá:

Comando (m para obter ajuda):

Digite ppara listar as partições na sua unidade. Você precisa excluir as partições que deseja fazer parte do LVM. Então, digite dpara excluir. Se a unidade tiver apenas uma partição, ela será removida (sinalize-a para remoção, isso não acontecerá até que seja solicitado). Caso contrário, acho que (o meu só tinha um) solicita que você insira o número do que deseja excluir.

Agora você precisa criar a nova parição. Digite npara novo. Ele pergunta se estendido ou primário. Digite ppara primário. Ele pede o número da partição, tipo 1. Para o primeiro e o último cilindro, deixe-os em branco para usar os padrões.

Agora você precisa configurá-lo para Linux LVM. Digite t. Ele solicita um código hexadecimal, use 8epara o Linux LVM. Você verá algo como:

Tipo de sistema alterado da partição 1 a 8e (Linux LVM)

Por fim, digite wpara escrever as alterações no disco.

  • Agora precisamos instalar o LVM, então execute-o sudo apt-get install lvm2para instalá-lo.
  • Vou ser sincero e dizer que não tenho certeza do que esta etapa faz, mas as outras instruções recomendadas modprobe dm-modpara carregar o módulo LVM. Como não recebi nenhum erro, acho que funcionou.
  • Precisamos editar o arquivo / etc / modules para esse módulo carregar na inicialização. Faça sudo nano /etc/modulespara abri-lo para editar. Adicione dm-modà lista de itens.
  • Também queremos editar a configuração do lvm para atualizar o filtro, para que não demore muito tempo a varrer (acho que é por isso). Então faça sudo nano -w /etc/lvm/lvm.confe mude a linha com:

filter = ["a /.*/"]

ser estar:

filter = ["a | / dev / hd [ab] |", "r /.*/"]

  • Agora, precisamos configurar o primeiro LVM. Faça sudo vgscan. Você deve ver algo como:

Lendo todos os volumes físicos. Isso pode demorar um pouco ...
Nenhum grupo de volumes encontrado

Caso haja algum grupo de volumes já configurado, execute sudo vgchange -a ypara disponibilizá-los.

  • Agora execute sudo pvcreate /dev/sda1para configurar a partição.
  • Agora execute a sudo vgcreate media /dev/sda1substituição da mídia pelo nome em que você deseja que a partição seja rotulada.
  • Agora execute sudo lvcreate -l100%FREE -nvolume mediasubstituindo o volume pelo nome que você deseja que ele seja chamado. Isso usará todo o espaço livre disponível na partição.
  • Agora precisamos formatar o volume, para o ext4 você faria sudo mke2fs -t ext4 /dev/media/volume.
  • Crie o diretório em que você deseja montar o volume. Eu fiz sudo mkdir /mnt/media.
  • Monte o volume fazendo sudo mount /dev/media/volume /mnt/media. Agora, isso é apenas para esta sessão. Quando você reiniciar, ele não será remontado automaticamente. Para fazer isso, precisamos editar o /etc/fstabarquivo. Para fazer isso, adicione sudo nano /etc/fstabe adicione a linha:

/ dev / media / volume / mnt / media ext4 padrões 0 1

Nesse ponto, você pode começar a adicionar arquivos ao disco; portanto, se precisar limpar outros discos que deseja adicionar, copie-os aqui.


Adicionando outra unidade ao seu volume

  • Portanto, siga as etapas do primeiro marcador novamente, exceto para a nova unidade.
  • Agora, se o nome da unidade for /dev/sdb1, faça-o sudo vgextend media /dev/sdb1para adicioná-lo ao volume.
  • Agora precisamos desmontar o volume. Para fazer isso, faça sudo umount /dev/media/volume.
  • Agora você pode ver as estatísticas do seu volume agora executando sudo vgdisplay. A parte importante é Free PE / Size. Você precisa saber quanto espaço você pode adicionar ao volume para a próxima etapa.
  • Então, se você tivesse 150 Gb de espaço, você faria sudo lvextend -L+150G /dev/media/volume.
  • Agora corra sudo e2fsck -f /dev/media/volumepara verificar o sistema de arquivos.
  • Agora corra sudo resize2fs /dev/media/volumepara redimensionar tudo.
  • Você pode executar as estatísticas novamente e verificar Free PE / Sizese caiu para o que você espera.
  • Remonte o volume fazendo sudo mount /dev/media/volume /mnt/media
  • Enxágue e repita para outras unidades.
    Também algo que achei útil foi que eu tinha arquivos que eu precisava copiar dos discos no LVM que eu criei antes de adicionar esse disco. Então eu usei cp -r -vpara que ele copiasse arquivos recursivamente e usasse a saída detalhada para saber o que estava fazendo. Um exemplo do comando completo seria:

cp -r -v / mnt / temp / Filmes / mnt / shared / media

Onde /mnt/temp/Moviesestá a pasta da qual você deseja copiar.

Jacob Schoen
fonte
Pergunta rápida ... depois que o LVM é feito, digamos que, com duas unidades, você conclui as mesmas etapas e adiciona outras unidades posteriormente?
@ Craig Isso está correto.
Jacob Schoen
2
Ao emitir pvcreate / dev / sda1 , obtive o seguinte: Dispositivo / dev / sda1 não encontrado (ou ignorado pela filtragem). ... conforme o bug # 136830 da barra de ativação ... o filtro em lvm.con ["a | / dev / hd [ab] |", "r /.*/"] ... realmente precisava ler: [" a | / dev / [hs [d [ab] | "," r /.*/ "] Caso contrário, muito obrigado - bom tutorial . C.
Eu tive a mesma pergunta obrigado por perguntar a Jacob! Eu estava pensando: como isso funciona quando você reinstala o Ubuntu. Atualmente, depois de uma nova revenda, apenas montei os discos novamente e todos os meus dados ainda estão lá. Como isso funciona para essa situação? (Meu disco ubuntu é um disco separado, mas uma vez que toda a configuração LVM parece ser armazenado no disco ubuntu ..)
Maarten Kieft
2
Para adicionar uma unidade, você também pode fazer isso sudo lvextend -l +100%FREE /dev/media/volumepara preencher todo o espaço livre.
jcady
6

Pessoalmente, eu garantiria que todas as unidades tivessem (aproximadamente) o mesmo tamanho e criaria uma "matriz" RAID 5 a partir delas. A desvantagem do RAID 5 é que você perde o tamanho de um disco no total de espaço em disco disponível. A vantagem do RAID 5 é que, se um dos seus discos morre, você não perde nada e pode simplesmente substituir o disco rígido quebrado.

Se você não se importa o suficiente com a perda de dados para gastar um disco extra nele, ou se planeja usar vários discos de tamanhos diferentes, provavelmente é melhor usar o LVM, como diz Murat.

JanC
fonte
Obrigado pela dica. Na verdade, tenho algumas unidades espalhadas por todos os tamanhos. Então isso foi basicamente apenas para encontrar um uso para eles. Embora fosse um saco se eu perdesse algumas coisas nelas, não é nada importante que eu não possa substituir com o mínimo esforço, e as coisas importantes para mim já estão em backup. Mas marque +1 em uma dica que pode ser útil para outras pessoas.
Jacob Schoen
mdadmftw. É um controlador RAID de software que suporta coisas boas, como os níveis 5 e 6. "O RAID não é um backup", mas certamente é muito mais fácil recuperar-se de quando uma unidade morre, basta jogar outra, esperar um longo período de tempo enquanto ele ressincroniza e você está em movimento. Você pode ressincronizar com discos ativos, mas é exponencialmente mais lento.
Oli