Não é possível abrir / dev / xxx exclusivamente. Sistema de arquivos montado. Como criar grupos de volumes e lvm no disco montado?

1

Eu tenho 3 partições sdb1 sdb2 e sdb3. Eu quero criar um grupo de volume e lvms no sdb3 que é a partição linux montada onde está localizada a minha pasta raiz.

Estou digitando:

pvcreate /dev/sdb3 

mas eu recebo:

Can't open /dev/sdb3 exclusively. Mounted filesystem.

Bem, eu sei que minha partição está montada, na verdade, estou apenas trabalhando nela. Existe uma maneira de criar o grupo de volume sem pedir ao meu provedor para reformatar minhas partições. Quero dizer através do SSH?

    
por Claudio Ferraro 04.02.2015 / 23:29

2 respostas

2

Você pode fazer isso, mas é difícil.

Os passos são essencialmente os seguintes:

  1. 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.
  2. Inicie em um ambiente chrooted.
  3. 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.
  4. 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.
  5. 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.
  6. 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. Talvez telinit Q , telinit u ou telinit U também possa ser necessário para isso, depende do seu sistema init também.
  7. 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.
  8. 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).
  9. 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.
  10. Crie seu volume lvm com seus comandos pvcreate , etc., crie os lvs, monte-os e copie seu sistema root de volta.
  11. 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.
  12. 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.
  13. Corrigir /etc/fstab , reconfigurar / reinstalar o grub e qualquer similar.
  14. 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).
por 04.02.2015 / 23:37
1

O que você sugere não deve ser feito on-line, pois é propenso a erros e possivelmente perigoso. Você precisa redimensionar as partições para fazer isso, você provavelmente perderá dados ao tentar mexer com a partição na qual o sistema de arquivos raiz do seu sistema foi colocado. É para isso que serve essa verificação.

Use um comando ao vivo com o gparted para redimensionar suas partições, depois configure um sistema de arquivos criptografado no espaço liberado.

    
por 04.02.2015 / 23:37