Você perde tudo quando tem uma falha no disco rígido de um LVM de disco rígido múltiplo que NÃO usa RAID?

16

Estou debatendo sobre o uso do LVM para um servidor de mídia / arquivo, porque gostaria de combinar vários discos rígidos físicos em um volume. Não desejo usar nenhum RAID no meu LVM, portanto, minha pergunta é:

Se um dos vários discos rígidos do meu volume diminuir, eu perderia todos os meus dados ou apenas os dados armazenados nesse disco individual?

Além disso, se eu perdesse os dados no disco individual, seria tão simples quanto substituir esse disco e restaurar o que estava nele a partir de um backup para recuperar?

Fujin
fonte

Respostas:

11

Se um dos vários discos rígidos do meu volume diminuir, eu perderia todos os meus dados ou apenas os dados armazenados nesse disco individual?

Não, você perderá dados armazenados em todo o LVM

Além disso, se eu perdesse os dados no disco individual, seria tão simples quanto substituir esse disco e restaurar o que estava nele a partir de um backup para recuperar?

Não, não é assim tão simples

Você pode ler aqui a pergunta semelhante LVM e recuperação de desastres

B14D3
fonte
7

Simples: você está procurando por mhddfs .
Ele finge ser um sistema de arquivos grande, grava nos discos na ordem em que foram mencionados e, eventualmente, move arquivos grandes para um dispositivo diferente, se o primeiro estiver cheio demais. Na verdade, ele também pode usar subpastas nos discos, permitindo a mesma funcionalidade.
Os discos individuais devem ser montados primeiro e permanecer acessíveis. Ele não altera os sistemas de arquivos e não se importa com o sistema de arquivos existente (desde que o espaço livre seja relatado corretamente pelo sistema de arquivos). Caso um disco seja perdido, você precisará remontar seus mhddfs novamente (em tempo real) e os dados nesse disco serão removidos.
Uso:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

ou em /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

Complexo e poderoso: Você quer o unionfs .
Embora o mhddfs seja agradável e extremamente simples, tive problemas com as permissões de arquivo ao conceder acesso a outras pessoas via SSH. Não encontrei nenhuma solução, mas encontrei o unionfs.
O Unionfs também permite que você monte várias pastas em diferentes sistemas de arquivos em um, mas é mágico nas permissões. Você pode mesclar várias pastas somente leitura e uma gravável juntas, para que apareça como uma. As pessoas com quem você compartilhou sua pasta mesclada podem gravar em uma pasta somente leitura - como parece a elas - mas os arquivos acabam na única pasta gravável. Os CDs de inicialização do Linux funcionam assim, o disco gravável é um ramdisk. As pessoas podem até excluir arquivos em pastas somente leitura, o que realmente não exclui o arquivo, mas cria um arquivo de lista de permissões oculto em seu diretório de gravação. Se você pegar todas as opções, poderá basicamente usar seu sistema de arquivos como um SVN pobre .
Se você usar demais as opções do tipo SVN, poderá perder os dados existentes duas vezes (improvável no seu cenário, mas possível), enquanto a pasta gravável é preenchida com pequenos arquivos ocultos da lista de permissões. Fora isso, mantém seus discos limpos e utilizáveis ​​individualmente. O que acontece se um arquivo for muito grande para um disco, ainda não sei.
Uso:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

onde =rwtorna a pasta lida e gravável e =rosomente leitura, mesmo que as permissões indiquem o contrário. Nisso etc/fstabé

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0
DennisH
fonte
Como eles lidam com um disco removível que não está sendo conectado?
Endolith
@endolith Um mhddfs em um disco removível significaria não saber o que terminará nele, um unionfs faz sentido, mas requer remontagem diferente, dependendo da disponibilidade do dispositivo removível.
DennisH
Eu não entendo o seu comentário. Se você combinou três unidades USB usando mhddfs e colocou os arquivos nelas e depois remove uma, acontece algo permanentemente ruim? Se você conectá-lo novamente, ele volta ao que era antes?
Endolith 14/05
3
@endolith Desconectar durante a gravação nunca é bom. Se você desconectar após a gravação, as unidades USB estarão todas OK individualmente, não há problema. Você pode desconectar uma unidade, conectá-lo ao PC2, usá-lo, reconectá-lo ao PC1 e remontar para continuar usando-os como antes. Entre o ponto de montagem no seu PC1 habitual, é necessário informar que você tomou a unidade (remontar). Mas, suponha que você compartilhe 2 arquivos com o PC2, não é possível dizer em qual unidade dos mhddfs serão montados ou se é a mesma unidade. As unidades ainda são acessíveis individualmente para verificar / garantir a localização, mas isso não envolve mais mhddfs.
DennisH
4

