BTRFS 설정에서 공간을 이동하는 방법에 대한 조언

BTRFS 설정에서 공간을 이동하는 방법에 대한 조언

40GB 루트 파티션에 문제가 있어서 두 번째 400GB 파티션에서 공간을 전송하고 싶습니다. LVM 위에 BTRFS를 설치했습니다. 어떤 이유로 OpenSUSE가 저를 위해 이 설치 시간을 결정했는데, 제 생각에는 이것이 타당하다고 생각합니다.

# 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

보시다시피 /dev/mapper/system-opt는 300GB에 불과하므로 100GB를 확보하기 위해 btrfs의 크기를 조정했기 때문에 거기에 100GB의 여유 공간이 있습니다.

내 문제는 이 100GB를 / 디렉토리(/dev/mapper/system-root)에 추가하는 방법을 모른다는 것입니다. 나는 시도했다:

# 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.

LVM 볼륨에 매핑될 수 있는 dm-1 및 dm-2 위에 OpenSUSE 형식의 btrfs가 있는 것으로 보입니다.

# 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

내가 할 수 있을까?

 btrfs device add /dev/dm-2 /

dm-2 파티션에서 할당되지 않은 100GB를 얻기 위해 /(루트 btrfs "파티션")을 원하십니까?

답변1

dm-#은 장치 다중 경로이므로 기본적으로 btrfs 파티션은 LUN으로 처리됩니다.

크기 조정 옵션을 사용하여 파티션을 확장하거나 축소할 수 있습니다.

 btrfs filesystem resize +100G /

먼저 장치 수준에서 비슷한 작업을 수행하여 여유 공간을 루트 파티션이 있는 논리 드라이브로 이동해야 할 수도 있습니다.

Btrfs 참조는 다음 위치에 있습니다.kernel.org내가 나열한 명령이 작동할 수 있음을 나타내는 것 같습니다.

답변2

BTRFS 파일 시스템이 다음 위치에 저장된 것 같습니다.좌심실 용적논리 볼륨. LVM에서 논리 볼륨은 하나의 단위(볼륨 그룹이라고 함)로 함께 그룹화된 물리 볼륨(디스크 파티션)의 디스크(범위)로 구성됩니다. 예를 들어, 귀하의 경우 OpenSUSE 설치 프로그램은 다음을 수행하는 것으로 보입니다.

  1. /dev/sda1에 LVM 물리 볼륨을 생성합니다(예 pvcreate /dev/sda1: )
  2. 라는 이름의 LVM 볼륨 그룹을 생성했습니다.체계(전임자. vgcreate system /dev/sda1)
  3. LVM 논리 볼륨 생성교환,뿌리, 그리고선택하다.

, 및 명령을 사용하여 pvdisplay이를 확인할 수 있습니다 vgdisplay.lvdisplay

당신의체계볼륨 그룹은 464.5G의 저장 공간을 가지며 논리 볼륨으로 나눌 수 있습니다. 따라서 100G를 재할당하세요.선택하다도착하다뿌리질문입니다:

  1. /optLVM 파일 시스템을 축소합니다(이미 수행함).
  2. 축소선택하다논리 볼륨 AND lvreduce.이것에 조심하세요. 너무 많이 축소하면 /optLVM이 삭제됩니다.
  3. 크기 조정뿌리논리 볼륨은 lvresize추가로 100G를 제공합니다.
  4. 추가 공간을 차지하도록 / 파일 시스템의 크기를 조정합니다.

관련 정보