Partição de Root Hot Swappable no Ubuntu Server 10.04 LTS

1

Minha empresa executa pequenas caixas NAS que são distribuídas em empresas e residências para uso em redes pessoais ou corporativas. Estas máquinas rodam o Ubuntu Server 10.04 e estão configuradas para inicializar a partir de uma unidade flash. A maior parte do armazenamento e compartilhamentos está em um array RAID5 de 4 unidades. Nós clonamos os flash drives usando dd e os trocamos para reparos rápidos e fáceis de problemas com o sistema operacional. Alguns de nossos clientes não podem arcar com a caixa, mesmo que por alguns minutos, para uma reinicialização. Então, gostaríamos de saber como começar a criar uma unidade flash "hot swappable". Eu estava pensando em rodar um pequeno sistema operacional com apenas o compartilhamento básico, ssh e FTP do array RAID5, e usar um sinal USB para executar um script instruindo a máquina a mudar o gerenciador de inicialização para este sistema operacional "pequeno". Então, enquanto a máquina roda neste sistema operacional provisório, nós desligamos a unidade flash com o sistema operacional primário, e rodamos o sinal USB novamente para mudar o bootloader de volta. Então, eu acho que minha pergunta seria se já existia software para isso, e se não, que caminho devo seguir para começar?

    
por Kyle Macey 29.03.2011 / 15:42

2 respostas

2

Então ... esta é realmente uma questão interessante.

Primeiro vou lhe dizer por que não vai funcionar, então eu vou te dizer como isso pode funcionar. : -)

Seu "SO" (mais especificamente seu kernel) fornece todas as interfaces necessárias para seus dispositivos. Incluindo seus arrays de disco. Também mantém uma lista de descritores que informam aos processos para onde enviar seus dados.

Então, quando você fala sobre "hot swapping" em seu "SO", você está realmente pedindo para substituir seu kernel (e todas as suas bibliotecas e configurações associadas) durante as operações. Você pode ter um sistema operacional em operação e outro armazenado em um dispositivo. Mas você não pode hotswap um kernel padrão durante a operação.

MAS, você pode ver uma nova tecnologia chamada ksplice . Seu objetivo é oferecer um kernel sem reinicialização. Eu não estou familiarizado com sua implementação atual, ou como o ksplice está estável atualmente, mas você deve começar o caminho certo. E a Canonical é até um dos seus principais apoiadores!

Boa sorte!

    
por 29.03.2011 / 19:45
0

Se o problema for com a configuração o / s, trocar a unidade não faz nada. Você não pode alterar o estado de um O / S em execução, simplesmente sem fazer algo como pelo menos reiniciar os serviços.

Com relação à substituição de uma unidade com falha por uma nova na USB, por exemplo, é possível fazer isso.

Se você criar o disco USB como um grupo de volume no LVM2, poderá usar o comando pvmove para obter esse efeito.

O processo seria:

  1. Insira um novo disco USB de tamanho igual ou maior.
  2. Usando vgextend , adicione o dito disco ao grupo de volumes existente.
  3. O uso de pvmove altera as extensões da partição raiz antiga para o novo disco USB.
  4. Usando vgreduce , remova o antigo disco USB antigo do grupo de volumes.
  5. Remover disco antigo.

Eu mencionarei novamente, isso não faz nada para corrigir quaisquer problemas subjacentes causados pelo estado do servidor, o que é provável onde a causa principal da maioria dos problemas ocorre.

Além disso, isso não ajuda em nada a correção de um kit existente que não é habilitado para LVM. Apenas coisas que você enviaria agora.

Se você quiser oferecer um design de solução altamente disponível, em primeiro lugar. Construa um NAS redundante. Você pode usar drbd para fazer isso. Em seguida, você pode fazer failover com segurança para fazer o máximo de trabalho off-line na caixa do problema que desejar.

    
por 29.03.2011 / 20:12