Quero que meus dados da /dev/sda1
partição "transbordem" automaticamente para a /dev/vda
partição. Então acho que minha pergunta é: como faço para combinar as 2 partições para /
ter 138 GB de tamanho?
root@vps:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 780M 34M 747M 5% /run
/dev/sda1 39G 7.7G 32G 20% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 780M 0 780M 0% /run/user/1000
/dev/vda 99G 60M 94G 1% /mnt/vda
E estes são os discos disponíveis:
root@vps:/# fdisk -l
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xffcebafc
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 83886046 83883999 40G 83 Linux
Não tenho muito conhecimento sobre isso, então posso não fazer as perguntas certas.
Responder1
Dado que você está lidando com dois dispositivos físicos, não será possível combinar as partições no nível físico. Mas você pode usar o LVM (gerenciador de volume lógico) para criar o que equivale a um dispositivo de bloco virtual que consiste em váriosrealdispositivos de bloqueio. Isso simularia uma partição de aproximadamente 138 GB. Também é possível fazer algo semelhante no nível do sistema de arquivos usando BTRFS, mas aqui está o que você pode fazer com o LVM:
NOTA: Além do suporte ao LVM, seu sistema precisará da capacidade de inicializar a partir do LVM, o que depende do seu carregador de boot e de como ele está configurado.
Convertendo para LVM
Obviamente, certifique-se de fazer backup do seu sistema primeiro, pois esse processo eliminará /dev/sda1
e /dev/vda
. Em seguida, inicialize o Linux a partir de uma unidade Live CD/USB e...
- Execute
wipefs /dev/vda
para limpar rapidamente a partição. - Crie um volume físico LVM executando
pvcreate /dev/vda
- Crie um grupo de volumes:
vgcreate vg0 /dev/vda
- Crie um volume lógico para seu sistema de arquivos raiz:
lvcreate -L80G -n rootfs vg0
. Não se preocupe com o tamanho de 80 GB; isso será aumentado mais tarde. - Coloque um sistema de arquivos no volume lógico, digamos... ext4:
mkfs.ext4 -L ROOTFS /dev/vg0/rootfs
- Monte o novo sistema de arquivos para dizer... /mnt/newroot:
mount -L ROOTFS /mnt/newroot
- Como você faria isso a partir de um live CD, você precisará montar o real
/
em algum lugar, digamos... /mnt/oldroot:mount /dev/sda1 -o ro /mnt/oldroot
- Copie oraiz antigapara o que se tornará onova raiz:
cp -aR /mnt/oldroot/* /mnt/newroot/
Agora, até agora, além de perder tudo o que havia /dev/vda
, nada de irreversível aconteceu. Portanto, esta é a oportunidade perfeita para configurar seu gerenciador de inicialização (ex. GRUB2) para inicializar /dev/vg0/rootfs
e certificar-se de que você pode inicializar. Tudo deve ser igual, exceto que a saída do df deve ser semelhante a esta:
root@vps:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 780M 34M 747M 5% /run
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 780M 0 780M 0% /run/user/1000
/dev/vg0/rootfs 99G 7.7G 92G ?% /
Se você chegar tão longe, poderá prosseguir com o seguinte para aproveitar os poderes mágicos do LVM. Com alguns sistemas de arquivos, como EXT4, o seguinte pode ser feito no sistema ativo; nenhum CD ao vivo necessário.
- Limpe a raiz antiga:
wipefs /dev/sda1
- Crie um novo volume físico:
pvcreate /dev/sda1
- Adicione o novo volume físico ao LVM:
vgextend vg0 /dev/sda1
Neste ponto, as duas partições estão disponíveis para uso do LVM, mas ainda não utilizadas. Para usar ambas as partições (na verdade, agora são volumes físicos LVM) para o seu /
, estenda o volume lógico raiz para consumir todo o espaço disponível:
- Amplie o volume lógico:
lvextend -l 100%FREE /dev/vg0/rootfs
- Amplie o sistema de arquivos:
resize2fs /dev/vg0/rootfs
Isso deve fornecer um sistema de arquivos raiz com aproximadamente 138 GB de tamanho :)