Linux에서 XFS/Btrfs 파일 시스템 크기를 조정하는 방법 |
Linux 파일 시스템은 파티션이나 디스크에 있는 구조화된 파일 모음으로 정의할 수 있습니다. 이는 스토리지의 데이터 관리를 처리하는 Linux 운영 체제에 내장된 계층입니다. 데이터는 루트 디렉터리와 하위 디렉터리가 있는 계층 구조로 저장됩니다. Linux에는 다음과 같은 지원되는 파일 시스템이 많이 있습니다. EXT, EXT2, EXT3, EXT4, JFS, 스왑, XFS, ReiserFS, Btrfs 등
이 가이드에서는 Linux에서 XFS/Btrfs 파일 시스템의 크기를 조정하는 방법을 안내합니다. XFS 파일 시스템을 고속 JFS(Journaled File System)라고 합니다. 이 파일 시스템은 병렬 I/O 처리를 위해 개발되었습니다. Btrfs(B 트리 파일 시스템)는 내결함성, 광범위한 저장소 구성, 복구 시스템 등으로 알려져 있습니다.
파일 시스템 크기 조정은 물리적 볼륨에 더 많은 공간을 만드는 파티션/볼륨 크기 조정과 다릅니다. YaST 파티션 도구를 사용하여 논리 볼륨의 크기를 조정하면 파일 시스템이 파티션의 새 크기에 맞게 자동으로 조정됩니다. 그러나 경우에 따라 파일 시스템 크기를 수동으로 조정해야 할 수도 있습니다. 파일 시스템의 크기를 수동으로 조정해야 하는 경우는 다음과 같습니다.
- VM 게스트의 가상 디스크 크기를 조정한 후.
- Btrfs 파일 시스템을 축소하기 위해 YaST는 Btrfs 파일 시스템 증가만 지원합니다.
- 네트워크 연결 스토리지에서 볼륨 크기를 조정한 후
- fdisk/parted를 사용하여 수동으로 파티션 크기를 조정한 후
그러나 파일 시스템 크기를 조정하면 잠재적으로 데이터 손실로 이어질 수 있는 위험이 수반된다는 점을 기억하십시오. 따라서 파일 시스템 크기를 조정하기 전에 사용 가능한 데이터를 백업하는 것이 좋습니다. 다음은 크기 조정을 지원하는 Linux 파일 시스템을 보여주는 표입니다.
| File System | Utility Tool | Grow | Shrink |
| XFS | xfs_growfs
| Online | Not supported |
| Btrfs | btrfs filesystem resize
| Online | Online |
| Ext2 | resize2fs
| Online/Offline | Offline only |
| Ext3 | resize2fs
| Online/Offline | Offline only |
| Ext4 | resize2fs
| Online/Offline | Offline only |
파일 시스템을 늘리거나 늘릴 때 사용 가능한 최대 공간까지 늘어나도록 정확한 크기를 지정할 수 있습니다. 그러나 파일 시스템의 크기를 늘리기 전에 논리 볼륨/장치의 크기가 늘어났는지 확인하세요. 크기를 지정하여 파일 시스템을 축소하거나 늘릴 때 다음 사항을 충족해야 합니다.
- 새 크기는 기존 데이터의 크기보다 커야 합니다. 그렇지 않으면 데이터 손실이 발생합니다.
- 파일 시스템 크기는 사용 가능한 공간 이상으로 확장될 수 없으므로 증가할 새 크기는 현재 장치 크기와 같거나 작아야 합니다.
1. 파티션/논리 볼륨 생성
확장할 파티션/논리 볼륨이 이미 있다고 가정합니다. 이 가이드에서는 다른 디스크(sdb)를 마운트하고 볼륨을 늘려 XFS 파일 시스템의 크기를 조정하는 방법을 보여줍니다.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─almalinux-root 253:0 0 35G 0 lvm /
└─almalinux-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sr0 11:0 1 1024M 0 rom 장치의 파일 시스템을 식별하려면 lsblk -f 명령을 사용하십시오.
이제 마운트된 디스크에 파티션 테이블을 생성합니다.
sudo cfdisk /dev/sdb해야 할 일 유형을 선택하고 다음과 같이 진행하세요.
Device Boot Start End Sectors Size Id Type
>> Free space 2048 20971519 20969472 10G
[ New ] [ Quit ] [ Help ] [ Write ] [ Dump ]6GB 크기의 새 파티션을 만들고 기기에 여유 공간을 남겨두세요.
기본 파티션으로 설정하세요.
이제 아래와 같이 파티션이 생성됩니다. 디스크에 변경 사항을 씁니다.
변경사항을 작성하라는 메시지가 표시되면 예를 입력하여 동의합니다.
변경이 완료되면 종료하고 파티션이 생성되었는지 확인하세요.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─almalinux-root 253:0 0 35G 0 lvm /
└─almalinux-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 6G 0 part
sr0 11:0 1 1024M 0 rom 여기에 XFS/Btrfs 파일 시스템을 만듭니다.
##For XFS
sudo mkfs.xfs /dev/sdb1 -f
##For Btrfs
sudo mkfs.btrfs /dev/sdb1 -f파일을 마운트합니다:
sudo mkdir /mnt/datastore
sudo mount /dev/sdb1 /mnt/datastore
sudo mount | grep /dev/sdb1샘플 출력:
##For XFS
/dev/sdb1 on /mnt/datastore type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
##For Btrfs
/dev/sdb1 on /mnt/datastore type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)경로에 콘텐츠가 있다고 가정합니다.
$ ls -al /mnt/datastore/
total 0
drwxr-xr-x. 4 root root 32 Apr 12 05:23 .
drwxr-xr-x. 3 root root 23 Apr 12 05:22 ..
drwxr-xr-x. 2 root root 6 Apr 12 05:23 new
drwxr-xr-x. 2 root root 6 Apr 12 05:23 new.txt2. 파티션/논리 볼륨 확장
먼저, 현재 파티션의 크기를 확인하세요.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.2M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/almalinux-root 36G 4.6G 31G 14% /
/dev/sda1 1014M 347M 668M 35% /boot
tmpfs 374M 12K 374M 1% /run/user/42
tmpfs 374M 4.0K 374M 1% /run/user/1000
/dev/sdb1 6.0G 76M 6.0G 2% /mnt/datastore여기서는 fdisk를 사용하여 수동으로 /dev/sdb1 파티션을 10GB로 늘립니다. 유틸리티 도구를 실행하고 파티션을 새 크기로 수정합니다.
sudo cfdisk /dev/sdb파티션을 삭제합니다.
원하는 크기의 이전 파티션보다 더 큰 새 파티션을 만듭니다. 여기서는 기기의 여유 공간을 사용하여 10GB 파티션을 생성하겠습니다.
이를 기본 파티션으로 설정하고 변경 사항을 기록한 후 종료합니다.
3. Linux에서 XFS/Btrfs 파일 시스템 크기 조정
파티션을 늘린 후에는 아래와 같이 파일 시스템 크기를 조정하세요.
3.1. XFS 파일 시스템 크기 조정
이는 xfs_growfs 유틸리티 도구를 사용하여 달성할 수 있습니다. 이 명령은 파일 시스템의 크기를 늘리는 데에만 사용되며 축소는 수행할 수 없습니다.
XFS 파일 시스템을 확장하려면 아래 구문과 함께 명령을 사용하십시오.
sudo xfs_growfs -d size /mount/point-d 크기는 증가할 크기를 지정합니다. 크기를 지정하지 않고 -d 명령을 사용하면 장치에서 지원하는 최대 크기까지 늘어납니다.
이 가이드의 경우 명령은 다음과 같습니다.
sudo xfs_growfs -d /mnt/datastore샘플 출력:
변경사항이 적용되었는지 확인하십시오.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.2M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/almalinux-root 36G 4.6G 31G 14% /
/dev/sda1 1014M 347M 668M 35% /boot
tmpfs 374M 12K 374M 1% /run/user/42
tmpfs 374M 4.0K 374M 1% /run/user/1000
/dev/sdb1 10G 104M 9.9G 2% /mnt/datastore파일이 여전히 존재하는지 확인하십시오.
3.2. Linux에서 Btrfs 파일 시스템의 크기를 조정합니다.
Btrfs 파일 시스템의 경우 btrfs filesystem resize 명령을 사용하면 필수 조건이 충족되는 것을 고려하여 파일 시스템을 늘리거나 줄일 수 있습니다.
다음 구문과 함께 명령을 사용하여 Linux에서 Btrfs 파일 시스템을 늘리거나 줄이려면:
sudo btrfs filesystem resize amount /mount/point예를 들어, 1GB의 파일 시스템을 증가하려면 명령은 다음과 같습니다.
$ sudo btrfs filesystem resize +1G /mnt/datastore
Resize '/mnt/datastore' of '+1G'크기를 확인하십시오:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 1.2M 392M 1% /run
/dev/sda1 39G 5.0G 32G 14% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 394M 84K 394M 1% /run/user/116
tmpfs 394M 56K 394M 1% /run/user/1000
/dev/sdb1 7.0G 3.6M 6.5G 1% /mnt/datastore파일 시스템을 1GB로 축소하려면 명령은 다음과 같습니다.
$ sudo btrfs filesystem resize -1G /mnt/datastore
Resize '/mnt/datastore/' of '-1G'파일 시스템이 줄어들었는지 확인합니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 1.2M 392M 1% /run
/dev/sda1 39G 5.0G 32G 14% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 394M 84K 394M 1% /run/user/116
tmpfs 394M 56K 394M 1% /run/user/1000
/dev/sdb1 6.0G 3.6M 5.5G 1% /mnt/datastore또한 파일 시스템을 사용 가능한 최대 공간까지 늘릴 수도 있습니다.
$ sudo btrfs filesystem resize max /mnt/datastore
Resize '/mnt/datastore' of 'max'아래와 같이 확인합니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 1.2M 392M 1% /run
/dev/sda1 39G 5.0G 32G 14% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 394M 84K 394M 1% /run/user/116
tmpfs 394M 56K 394M 1% /run/user/1000
/dev/sdb1 10G 3.6M 9.5G 1% /mnt/datastore파일이 존재하는지 확인하십시오.
짜잔!
우리는 Linux에서 XFS/Btrfs 파일 시스템의 크기를 조정하는 방법을 성공적으로 살펴보았습니다. 이 가이드를 사용하면 XFS/Btrfs 파일 시스템을 진행하고 크기를 조정할 수 있습니다. 이것이 의미 있는 일이었기를 바랍니다.
관련 게시물:
- LVM 없이 ext2/3/4 및 XFS 루트 파티션의 크기를 조정하는 방법
- OpenStack에서 Cinder 볼륨 크기를 조정/확장하는 방법
- OpenStack 인스턴스/가상 머신의 크기를 조정하는 방법









