Você pode fazer isso, mas é difícil.
Os passos são essencialmente os seguintes:
- Clone ou crie um sistema de resgate em um ramfs e inicie-o. Deve ser grande o suficiente para conseguir novos pacotes, se você esqueceu alguma coisa.
- Inicie em um ambiente chrooted.
- Inicie seu próprio daemon ssh (que será executado em uma porta diferente de 22, é claro). Claro, você deve testar se você pode entrar neste daemon ssh.
- Aqui está a chave. Ele funciona apenas no linux, é denominado
pivot_root
. Este syscall / ferramenta pode alterar a partição raiz do seu sistema atualmente em execução. -
pivot_root /mnt/rescuesys
, onde seu sistema de resgate de chrooted está funcionando. Se for bem sucedido, a partir deste ponto seu sistema original será executado em chroot, e seu sistema de resgate será executado como o sistema raiz real. - Com um comando
telinit q
, reinicie o init (o processo 1) para executar também a partir do seu sistema real (agora ramfs) e não do sistema baseado em sdb3. Talveztelinit Q
,telinit u
outelinit U
também possa ser necessário para isso, depende do seu sistema init também. - Com um comando
lsof -n|grep /mnt/<oldsysroot>
, você pode verificar se existe um fiedescriptor aberto no seu sistema antigo. Se sim, mate, pare um por um. - Umount, swapoff, até que nada permaneça do seu antigo sistema. Se você fez tudo bem, agora você pode desmontar seu antigo sdb3. Se não, vá para 7 (ou até 6).
- Backup do conteúdo do seu sdb3. Você pode fazer isso mesmo com um pouco de redimensionamento, reparticionamento, cópia do sistema de arquivos, conforme você tem lugar.
- Crie seu volume lvm com seus comandos
pvcreate
, etc., crie os lvs, monte-os e copie seu sistema root de volta. - Faça os 1-9 pontos novamente, incluindo o
pivot_root
. A partir deste ponto, o seu sistema de raiz real é logo o volume lógico, que você originalmente queria ter. - Destrua seu sistema de resgate (como fez 6-8 pontos) para liberar memória. Não esqueça de ativar o swap. No caso ideal, otimizado para segurança, ele também deve viver em um volume lógico criptografado, apesar de degradar a velocidade seriamente.
- Corrigir
/etc/fstab
, reconfigurar / reinstalar o grub e qualquer similar. - Porque você não pode ter certeza, que seu sistema é realmente inicializável, até que você não inicializou, faça tudo o que puder, mas tente fazer sua próxima reinicialização se estiver fisicamente em seu servidor (ou tiver pelo menos recursos de gerenciamento remoto suficientes, que podem ser um serviço de gerenciamento remoto do seu provedor de hospedagem).