Compartilhamento de arquivos entre o Ubuntu VM e o Windows 7

4

Tenho o Ubuntu 12.04 sendo executado como convidado em uma sessão virtualizada do VMware Workstation 9 em um host do Windows 7. A máquina Windows compartilha uma pasta com a máquina Ubuntu via CIFS e a máquina Ubuntu monta a pasta compartilhada automaticamente na inicialização graças a esta linha em /etc/fstab file:

//<remotehost>/<sharename> <localsharepath> cifs soft,uid=1000,username=<remoteusername>,password=<remotepassword> 0 0

O compartilhamento de arquivos através da montagem funciona bem até que seja necessário retomar a máquina virtual do Ubuntu depois que ela foi pausada ou para restaurá-la a partir de uma captura instantânea. Isso geralmente acontece depois que a máquina host do Windows foi reiniciada ou iniciada após o desligamento noturno.

Depois que o Ubuntu for retomado, a pasta que contém a montagem da pasta compartilhada não listará nenhum item. A janela do Nautilus fica parada por um longo tempo completamente vazia com "Carregando ..." no canto inferior direito, apesar do fato de que há muitas outras pastas e arquivos nessa pasta para mostrar.

Reiniciar a máquina Ubuntu ajuda, mas não é prático: o Ubuntu demora uma eternidade para desligar, ele fica pendurado em uma dessas telas finais de linha de comando esperando desesperadamente por algo (quando a montagem está acessível, não existe esse problema ). Por enquanto, a única opção é desligar o Ubuntu brutalmente e depois ligá-lo novamente para poder acessar a montagem, o que, é claro, também não é prático.

Meu palpite é que quando alguns parâmetros de comunicação do CIFS / Samba são alterados (depois que o Windows é reiniciado) a imagem restaurada da máquina virtual do Ubuntu de alguma forma não consegue recuperar o atraso.

Mesmo com o VMware Tools instalado na máquina Ubuntu, o recurso de pasta compartilhada do VMware, que poderia servir como uma alternativa, não funciona para o Ubuntu 12 (e muitas outras distribuições do Linux). Mas, mesmo que existisse, o compartilhamento CIFS / Samba ainda seria necessário para o compartilhamento de arquivos com outras máquinas virtuais.

    
por Desmond Hume 04.02.2013 / 14:33

3 respostas

2

Eu recomendo usar autofs em vez de uma entrada fstab estática. Consulte: link

    
por tlo 03.02.2013 / 18:47
2

1. %código%

Esta não é uma solução nem uma solução, mas um procedimento (um incômodo).

Após a retomada da VM, não tente visualizar a unidade de compartilhamento com o Nautilus ou qualquer programa. Não faça umount -f para isso. Qualquer tipo de acesso acionará um tempo limite de 5 minutos e tornará o compartilhamento ocupado. Apenas faça o ls antes de qualquer coisa.

    umount -f <localsharepath>

-f Força desmontar (no caso de um servidor inacessível).

Contanto que o compartilhamento não esteja ocupado, isso desmontará o compartilhamento imediatamente sem acionar o tempo limite cifs de 5 minutos.

Definitivamente, isso não é o ideal, mas não exige reinicialização e o compartilhamento pode ser montado novamente imediatamente.

2. Mude smbfs para cifs com umount -f

//<remotehost>/<sharename> <localsharepath> cifs defaults,uid=1000,username=<remoteusername>,password=<remotepassword> 0 0

É oficial que o smbfs não está mais sendo mantido

% bl0ck_qu0te%

Baseie-se no comentário de este blog (não pode encontrar mais referência autoritativa)

% bl0ck_qu0te%

3. Desabilitar o Bloqueio Oportunista e o Cache de Pesquisa (Nenhum efeito na redução do tempo limite de conexão de 5 minutos)

echo '0' > /proc/fs/cifs/OplockEnabled
echo '0' > /proc/fs/cifs/LookupCacheEnabled

4. Check Open File (Não aplicável base no comentário)

Após a retomada do Ubuntu VM, verifique se algum usuário / processo está usando qualquer arquivo / diretório na pasta de compartilhamento

lsof | grep '<localsharepath>'

Se algum usuário / processo estiver usando arquivos / diretório em < localsharepath & gt ;, você receberá defaults (Isto é independente de como ele é montado, local ou remoto).

    
por John Siu 20.04.2015 / 15:51
0

Se você compartilha arquivos entre o host e o convidado com frequência, use o FTP ou o SFTP, ou até mesmo o software de controle de revisão, como o Git. Eles são mais estáveis e úteis em comparação com essas coisas de montagem.

Se não, instale o VMTools no Ubuntu convidado. Então você pode arrastar e soltar arquivos entre o host e o convidado.

    
por caiguanhao 07.02.2013 / 05:06