Como mover um diretorio para um novo volume no openstack

O passo a passo que se segue compreendo todas as atividades de criação do volume até a copia e configuração do fstab.

Passos

  1. Criar um novo volume e vincular(attach) a instância, fazer isso no painel de controle do openstack

  2. Criar a partição no linux

    1. Para verificar se o volume foi atachado corretamente:
1
2
3
4
5
6
7
8
9
sudo fdisk -l
-- ou --
ls /dev/vd*
````

2. para criar a partição

```bash
sudo fdisk /dev/vdc

O fdisk apenas vai gravar os dados no final.

  • Usar o comando “m” para ver a lista de opções.
  • Crie uma nova partição no disco com “n”,
  • depois use a opção “p” para criar uma partição primária,
  • depois selecione 1 para informar que é a primeira partição,
  • depois pressione enter 2 vezes para indicar o início e o fim da partição,
  • depois disso entre “t” para selecionar o tipo de partição ,
  • então entre 83 (tipo linux),
  • pressione “p” para ver as opções selecionadas e
  • logo depois pressione “w” para gravar

Deve-se efetuar um “Soft Reboot Instances” antes de continuar, esse reboot não acarreta a perda do ip e é rápido.
Para fazer isso deve-se antes efetuar o logout do ssh e depois acessar as instâncias do projeto e selecionar a opção “Soft Reboot Instances” .

Logout in the SSH and reboot the instance by going to Projects > Instances, select the checkbox next to your instance and click the “Soft Reboot Instances

Deve criar a partição /dev/vdc1 .

Para formatar com ext4 usar:

1
sudo mkfs.ext4 /dev/vdb1

Para montar os dados deve-se antes pegar o UUID e criar uma pasta para efetuar o mount, faça isso com o seguinte comando:

1
2
3
4
5
6
7
sudo blkid /dev/vdb1
/dev/vdb1: UUID="99999c99-k999-99m9-9d99-99ed999ba9da" TYPE="ext4" PARTUUID="0a999f9e-99"

-- crie uma pasta para fazer a montagem --

sudo mkdir -p /mnt/data

Eu prefiro montar inicialmente para a pasta /mnt/data mesmo que depois eu vá montar em definitivo em outro local.

Altere o /etc/fstab:

1
2
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
UUID=99999c99-k999-99m9-9d99-99ed999ba9da /mnt/data ext4 defaults 0 2

Teste a configuração com:

1
sudo mount -a
  1. Copiar os arquivos e configurar o fstab

Com o /mnt/data montado você pode copiar os arquivos do /home para a nova pasta

1
sudo rsync -avH /home/ /mnt/data

Depois desmonte o /mnt/data:

1
sudo umount -l /dev/vdxn

Existe a advertência de não usar o cp -avr ou o cp -ar , o rsync deve ser melhor.

Depois que copiou alterar o /etc/fstab para:

1
2
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
UUID=51751b87-a583-42b3-8d61-27ed586ba8da /home ext4 defaults 0 2

Agora uma dica importante para apagar os antigos arquivos em /home:

1
2
3
4
$ sudo mount --bind / /mnt
-- cuidado nesse ponto: --
$ sudo rm -rf /mnt/home/*
$ sudo umount /mnt

ou:

1
2
3
4
5
$ sudo mount --bind / /mnt
$ cd /mnt
$ sudo rm -rf home
$ cd /
$ sudo umount /mnt

fonte 1 - darwinbiler

fonte 2 - dreamhost

fonte 3 - askubuntu