É possível converter uma caixa do Linux para LVM após o fato?

17

Meu servidor Linux usa o LVM porque eu substituí a máquina há um ano e instalei do zero. O LVM tem sido um salva-vidas e eu amo sua flexibilidade. Meu laptop Linux, no entanto, foi totalmente instalado há três anos e, portanto, usa partições retas.

É possível - sem reinstalar - converter um sistema existente em LVM? Se sim, que ferramentas podem fazer este trabalho?

Espero que qualquer sistema de arquivos a ser compartilhado com o Windows em um sistema de inicialização dupla não possa ser LVM. Se eu estiver errado, por favor me avise, mas eu ficaria surpreso.

    
por Eddie 04.05.2009 / 17:47

7 respostas

11

Sim, isso pode ser feito.

Sim, você pode usá-lo para um sistema Windows de inicialização dupla, desde que você faça do Windows a primeira partição, e é uma partição primária (não uma extensão dentro de uma lógica). Minhas instruções aqui não cobrem essa situação, o que requer que você tenha alguma experiência em lidar com inicialização dupla. Se você está atrás de uma configuração de dual-boot windows / linux, não siga nenhum conselho abaixo deste ponto.

Eu vou melhor: com apenas algumas exceções, você deve conseguir migrar todo o seu laptop ao vivo , desde que você use uma unidade externa com capacidade suficiente.

Atenção! Este procedimento é EXTREMAMENTE PERIGOSO! Ele assume que você tem conhecimento profundo do processo de particionamento, você tem uma partição / boot separada, e você sabe que uma tentativa fracassada pode deixar você com uma instalação danificada pelo cérebro QUE NÃO VAI INICIAR! VOCÊ FOI ADVERTIDO!

Você precisará:

  • / boot localizado em uma partição separada. Se você tiver um sistema de arquivos raiz combinado (tudo está preenchido em /), isso não funcionará.
  • A capacidade de inicializar a partir de um disco rígido USB.
  • uma unidade externa grande o suficiente para armazenar todos os dados e programas em seu sistema existente. Certifique-se de executar um "du /" e aguarde o resultado final, para ter uma idéia real do tipo de espaço necessário.

Procedimento geral (perdoe-me por falta de alguns comandos, estou escrevendo isso muito rapidamente):

  1. Anexe a unidade externa e localize o nome do dispositivo. Vamos fingir que você o veja como / dev / sdb.
  2. Crie duas partições na sua unidade externa. Em nosso exemplo, isso será mostrado como / dev / sdb1 e / dev / sdb2.

    parted /dev/sdb

  3. Formate a primeira partição como ext2 ou ext3 e rotulada como "boot". Formate a segunda partição na unidade externa como tipo "Linux LVM".

  4. Obtenha o volume LVM recém-cunhado reconhecido pelo sistema usando

    pvscan ; vgscan

  5. Retire um pedaço grande o suficiente do volume LVM externo para armazenar o disco rígido inteiro do laptop. Em caso de dúvida, basta usar todo o espaço disponível.

  6. Formate o seu volume baseado em LVM como ext3 ou qualquer sistema de arquivos que lhe agrade.

    mke3fs /dev/ExternalUSBVolume/ExternalRoot

  7. Para cada montagem de sistema de arquivos não-especial , crie um diretório em seu disco externo e copie (com atributos) todos os seus arquivos em cada montagem para esse disco. Ignore cópias de pontos de montagem como / proc, etc., pois são "especiais".

  8. crie os pontos de montagem especiais manualmente, para que eles existam em sua unidade externa. Não os preencha, apenas verifique se os nomes e as permissões correspondem.
  9. (Com muito cuidado) use seu gerenciador de inicialização para instalar uma imagem de inicialização em sua unidade externa, na partição / boot. Esse processo é um pouco complexo, então deixarei para você encontrar as informações em outro lugar. Também é perigoso se você estragar tudo - você pode acabar tentando sobrescrever seu bootloader em sua unidade de laptop. Tenha cuidado.
  10. Reinicie seu laptop. Quando estiver passando pelo POST, certifique-se de especificar a unidade externa como sua unidade de inicialização. Neste momento, você deve ter uma réplica (mais ou menos) próxima da unidade do seu laptop. (para os outros administradores lá fora: sim, eu sei, os arquivos de log e outros não estão em um estado 100% copiado, mas essa não é a ênfase aqui ... está em obter os dados e ferramentas movidos ...)
  11. Uma vez que você pode inicializar a partir da unidade externa, você pode usá-lo para limpar sua unidade de laptop. Neste ponto, você está "vivendo fora" de sua unidade externa. Mantenha isso em mente.
  12. Em seguida, use um editor de partições - gparted ou qualquer outra coisa - para excluir as partições de laptop originais (dados de bye-bye ...) e, em seguida, marque sua área recém-criada como "LVM". Percorra o processo de reconhecimento do seu volume LVM, particionado, formatado, etc.
  13. Usando o processo de espelhamento do LVM, espelhe seu sistema ativo (que atualmente está na unidade externa) de volta à unidade de laptop. Faça uma pausa para o almoço (ou duas) para isso, pois levará tempo.
  14. Remontar o sistema de arquivos ao vivo, movendo o sistema de arquivos / da unidade externa para o volume LVM do seu laptop.
  15. Execute novamente o processo de instalação do gerenciador de inicialização. Isso é crítico, pois o disco virtual atual não terá as configurações corretas e não saberá que você mudou as coisas. Não fazer isso resultará em um sistema não inicializável e em uma visita a um disco de recuperação. Se tudo mais falhar, você pode inicializar a partir de sua unidade externa novamente (nada perdido ...)
  16. Reinicialize o laptop sem a unidade externa conectada e especifique a unidade interna do laptop. Deve inicializar bem. Observe qualquer coisa que pareça ou pareça ferida ou quebrada (não deve haver nada) e corrija-a.
  17. Sente-se e desfrute de uma bebida para um trabalho bem feito.
por 04.05.2009 / 19:35
6

Recentemente, eu escrevi blocos (née lvmify), que faz essa conversão no local. Ele pega uma única partição, encolhe o sistema de arquivos se necessário, move o início do sistema de arquivos para o final da partição e copia um superbloco LVM (pré-configurado com o direito PV / LV / VG) em seu lugar. Se você tiver várias partições, a mesclagem dos grupos de volumes recém-criados será feita com vgmerge . Não funciona em sistemas de arquivos montados.

    
por 01.03.2013 / 20:28
3

A maneira mais fácil de mover um sistema Linux para o LVM é usar um disco externo (USB, eSATA) e um sistema baseado em CD-ROM como grml para afastar todos os dados do PC para o disco externo e, em seguida, reparticionar o PC com o LVM. Finalmente, copie tudo de volta e configure e reinstale o grub no MBR.

Este procedimento está ligeiramente envolvido, mas você sempre tem os dados na unidade externa e no CD-ROM para inicializar o sistema.

Como você espera, o Windows não consegue acessar nenhum volume LVM.

    
por 04.05.2009 / 18:06
1

Começando pela parte inferior: não, o Windows não pode ler volumes lógicos do LVM (partições).

Se você tem um disco reserva que pode ser usado como armazenamento temporário, é só uma questão de inicializar a partir de um live CD, copiando os dados para o local temporário, criando um ou mais LVs e colocando os dados de volta. É impraticável (mas possível) fazer uma conversão no local para o LVM; você basicamente tem que diminuir a partição antiga e redimensionar o LV várias vezes (e o LV final seria fragmentado)

    
por 04.05.2009 / 18:04
1

Você tem uma instalação de vários anos em um laptop. É uma proposta perdida para convertê-lo em LVM. Faça backup de seus dados, reinstale e copie seus dados de volta. Você terá um sistema limpo com novo software e seus dados.

Se você não puder fazer isso porque não sabe onde seus dados estão, você tem um grande problema e esta é sua chance de resolvê-lo.

    
por 24.05.2009 / 01:33
1

link tem uma maneira interessante de migrar um fs ao vivo. Adicione-o como parte de um grupo RAID-1, que o SO irá espelhar para o outro dispositivo (que pode ser um volume lógico LVM). É um pouco datado, então não sei se isso ainda funcionaria.

    
por 14.10.2014 / 19:43
0

Você provavelmente terá que fazer backup dos dados para outra unidade ou partição (ou iso?), criar o contêiner LVM e, em seguida, restaurar os dados para o contêiner.

    
por 04.05.2009 / 18:10

Tags