Movendo arquivos ao vivo em um sistema similar ao unix

3

Em uma postagem recente de emprego para um administrador geral do Unix em um datacenter, um requisito listado era mover os arquivos ao vivo em uma configuração do datacenter. O que isso significa e como se pode mover arquivos ao vivo?

    
por Recursion 25.05.2010 / 10:38

4 respostas

7

Movendo arquivos ao vivo ... até onde eu sei, nenhum administrador sensato tentaria fazer isso (não que a maioria dos administradores seja totalmente sensata). Normalmente, o arquivo é bloqueado, portanto, você não pode movê-lo até que o sistema operacional ou o aplicativo o liberte, e se você mover um arquivo ao vivo, haverá alguns problemas de falha e / ou dados corrompidos.

As chances são de que alguém estragou o anúncio ou foi postado por alguém que não sabe do que está falando (ou é uma boa dica por que um funcionário anterior saiu correndo gritando).

Ou eles são vagos e significam migração ao vivo de serviços de VM ou de failover, clusterização, algo assim, mas o anúncio faz essa especulação pura.

A única coisa que você pode fazer se estiver interessado na posição é aplicar e, quando entrevistados, perguntar a eles exatamente o que eles significam, porque você não sabe de nenhuma maneira segura de mover um arquivo em uso sem extra mecanismos para failover ou migração ao vivo de máquinas virtuais para conseguir isso. Eles quiseram dizer a possibilidade de instalar um novo servidor e encerrar um servidor atualmente em produção?

    
por 25.05.2010 / 14:16
1

são arquivos ao vivo ou imagens ao vivo?

eles podem estar falando sobre máquinas virtuais para migrar de um sistema em execução com uma plataforma para outra sem interromper essas imagens.

    
por 25.05.2010 / 11:40
1

Se forem arquivos ao vivo, eles estão basicamente falando sobre uma solução de HA; se os arquivos não precisarem estar 100% atualizados, mas você precisa evitar a corrupção, então algo como fssnap precisa ser usado.

    
por 25.05.2010 / 15:21
0

Concordo com outras respostas de que esta questão é excessivamente vaga e precisa ser esclarecida.

Pressupondo que mover um "arquivo ao vivo" significa mover um arquivo que está atualmente aberto por um processo que está lendo ou gravando nele; Isso geralmente não é um problema, dado alguns parâmetros. Quando um programa abre um arquivo, ele normalmente faz isso referindo-se a um nome de arquivo. Para nosso exemplo, usamos "/var/log/myimportant.log". Este nome de arquivo é realmente apenas um ponteiro para algum inode no disco. Uma vez que o processo tenha este arquivo aberto, não importa se você remove esta entrada de diretório para o inode, ou adicione uma nova entrada de diretório apontando para este mesmo inode. E mover um arquivo geralmente pode ser apenas isso: remova uma entrada de diretório para um inode e adicione outra. Eu digo frequentemente em vez de sempre porque isso NÃO é verdade se você estiver tentando mover o arquivo de um sistema de arquivos para outro.

Observe que é assim que a rotação de log funciona. O arquivo que um processo provavelmente está gravando é movido. O processo continua a gravar no arquivo mesmo depois de ser movido. Então, algum tempo depois, o processo é reiniciado ou enviado um sinal HUP, acionando o processo para abrir um novo arquivo no local original.

    
por 07.02.2012 / 06:04