Instale o Ubuntu em USB dentro do VirtualBox

0

Para testar a estabilidade do Btrfs-RAID1, eu queria instalar o Ubuntu em dois pen drives USB dentro do Virtualbox.

O que eu gostaria de alcançar:

  • Ter um sistema RAID1 baseado em btrfs que inicializa em um dos pen drives USB. Eu uso a imagem 15.04 amd64.

Onde estou preso agora:

  • Eu posso instalar e inicializá-lo em um único pendrive bem. Sempre que eu tento adicionar um segundo pendrive USB, adicionando-o dentro do Ubuntu ao btrfs-pool e mudando os níveis de redundância para RAID1, o sistema torna-se não inicializável, mostrando 'BTRFS: open_ctree failed' e subsequentemente 'mount: mounting / dev / disk / by-uuid / UUID em / root falhou: argumento inválido '.

Eu tentei pelo menos uma dúzia de vezes agora configurá-lo corretamente, mas sem sucesso. Coisas que eu tentei

  • Passando os pen drives como tal através do controlador USB
  • Transmitindo os discos USB brutos como virtual vmdks no controlador SATA ou IDE
  • Usando o disco inteiro como uma única partição do Btrfs com e sem tabela de partições
  • Configurando uma partição do biosgrub e / ou uma partição '/ boot'-ext4 na frente da partição btrfs
  • Particionando apenas um stick com modo de redundância 'single' e depois adicione o outro
por Kapt.Brackbier 07.08.2015 / 15:44

1 resposta

0

Quais comandos você usou exatamente?

Geralmente, supondo que você tenha dois drives usb (mesmo tamanho) disponíveis na sua VM, o sistema está instalado no primeiro, eis o que você pode fazer:

Inicialize um sistema ao vivo, como o disco de instalação do Ubuntu. O primeiro drive usb, onde o Ubuntu está instalado, pode ser / dev / sda, o segundo, que ainda está vazio, pode ser / dev / sdb. Estou assumindo, há uma partição separada / boot (sda1) e seu sistema de arquivos btrfs está em sda2, então você quer criar um sdb2 idêntico como espelho RAID1.

Copie a tabela de partições para a nova unidade usb: dd if=/dev/sda of=/dev/sdb bs=512 count=1
A nova unidade agora contém partições vazias, então você tem seu / dev / sdb2.

sda (FIRST USB DRIVE)  <- your Ubuntu installation
  sda1 /boot           <- your Ubuntu boot partition
  sda2 /               <- your Ubuntu root partition
sdb (SECOND USB DRIVE) <- new usb drive, to be used for mirror
  sdb1                 <- empty fake copy of boot partition
  sdb2 (btrfs...)      <- will be second device in sda2 mirror

Crie um novo sistema de arquivos btrfs: mkfs.btrfs /dev/sdb2
(Use -f , se necessário).

Monte seu antigo sistema de arquivos btrfs (que deve ser transformado em um espelho) usando mount /dev/sda2 /mnt ou reinicialize o sistema ao vivo e inicie o sistema Ubuntu real (o ponto de montagem seria / em vez de /mnt ).

Adicione a nova partição como segundo dispositivo ao seu sistema de arquivos btrfs: btrfs device add /dev/sdb2 /mnt
Substitua /mnt se você montou em outro lugar (ou se você já reinicializou). Verifique novamente (você deve obter uma lista de 2 partições, sda2 e sdb2 que ainda está vazia): btrfs filesystem show /mnt

Transforme seu sistema de arquivos btrfs de 2 drives em um espelho: btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt

Agora reinicie e veja o que acontece. Execute btrfs fi show novamente para confirmar que sda2 e sdb2 são usados.

Note que / dev / sdb1 é uma partição vazia do mesmo tamanho que / dev / sda1 (sua partição de inicialização), mas desde que você ainda possa inicializar a partir de sda, você não precisa copiá-la. Para uma cópia completa, se a sua segunda unidade usb deve substituir a primeira unidade usb, você deve copiar sda1 para sdb1 também (comando dd, veja acima).

    
por 29.10.2015 / 12:46