Conselhos sobre como transferir espaço em uma instalação BTRFS

0

Eu tive problemas com a partição raiz de 40 GB e quero transferir espaço de uma segunda partição de 400 GB. Eu tenho o BTRFS instalado no topo do LVM. Por alguma razão, o OpenSUSE decidiu isso para mim um tempo de instalação e eu considerei que fazia sentido:

# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 464.5G  0 disk 
'-sda1            8:1    0 464.5G  0 part 
  |-system-swap 254:0    0     2G  0 lvm  [SWAP]
  |-system-root 254:1    0    40G  0 lvm  /
  '-system-opt  254:2    0 422.5G  0 lvm  /optLVM
sr0              11:0    1  1024M  0 rom  

# btrfs filesystem show
Label: none  uuid: 681e689d-1ac2-48ac-9fba-f6a6e234e9f5
    Total devices 1 FS bytes used 28.40GiB
    devid    1 size 40.00GiB used 35.53GiB path /dev/mapper/system-root

Label: none  uuid: 90b22bed-5924-425d-ac30-03279f970fa0
    Total devices 1 FS bytes used 159.43GiB
    devid    1 size 300.00GiB used 299.04GiB path /dev/mapper/system-opt

Como você pode ver, / dev / mapper / system-opt tem apenas 300GB, então eu tenho 100 GB livres como fiz um btrfs para redimensionar 100 GB.

Meu problema é que eu não sei como adicionar esses 100GB no diretório / (/ dev / mapper / system-root). Eu tentei:

# btrfs device add /dev/mapper/system-opt /
/dev/mapper/system-opt appears to contain an existing filesystem (btrfs).
Use the -f option to force overwrite.

Parece que o OpenSUSE formata os btrfs em cima de dm-1 e dm-2, que provavelmente mapeiam para volumes LVM.

# btrfs device usage /
/dev/dm-1, ID: 1
   Device size:            40.00GiB
   Data,single:            33.00GiB
   Metadata,single:         2.50GiB
   System,single:          32.00MiB
   Unallocated:             4.47GiB
# btrfs device usage /optLVM
/dev/dm-2, ID: 1
   Device size:           422.50GiB
   Data,single:           297.01GiB
   Metadata,single:         8.00MiB
   Metadata,DUP:            2.00GiB
   System,single:           4.00MiB
   System,DUP:             16.00MiB
   Unallocated:           988.00MiB

Posso fazer?

 btrfs device add /dev/dm-2 /

Para fazer / (root btrfs "partição") obter 100 GB não alocado na partição dm-2?

    
por icordoba 15.11.2016 / 18:02

2 respostas

1

dm- # é o multipath do dispositivo, então basicamente as partições btrfs estão sendo tratadas como LUNs.

A opção de redimensionamento funciona para expandir as partições, bem como reduzi-las.

 btrfs filesystem resize +100G /

Você pode precisar fazer algo semelhante no nível do dispositivo primeiro para mover o espaço livre para a unidade lógica que contém a partição raiz.

A referência do btrfs em kernel.org parece mostrar que o comando que listei pode fazer o truque.

    
por 15.11.2016 / 18:09
0

Parece que seus sistemas de arquivos BTRFS estão armazenados em volumes lógicos LVM . No LVM, os volumes lógicos são compostos de mandris (extensões) que vêm de volumes físicos (partições de disco) que são agrupados como uma única unidade conhecida como um grupo de volumes. Por exemplo, no seu caso, parece que o instalador do OpenSUSE fez o seguinte:

  1. Criado um volume físico LVM em / dev / sda1 (ex. pvcreate /dev/sda1 )
  2. Criado um grupo de volumes LVM chamado system (ex. vgcreate system /dev/sda1 )
  3. Criamos os volumes lógicos do LVM swap , root e opt .

Você pode confirmar isso com os comandos pvdisplay , vgdisplay e lvdisplay .

O seu grupo de volumes system tem 464,5G de armazenamento e pode dividir em volumes lógicos. Então, realocar 100G de opt para root é uma questão de:

  1. Reduzindo o sistema de arquivos / optLVM (que você fez).
  2. Reduzindo o volume lógico opt com lvreduce . Cuidado com isso . Se você diminuir muito você arruinará / optLVM
  3. Redimensionando o volume lógico raiz com lvresize para fornecer 100G adicionais.
  4. Redimensionando o sistema de arquivos para habitar o espaço adicional.
por 21.12.2016 / 04:25