Upload do Cliente FTP: pré-aloque o arquivo antes de iniciar a transferência

1

Gostaria de limitar a fragmentação do disco do servidor quando vários clientes fazem o upload para um servidor FTP simultaneamente.

Existe uma maneira de dizer ao servidor FTP para pré-alocar espaço em disco para um grande bloco de um arquivo de entrada, e para continuar incrementando em grandes blocos?

Alternativamente, existe uma maneira de dizer ao servidor FTP para pré-alocar todo o valor do arquivo, e escrever os pacotes FTP recebidos em um padrão mais sequencial.

A desfragmentação de arquivos após fransfer não é aceitável: levará muito tempo para desfragmentar.

Estou usando o IIS 6.0, mas outros produtos de servidor FTP seriam um substituto bem-vindo.

    
por GregC 06.07.2009 / 01:16

1 resposta

1

O protocolo FTP não inclui informações de tamanho no comando STOR:

link

Então eu duvido que você encontraria algum cliente FTP puro que faria isso. Você pode encontrar algum fornecedor que tenha implementado uma extensão proprietária, mas isso exigiria que o cliente e o servidor os suportassem. Você diz "clientes", portanto, se isso inclui clientes internos e externos, você pode ter problemas para forçá-los a usar software diferente.

Uma rápida olhada no rascunho do SFTP não indica que a mensagem do arquivo de gravação também inclui um tamanho de arquivo.

O protocolo SCP inclui um parâmetro de tamanho em seu comando de cópia de arquivo e há clientes da GUI do Windows que suportam SCP (em vez de SFTP), mas você precisa verificar se o servidor pré-aloca usando o parâmetro size. No lado positivo, o código está disponível, portanto, você pode criar seu próprio daemon do Windows SSH / SCP que pré-aloca. Mas isso é um pouco exagerado para o problema que você descreve.

    
por 06.07.2009 / 08:40