Velocidade de cópia local do Samba e 'espaço insuficiente em disco'

0

Eu tenho o Ubuntu Server 16.04 instalado com o Samba em outro computador da minha rede. O sistema operacional Ubuntu está em um pequeno SSD e eu tenho dois discos rígidos adicionais montados em / media / drive1 e / media / drive2.

Agora, até onde sei, tenho duas opções para tornar essas unidades acessíveis no meu PC Windows:

  • Faça 2 compartilhamentos do Samba, um para cada disco
  • Faça 1 compartilhamento Samba, da pasta completa / media /

Atualmente, meu objetivo é copiar dados da unidade 1 para a unidade 2 (de modo local no servidor), a partir do conforto do Explorer na área de trabalho do Windows.

Se eu fizer 2 compartilhamentos, um para cada unidade, a velocidade da cópia local é simplesmente impossível de se trabalhar. Ele varia em torno de 20-50 KB / s com picos raros para 1-1,5 MB / se a cada 20 ou mais segundos ele simplesmente morre e fica parado em 0.

Pelo que eu li, agora presumo que isso ocorra porque os arquivos primeiro foram copiados para a área de trabalho do Windows e reenviados para o servidor. Eu acho que 2 compartilhamentos não são mais interpretados como "locais". Por que isso acaba, embora eu não entenda.

Se eu fizer 1 compartilhamento, com todo o diretório / media /, recebo problemas com 'espaço insuficiente em disco' ao tentar copiar arquivos da unidade 1 para a unidade 2, mesmo que haja muito espaço. Eu posso copiar 80 GB de cada vez, mas nunca mais de 80 GB de uma só vez. A velocidade de cópia desta maneira é normal, por volta de 70-80 MB / s com alguns picos para 90 MB / s +.

Agora descobri que isso acontece porque o Samba verifica o espaço disponível na unidade do diretório em que você aponta, neste caso / mídia, e essa pasta está no SSD pequeno. O SSD tem apenas 80 GB de espaço livre, então a matemática é validada.

Então eu acho que a questão é, alguma maneira de resolver isso para que eu possa ter o melhor dos dois mundos? Eu gostaria de poder copiar arquivos dentro do servidor de um disco para outro sem ter essas limitações, no conforto do meu Windows Explorer.

Apêndice: Este é o modelo que eu uso para criar meus compartilhamentos em smb.conf A autenticação e o acesso e todo esse trabalho, sem problemas.

[Drive1]
    comment = Drive1
    path = /media/drive1
    browsable = yes
    guest ok = no
    valid users = @samba
    read only = no
    create mask = 0755
    
por Boebi 02.06.2016 / 17:42

1 resposta

0

Será uma solução desagradável: criar arquivo /usr/local/bin/dfree_Drive.sh

#!/bin/bash
df | egrep '/media/drive[0-9]+$' | awk '{total+=$2; avail+=$4; print $0} END{print total, avail}'

e torná-lo executável. Então, na seção de compartilhamento de sua configuração do samba, adicione:

    dfree command = /usr/local/bin/dfree_Drive.sh

Esta solução é desagradável, porque cabe ao cliente sobre a capacidade de volume compartilhado. Mas, até onde sei, não há como conscientizar o samba da capacidade de uma pasta específica (em contraste com o volume).

    
por user195607 02.06.2016 / 18:13