De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: André Luiz Facina
Data de Publicação: 30 de Janeiro de 2009
Imagine que você possui três HDs, nos tamanhos de 80, 40 e 60 GB. Imagine agora que você precise de um lugar para armazenar suas músicas, mas não quer simplesmente criar uma pasta em cada disco, até porque esse método seria muito cansativo para se administrar. Então iremos criar um tipo de RAID, e com isso criamos uma única partição (virtual) com a soma dos espaços livres dos três discos. Detalhe, tudo isso sem destruir os dados que já estão nos discos, e o mais interessante, tudo isso com apenas um comando :-)
Descobri essa solução utilizando o mhddfs
, que é um módulo do FUSE. O
mhddfs permite agrupar pequenas partições em uma única partição virtual,
que irá conter todos os arquivos de todas partições membras.
A distribuição utilizada foi o Debian Lenny.
# apt-get install mhddfs
Vamos dizer que você tenha três discos montados em /media/disco1
,
/media/disco2,
/media/disco3
, então você terá algo semelhante a isso:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 80G 50G 30G 63% /media/disco1 /dev/sdb1 40G 35G 5G 88% /media/disco2 /dev/sdc1 60G 10G 50G 17% /media/disco3
Depois de instalado o mhddfs, vamos criar um novo ponto de montagem, vamos chamá-lo de /mnt/virtual, que irá conter a concatenação de todas as unidades. E em seguida vam os executar o comando mhddfs seguido dos três diretórios(onde estão montados as três partições) e do ponto onde serão montados.
# mkdir /mnt/virtual # mhddfs /media/disco1,/media/disco2,/media/disco3 /mnt/virtual -o allow_other option: allow_other (1) mhddfs: directory '/media/disco1' added to list mhddfs: directory '/media/disco2' added to list mhddfs: directory '/media/disco3' added to list mhddfs: move size limit 4294967296 bytes mhddfs: mount point '/mnt/virtual'
A opção -o allow_other
, permite que o /mnt/virtual
seja visível para
outros usuários, e não apenas ao usuário que o criou.
Digite novamente o comando df -h e observe que foi criando mais um ponto de montagem.
# df -h Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 80G 50G 30G 63% /media/disco1 /dev/sdb1 40G 35G 5G 88% /media/disco2 /dev/sdc1 60G 10G 50G 17% /media/disco3 mhddfs 180G 95G 85G 53% /mnt/virtual
Observe a inteligencia dessa ferramenta, ela criou uma concatenação dos três
discos, calculou o tamanho total das unidades juntas (180G), somou o espaço
já utilizado (95G), e ainda trouxe o tamanho do espaço livre (85G). Se você
entrar em /mnt/virtual
perceberá que todos os arquivos provenientes das
três unidades se encontram no mesmo lugar.
Mas e se você tentar adicionar novos arquivos em /mnt/virtual? Quando você
cria um novo arquivo em /mnt/virtual
, o mhddfs vai olhar para o espaço livre,
que permanece em cada uma das unidades. Se a primeira unidade tem espaço livre
suficiente, o arquivo será criado nela. Caso contrário, se a unidade está
com pouco espaço (tem menos que especificado pelo mlimit
opção do mhddfs,
que o padrão é de 4 GB), a segunda unidade será utilizado no lugar. Se essa
unidade também tem pouco espaço, a terceira unidade será utilizada. Se todas
as unidades tem pouco espaço, a unidade com mais espaço livre será escolhida
para criar os novos arquivos.
Se resolver adicionar ao fstab para a montagem automática durante o boot, você pode adicionar a seguinte linha:
mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual fuse defaults,allow_other 0 0
Bem, esse não é o método mais adequado de se criar um array de discos, mas em muitas situações da vida de um Sysadmin isso poderá ser muito útil. É sempre bom ter uma carta na manga :-)
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários