it-swarm-pt.tech

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

Meu servidor Linux usa LVM porque substituí a máquina há um ano e instalei do zero. O LVM salvou minha vida e adoro sua flexibilidade. Meu laptop Linux, no entanto, foi totalmente instalado pela última vez há três anos e, portanto, usa partições diretas.

É possível - sem reinstalar - converter um sistema existente para LVM? Em caso afirmativo, quais ferramentas podem fazer esse trabalho?

Espero que quaisquer sistemas de arquivos a serem compartilhados com o Windows em um sistema de inicialização dupla não possam ser LVM. Se eu estiver errado, por favor me avise, mas ficaria surpreso.

17
Eddie

Sim, isso pode ser feito.

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


Vou fazer melhor: com apenas algumas exceções, você deve conseguir migrar todo o seu laptop ao vivo , desde que use um drive externo com o suficiente capacidade.

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

Você precisará:

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

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

  1. Conecte a unidade externa e localize o nome do dispositivo. Vamos fingir que você o vê como/dev/sdb.
  2. Crie duas partições em sua unidade externa. Em nosso exemplo, isso aparecerá 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 "Linux LVM".

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

    pvscan; vgscan

  5. Corte um pedaço grande o suficiente do volume externo do LVM para conter todo o disco rígido do laptop. Na dúvida, use todo o espaço disponível.

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

    mke3fs/dev/ExternalUSBVolume/ExternalRoot

  7. Para cada montagem do 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 eles são "especiais".

  8. crie os pontos de montagem especiais manualmente, para que existam em seu disco externo. 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. Este processo é um pouco complexo, então deixarei para você encontrar as informações em outro lugar. Também é perigoso se você errar - você pode acabar tentando sobrescrever o bootloader na unidade do 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 quase-réplica (mais ou menos) da unidade do seu laptop. (para os outros administradores por aí: 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 ... é em mover os dados e ferramentas ...)
  11. Depois de inicializar a partir da unidade externa, você pode usá-la para limpar a unidade do laptop. Neste ponto, você está "vivendo" de sua unidade externa. Mantenha isso em mente.
  12. Então use um editor de partição - gparted ou qualquer outro - para deletar as partições originais do laptop (bye-bye data ...), então marque sua área recém-criada como "LVM". Passe pelo processo de reconhecimento, partição, formatação, etc. de seu volume LVM.
  13. Usando o processo de espelhamento do LVM, espelhe seu sistema ativo (que atualmente está no drive externo) de volta para o drive do laptop. Faça uma pausa para o almoço (ou duas) para isso, pois levará tempo.
  14. Remonte o sistema de arquivos ativo, movendo o sistema de arquivos/do drive externo para o volume LVM do seu laptop.
  15. Execute novamente o processo de instalação do carregador de inicialização. Isso é crítico porque o ramdisk 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 que não pode ser inicializado e uma visita ao disco de recuperação. Se tudo mais falhar, você pode inicializar a partir de sua unidade externa novamente (nada perdido ...)
  16. Reinicie o laptop sem a unidade externa conectada e especificando a unidade interna do laptop. Ele deve inicializar bem. Observe qualquer coisa que pareça machucada ou quebrada (não deveria haver nada) e conserte.
  17. Sente-se e desfrute de uma bebida por um trabalho bem executado.
11
Avery Payne

Recentemente, escrevi blocks (née lvmify) que faz essa conversão no local. Ele pega uma única partição, reduz 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 PV/LV/VG correto) em seu lugar. Se você tiver várias partições, a fusão dos grupos de volumes recém-criados é feita com vgmerge. Não pode funcionar em sistemas de arquivos montados.

6
Gabriel

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

Este procedimento é um pouco complicado, mas você sempre tem os dados no drive externo e no CD-ROM para inicializar o sistema.

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

3
David Schmitt

Começando de baixo: não, o Windows não consegue ler os volumes lógicos LVM (partições).

Se você tiver um disco sobressalente que possa ser usado como armazenamento temporário, basta inicializar de um live CD, copiar os dados para o local temporário, criar um ou mais LVs e colocar os dados de volta. É impraticável (mas possível) fazer uma conversão local para LVM; você basicamente tem que diminuir a partição antiga e redimensionar o LV várias vezes (e o LV final seria fragmentado)

1
Luca Tettamanti

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ tem uma maneira interessante de migrar um fs ao vivo. Adicione-o como parte de um grupo RAID-1, que o SO irá então espelhar para o outro dispositivo (que pode ser um volume lógico LVM). É um pouco datado, então não sei se ainda funcionaria.

1
Brian Minton

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

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

1
carlito

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

0
Brent