Montando vários dispositivos em um único ponto de montagem no Linux

7

Existe uma maneira de montar vários discos rígidos em um único ponto de montagem? Digamos que eu fique sem espaço no /home e decida adicionar um disco rígido extra ao computador. Como eu dimensiono o espaço em um ponto de montagem? Se eu usar o RAID, posso adicionar unidades dinamicamente para aumentar o espaço à medida que saio delas? Existe uma alternativa ao uso de RAID se não estiver interessado em manter um alto nível de redundância?

    
por Lord Loh. 27.02.2012 / 18:33

4 respostas

8

Você pode usar lvm para isso. Foi projetado para separar a unidade física da unidade lógica.

Com lvm, você pode:

  1. Adicione uma nova unidade física a um pool (chamado Grupo de Volume na terminologia do LVM)

    pvcreate / dev / sdb my_vg

  2. Estenda o espaço de um volume lógico

    lvextend ...

  3. E termine com um redimensionamento online do seu sistema de arquivos

    e2resize / mnt / my / path

Mas cuidado, não é uma bala mágica. É muito mais difícil reduzir um sistema de arquivos, mesmo com o LVM.

    
por 27.02.2012 / 18:54
6

Você pode estar interessado no UnionFS. Pode ser mais simples configurar em um sistema existente do que um LVM.

Na página do UnionFS, link :

This project builds a stackable unification file system, which can appear to merge the contents of several directories (branches), while keeping their physical content separate. Unionfs is useful for unified source tree management, merged contents of split CD-ROM, merged separate software package directories, data grids, and more.

Espero que você ache isso útil.

    
por 27.02.2012 / 22:33
2

A resposta da LVM é boa, mas a raid também pode fazer isso, adicionando outra.
O ataque de software do Linux (mdadm) permite adicionar discos a um array já criado. Quando você fizer isso, os dados serão reequilibrados na nova unidade.
Se você não está interessado em redundância, você pode usar o RAID-0, que simplesmente distribui os dados uniformemente em todos os discos. No entanto, o raid-5 oferece pelo menos alguma redundância sem perder muito armazenamento (você sacrifica o valor de um disco).

Mas com isso dito, o ataque funciona melhor quando todas as unidades são do mesmo tamanho. Se não tiverem o mesmo tamanho, as partes da unidade não serão usadas, pois usarão apenas a menor unidade. Se bem me lembro, LVM stiping não tem esse problema como se as unidades não são do mesmo tamanho, o espaço extra só não vai ser distribuído.

    
por 28.02.2012 / 04:30
1

Você pode usar mhddfs em vez de lvm como se um disco falhe e, em seguida, apenas os dados desse disco serão perdidos. Ele é executado no espaço do usuário usando módulos de fusíveis, mas estou usando para infraestrutura de carga muito pesada

[root@storagenode1 ~]# df -hl
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdl2             259G  2.1G  244G   1% /
tmpfs                  48G     0   48G   0% /dev/shm
/dev/sdl1             485M   30M  430M   7% /boot
/dev/sda1              24T   23T  1.4T  95% /mnt/disk01
/dev/sdg1              24T   22T  2.6T  90% /mnt/disk02
/dev/sdf1              24T   22T  2.6T  90% /mnt/disk03
/dev/sdb1              24T   20T  4.5T  82% /mnt/disk04
/dev/sde1              39T   30T  8.3T  79% /mnt/disk07
/dev/sdh1              28T  6.6T   21T  24% /mnt/disk08
/dev/sdj1              39T   32T  6.5T  84% /mnt/disk09
/dev/sdi1              20T  792G   19T   5% /mnt/disk10
/mnt/disk01;/mnt/disk02;/mnt/disk03;/mnt/disk04;/mnt/disk07;/mnt/disk08;/mnt/disk09;/mnt/disk10
                      218T  153T   65T  71% /mnt/disk99

Este é o principal site de desenvolvedores, e aqui você pode baixar pacotes para o Centos6, como eu estou fazendo

  1. yum instala mhddfs
  2. crie pontos de montagem para discos locais normalmente e monte-os
  3. crie um diretório para manter todos os seus discos, meu caso chamado de disk99
  4. monte todos os discos no disco99 usando mhddfs

vim / etc / fstab adiciona esta linha

mhddfs#/mnt/disk01,/mnt/disk02,/mnt/disk03,/mnt/disk04,/mnt/disk07,/mnt/disk08,/mnt/disk09,/mnt/disk10          /mnt/disk99     fuse    defaults,allow_other,mlimit=10%,nonempty,logfile=/dev/null,loglevel=2   0       0

Warning : no meu caso com carga pesada o mhddfs consumia o tamanho do arquivo de log e travava o servidor muitas vezes, por isso uso / dev / null para logar. Não consegui fazer o logrotate funcionar com o mhddfs porque você precisa remontar quando alterar os arquivos de log.

    
por 26.03.2015 / 11:39