Se você estiver apenas conectando vários dispositivos, não haverá redundância e poderá perder os dados. Mas se você estiver usando um servidor de mídia / arquivo para uma empresa, não perca nada, porque você fez o backup de tudo em um servidor de backup / unidade de fita.

Por que você está evitando o RAID? O ponto do RAID é a disponibilidade; se você não quiser perder tempo devido a falha no disco, pode usar uma configuração RAID 1, que também pode acelerar suas leituras. Eles não são muito caros, pagam a si mesmos na primeira vez em que houver uma falha no disco e, se você REALMENTE evitar pagar por um cartão, poderá configurar o Linux para usar o RAID de software, embora seja necessário um pouco mais de cuidado na configuração e solução de problemas para garantir a substituição da unidade correta.

Caso contrário, você teria que pular algumas etapas para tentar recuperar quais dados você pode dos discos restantes. Seria possível, mas você está meio que pedindo muito mais problemas do que deveria. Obtenha um bom backup e reconsidere o RAID.

Bart Silverstrim
fonte
11
Estou evitando o RAID porque não estou preocupado com a disponibilidade. Isto é para uso pessoal. Estou tentando evitar o RAID porque estou buscando mais confiabilidade. Uma coisinha dá errado no RAID e você perde toda a matriz e não sinto vontade de lidar com isso. Prefiro ter um grande repositório de arquivos que possa fazer backup em vez de vários.
Fujin 01/03
11
Não sei se entendi isso. O RAID faz com que você não perca a matriz se algo der errado. Não usar RAID é quando uma falha mata a coisa toda.
JOTN
4
@ user72630: Você tem sérios equívocos sobre como um RAID funciona. Primeiro de tudo, existem diferentes níveis de RAID, a maioria projetada para evitar a perda de dados em caso de falha no disco. Em seguida, você pode configurar um RAID para ter apenas um sistema de arquivos em vários discos, exatamente como você está planejando com o LVM. Por favor, leia en.wikipedia.org/wiki/RAID
Sven
O que os outros disseram. O objetivo de manter o RAID é manter a disponibilidade ... ou seja, a unidade falha, os dados ainda estão acessíveis. Com equipamento adequado você pode hot-swap da unidade falhou e não se preocupar com o tempo de inatividade em tudo .
Bart Silverstrim
3

Se você estiver usando um sistema de arquivos que abrange todos os volumes LVM, todo o sistema de arquivos será danificado, pois o FS não conhece os volumes físicos subjacentes e não criará estruturas alinhadas a ele. Pode ser possível resgatar algumas das peças nos discos de trabalho, mas não há garantia para isso.

E apenas recuperar os arquivos do disco danificado também não funcionará pelo mesmo motivo.

Sven
fonte
2

Eu acho que uma rota muito mais simples seria configurar o mdadm para sua partição de mídia. Se você não possui o hardware para "RAID real", a rota mdadm seria consideravelmente mais fácil e parece atender aos seus requisitos de redundância e substituição simples de disco.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

Para mais informações: http://en.wikipedia.org/wiki/Mdadm

Se um dos vários discos rígidos do meu volume diminuir, eu perderia todos os meus dados ou apenas os dados armazenados nesse disco individual?

Se você usar o mdadm e o RAID 5, poderá perder uma unidade e manter a matriz funcional, mas sofrerá uma degradação no desempenho.

Aaron Lake
fonte
1

Eu acho que o importante para entender o que não foi mencionado é que um arquivo em um sistema de arquivos não está necessariamente sentado em um local do disco. É dividido em blocos que podem residir em qualquer lugar dentro dos sistemas de arquivos. O primeiro 4K, se o seu arquivo estiver no disco1, o próximo disco2, etc. Você pode imaginar a bagunça de tentar recuperar alguma coisa se perder um pedaço do sistema de arquivos.

JOTN
fonte
0

Btrfs é uma boa escolha aqui; você pode ter metadados resilientes à perda de um disco (o perfil do fragmento "raid1"); os dados nos outros discos ainda estarão acessíveis (só para esclarecer, isso se traduz em arquivos cheios de falhas onde quer que o disco ausente seja referenciado). Isso é feito executando o btrfs balance com um filtro :

sudo btrfs balance start -m convert=raid1 /mnt/point
Gabriel
fonte