É possível converter uma caixa Linux para LVM após o fato?
17
Meu servidor Linux usa LVM porque substituí a máquina há um ano e instalei do zero. O LVM salvou vidas e eu amo 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? Se sim, quais ferramentas podem fazer esse trabalho?
Espero que qualquer sistema de arquivos seja 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.
Sim, você pode usá-lo para um sistema Windows de inicialização dupla, desde que você faça o Windows a primeira partição, e é uma partição primária (não estendida dentro de uma lógica). Minhas instruções aqui não cobrem essa situação, o que exige que você tenha alguma experiência em lidar com a inicialização dupla. Se você estiver procurando por uma configuração de inicialização dupla do Windows / Linux, não siga nenhum conselho abaixo deste ponto.
Vou melhorar: com apenas algumas exceções, você poderá migrar todo o laptop ao vivo , desde que 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 separada / boot, e você sabe de uma tentativa fracassada pode deixá-lo com uma instalação cérebro-danificados que não vai arrancar! VOCÊ FOI AVISADO!
Você precisará:
/ boot localizado em uma partição separada. Se você possui um sistema de arquivos raiz combinado (tudo está empacotado 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):
Conecte a unidade externa e localize o nome do dispositivo. Vamos fingir que você vê isso como / dev / sdb.
Crie duas partições na sua unidade externa. No nosso exemplo, isso será exibido como / dev / sdb1 e / dev / sdb2.
parted / dev / sdb
Formate a primeira partição como ext2 ou ext3 e rotule "boot". Formate a segunda partição na unidade externa como tipo "Linux LVM".
Obtenha o volume LVM recém-cunhado reconhecido pelo sistema usando
pvscan; vgscan
Corte um pedaço grande o suficiente do volume LVM externo para armazenar todo o disco rígido do laptop. Em caso de dúvida, use todo o espaço disponível.
Formate seu volume baseado em LVM como ext3 ou qualquer sistema de arquivos que lhe agrada.
mke3fs / dev / ExternalUSBVolume / ExternalRoot
Para cada montagem não especial do sistema de arquivos, 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".
crie manualmente os pontos de montagem especiais, para que eles existam na sua unidade externa. Não os preencha, apenas verifique se os nomes e as permissões correspondem.
(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 que você encontre as informações em outro lugar. Também é perigoso se você estragar tudo - você pode acabar sobrescrevendo o seu gerenciador de inicialização no disco do seu laptop. Seja cuidadoso.
Reinicie seu laptop. Quando estiver passando pelo POST, certifique-se de especificar a unidade externa como sua unidade de inicialização. Nesse momento, você deve ter uma réplica quase (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 ... é fazer com que os dados e as ferramentas sejam movidos ...)
Depois de inicializar a partir da unidade externa, você poderá usá-lo para limpar a unidade do laptop. Neste ponto, você está "vivendo de" sua unidade externa. Mantenha isso em mente.
Em seguida, use um editor de partições - gparted ou o que for - para excluir as partições originais do laptop (dados de adeus ...) e, em seguida, marque a área recém-criada como "LVM". Siga o processo de reconhecimento, particionamento, formatação, etc. do seu volume LVM, etc.
Usando o processo de espelhamento do LVM, espelhe seu sistema ativo (que está atualmente na unidade externa) de volta para a unidade do laptop. Faça uma pausa para o almoço (ou duas) para isso, pois levará tempo.
Remonte o sistema de arquivos ativo, movendo o sistema de arquivos / da unidade externa para o volume LVM do laptop.
Execute novamente o processo de instalação do carregador de inicialização. Isso é crítico, pois 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 não inicializável e em uma visita a um disco de recuperação. Se tudo mais falhar, é possível inicializar a partir do seu disco externo novamente (nada se perde ...)
Reinicie o laptop sem a unidade externa conectada e especificando a unidade interna do laptop. Deve inicializar bem. Observe qualquer coisa que pareça ou pareça machucada ou quebrada (não deve haver nada) e corrija-a.
Sente-se e desfrute de uma bebida por um trabalho bem feito.
É claro que é possível fazer uma migração ao vivo para o armazenamento externo (se você for corajoso o suficiente, poderá até girar o sistema em execução para o disco externo e voltar sem reiniciar: D); fazendo todo o processo a partir de um CD ao vivo deve ser menor erro embora propenso (por exemplo FSs virtual fora do caminho ...)
Luca Tettamanti
2
E, a propósito, o LILO e a nova versão do GRUB (a que eventualmente se tornará 2.0) têm suporte nativo aos LVs - sem necessidade de uma partição / inicialização separada.
Luca Tettamanti
Eu sei. Mas achei "melhor prevenir do que remediar". Ter uma partição nativa facilita a correção das coisas. Talvez o OP tenha que usar uma ferramenta baseada em Windows que não entenda LVM (muitos não) - nesse caso, pelo menos ele pode modificar o menu.lst com o grub, etc., conforme necessário. Mas obrigado pela contribuição! :)
Avery Payne
6
Recentemente, escrevi blocos (née lvmify) que fazem 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 será feita vgmerge. Não pode funcionar em sistemas de arquivos montados.
Acabei de migrar minhas 2 partições ext4 (totalizando 120 GB) para o LVM em cerca de 2 minutos usando blocos. Trabalhou na perfeição.
Amr Mostafa
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 o grml para afastar todos os dados do PC para o disco externo e, em seguida, re-particionar o PC com LVM. Por fim, copie tudo de volta, configure e reinstale o grub no MBR.
Este procedimento está um pouco envolvido, mas você sempre tem os dados na unidade externa e no CD-ROM para inicializar o sistema.
Como você espera corretamente, o Windows não pode acessar nenhum volume LVM.
Começando de baixo: não, o Windows não pode ler volumes lógicos do LVM (partições).
Se você possui um disco sobressalente que pode ser usado como armazenamento temporário, é apenas uma questão de inicializar a partir de um CD ao vivo, copiando os dados para o local temporário, criando um ou mais LVs e devolvendo os dados. É impraticável (mas possível) fazer uma conversão no local para LVM; você basicamente precisa encolher a partição antiga e redimensionar o LV várias vezes (e o LV final seria fragmentado)
Você tem uma instalação de vários anos em um laptop. É uma proposição perdida convertê-lo para LVM. Faça backup dos seus dados, reinstale e copie-os novamente. Você terá um sistema limpo com 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ê-los.
http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ tem uma maneira interessante de migrar um fs ativo. Adicione-o como parte de um grupo RAID-1, que o sistema operacional espelhará no outro dispositivo (que pode ser um volume lógico do LVM). É um pouco datado, então não sei se isso ainda funcionaria.
Você provavelmente precisará fazer backup dos dados em outra unidade ou partição (ou iso?), Criar o contêiner LVM e, em seguida, restaurar os dados no contêiner.
Recentemente, escrevi blocos (née lvmify) que fazem 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 será feita
vgmerge
. Não pode funcionar em sistemas de arquivos montados.fonte
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 o grml para afastar todos os dados do PC para o disco externo e, em seguida, re-particionar o PC com LVM. Por fim, copie tudo de volta, configure e reinstale o grub no MBR.
Este procedimento está um pouco envolvido, mas você sempre tem os dados na unidade externa e no CD-ROM para inicializar o sistema.
Como você espera corretamente, o Windows não pode acessar nenhum volume LVM.
fonte
Começando de baixo: não, o Windows não pode ler volumes lógicos do LVM (partições).
Se você possui um disco sobressalente que pode ser usado como armazenamento temporário, é apenas uma questão de inicializar a partir de um CD ao vivo, copiando os dados para o local temporário, criando um ou mais LVs e devolvendo os dados. É impraticável (mas possível) fazer uma conversão no local para LVM; você basicamente precisa encolher a partição antiga e redimensionar o LV várias vezes (e o LV final seria fragmentado)
fonte
Você tem uma instalação de vários anos em um laptop. É uma proposição perdida convertê-lo para LVM. Faça backup dos seus dados, reinstale e copie-os novamente. Você terá um sistema limpo com 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ê-los.
fonte
http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ tem uma maneira interessante de migrar um fs ativo. Adicione-o como parte de um grupo RAID-1, que o sistema operacional espelhará no outro dispositivo (que pode ser um volume lógico do LVM). É um pouco datado, então não sei se isso ainda funcionaria.
fonte
Você provavelmente precisará fazer backup dos dados em outra unidade ou partição (ou iso?), Criar o contêiner LVM e, em seguida, restaurar os dados no contêiner.
fonte