Desmontar partição ativa

2

É possível desmontar a partição, cujos arquivos / diretórios estão em uso?

Os arquivos e diretórios subjacentes estão na memória, portanto, desmontar a partição é tecnicamente seguro (eu acho).

Mas umount não está me permitindo desmontá-lo.

(Quem está negando esta operação: umount ou kernel?)

    
por SHW 07.07.2014 / 13:08

3 respostas

3

Você pode fazer uma "desmontagem lenta".

Uma desmontagem lenta torna o sistema de arquivos indisponível para novos processos que são iniciados, mas qualquer processo que esteja atualmente usando-o poderá continuar a usá-lo. Então, quando esses processos que estão atualmente usando-o estiverem terminados, o sistema de arquivos será desmontado.

Para fazer isso, é simplesmente:

umount -l /mount/point
    
por 07.07.2014 / 16:05
0

Você pode tentar desmontar uma força. Eu seria cauteloso ao usar isso, pois pode não ser bom enquanto os arquivos estão em uso na partição específica. A opção -f diz ao Linux para forçar uma operação de desmontagem que poderia falhar. O comando para fazer isso é:

umount -f <partition name>

    
por 07.07.2014 / 13:14
0

The underlying files and directories are in memory so un-mounting the partition is technically safe (I guess).

Pelo contrário, se um arquivo de um sistema de arquivos estiver aberto, a desmontagem da partição é impossível . Um arquivo que é aberto por um processo não é realmente carregado na memória quando o processo abre o arquivo (isso seria ineficiente e até mesmo tornaria completamente impossível trabalhar com arquivos maiores que a memória disponível). Em vez disso, quando um arquivo é aberto, seu conteúdo é carregado na RAM conforme necessário e removido da RAM quando o kernel encontra usos melhores para essa RAM.

Enquanto um arquivo estiver aberto, o conteúdo desse arquivo não poderá ser removido do sistema de arquivos no qual ele está armazenado. Se você excluir o arquivo (por exemplo, com o comando rm ), o que isso realmente faz é remover a entrada de diretório desse arquivo; mas os dados permanecem no disco até o arquivo ser fechado. (Você pode observar isso observando o espaço em disco usado: ele só desce quando o arquivo é fechado, não quando um arquivo aberto é excluído).

Da mesma forma, se um arquivo estiver aberto, você não poderá desmontar seu sistema de arquivos, pois isso tornará impossível recuperar o conteúdo do arquivo quando necessário.

O Linux oferece a opção de uma "desmontagem lenta". Uma desmontagem lenta de um sistema de arquivos é comparável a chamar rm em um arquivo: o ponto no qual o sistema de arquivos é anexado (o ponto de montagem) desaparece, mas o sistema permanece montado até que o último arquivo seja fechado arquivo desanexá-lo do diretório que o continha, mas mantém os dados no disco).

Tudo isso acontece no kernel. O comando umount não faz muito, além de analisar /etc/mtab para permitir que você especifique o dispositivo ou o ponto de montagem.

Se você deseja listar os processos que têm um arquivo aberto em um sistema de arquivos, use o fusor ou lsof . Para matar todos os processos que possuem um arquivo aberto em um sistema de arquivos, execute fuser -k /path/to/mount/point .

    
por 08.07.2014 / 02:54