Existe algum utilitário do Linux que possa distribuir arquivos para uma matriz de discos rígidos, como um balanceador de carga, mas para armazenamento?

5

Eu tenho 2 discos de 1 TB não em qualquer configuração de RAID. Eu gostaria que os arquivos que eu precisava armazenar fossem colocados em um dos discos, dependendo da capacidade dos discos, e ao acessar o arquivo, eu suponho que precisaria encontrar o arquivo por meio de um banco de dados contendo um mapa de arquivos ou usando um hash. Existem alguns utilitários do Linux que fornecem isso ou devo apenas criar um script PHP?

Obrigado

    
por Tom 29.04.2011 / 20:45

6 respostas

9

Considerando o quão barato é um disco de 1 TB, pegue outro e crie um RAID5 .. Redundância e armazenamento.

    
por 29.04.2011 / 20:48
2

O Greyhole distribuirá seus arquivos em várias unidades. Ele também permitirá que você especifique a redundância, para que determinados arquivos tenham cópias redundantes armazenadas em várias unidades. Ele é direcionado ao servidor doméstico ou estação de trabalho e não como uma solução corporativa de produção.

    
por 30.04.2011 / 15:37
2

Três anos atrasado, mas ainda relevante. Eu tive o mesmo problema e o FakeRaid estava simplesmente fora de questão. Use o AUFS. Ele unirá as unidades em uma única unidade. A configuração do mfs colocará novos arquivos na unidade com o maior espaço livre. Há também rr que é round robin e pmfs, que irá colocar arquivos na unidade que já tem a pasta e tem mais espaço livre. Eu pessoalmente uso pmfs. Minha configuração funciona assim.

O fstab:

# The Archive
LABEL=Archive_000 /mnt/Archive_000 ext4 defaults 0 0
LABEL=Archive_001 /mnt/Archive_001 ext4 defaults 0 0
LABEL=Archive_002 /mnt/Archive_002 ext4 defaults 0 0
LABEL=Archive_003 /mnt/Archive_003 ext4 defaults 0 0
LABEL=Archive_004 /mnt/Archive_004 ext4 defaults 0 0
LABEL=Archive_005 /mnt/Archive_005 ext4 defaults 0 0
LABEL=Archive_006 /mnt/Archive_006 ext4 defaults 0 0
LABEL=Archive_007 /mnt/Archive_007 ext4 defaults 0 0
LABEL=Parity      /mnt/Parity      ext4 defaults 0 0
LABEL=Q-Parity    /mnt/Q-Parity    ext4 defaults 0 0

Eu adicionei o script init.d (Devido ao tempo de montagem ser muito lento para acompanhar a montagem aufs):

d0="Archive_000"
d1="Archive_001"
d2="Archive_002"
d3="Archive_003"
d4="Archive_004"
d5="Archive_005"
d6="Archive_006"
d7="Archive_007"

mount -t aufs -o noxino -o br=$d0=rw:$d1=rw:$d2=rw:$d3=rw:$d4=rw:$d5=rw:$d6=rw:$d7=rw -o create=mfs -o sum none Archive

Isso me dá 10 montagens em / mnt. Eu gosto desse jeito porque eu uso o SnapRAID que você terá que baixar e compilar (existem guias para isso). Eu uso isso em um servidor Samba, então a única coisa que todo mundo vê é apenas a pasta Arquivo. Certifique-se de fazer o diretório de outro modo você terá um erro de montagem.

    
por 20.01.2014 / 17:10
1

Parece que tudo o que importa é poder utilizar todos os 2 TB de armazenamento sem ter que colocar manualmente os arquivos em uma unidade ou outra. O LVM ou RAID0 pode resolver este problema para você às custas do aumento do risco de falha. Para o LVM, você transformaria cada unidade de 1 TB em um volume físico LVM e os colocaria em um único grupo de volumes. Depois disso, você poderia criar volumes lógicos com até 2 TB de tamanho. Para o RAID0, você criaria o dispositivo RAID.

# pretending your unused 1TB disks are sdy and sdz
# for LVM
pvcreate /dev/sdy /dev/sdz
vgcreate myvg /dev/sdy /dev/sdz
lvcreate --name mylv --size 100%
# for RAID0
mdadm --create /dev/md0 --raid-devices 2 --level 0 /dev/sdy /dev/sdz

Não conheço uma maneira de mesclar transparentemente sistemas de arquivos separados em um único conjunto de armazenamento. Esse tipo de fragmentação não é incomum; ele é normalmente implementado no aplicativo e não na camada de armazenamento. Engineyard tem um artigo descrevendo táticas e processos de fragmentação do sistema de arquivos .

    
por 30.04.2011 / 04:32
1

O caminho certo é usar o LVM.

Pessoalmente, coloco a maioria das minhas coleções de mídia em um disco, outras coisas no outro disco.

    
por 30.04.2011 / 07:12
0

Se você planeja dimensionar no futuro, digamos que 10 hardrives em vários servidores considerem o uso de sistemas de arquivos como o link

    
por 30.04.2011 / 11:46