파일시스템 변경 (ext4 → btrfs)¶
PoC 용도로 시스템 안정성을 확보하기 위해 btrfs 파일시스템으로 변경했습니다.
목적¶
왜 btrfs인가?
- PoC 용도로 잘못된 구성 시도로 시스템이 불안정해질 수 있음
- 스냅샷 백업과 복원이 가능한
btrfs로 시스템 안정성 확보
| 용도 | 세부 내용 | 관련 기능 |
|---|---|---|
| 실시간 백업 및 복원 | Timeshift로 스냅샷 백업 및 자동 복원 | 스냅샷 (Subvolume) |
| 안정성 확보 | 문제 발생 시 즉시 이전 상태로 복구 | Rollback |
작업 절차¶
- 루트파티션(
nvme0n1p2)을 분할하여nvme0n1p3신규 생성 nvme0n1p3을btrfs로 포맷하고 서브볼륨@,@home생성- 기존 루트파티션 파일을
nvme0n1p3으로 마이그레이션 - chroot 진입
- fstab 수정
- Grub에 btrfs 부팅항목 생성
timeshift로 서브 볼륨 실시간/스케줄 백업 실행
절차¶
중요
이하 작업은 라이브USB에서 진행해야 합니다.
최신 arm 데스크탑 버전(ubuntu-25.10-desktop-arm64.iso)으로 라이브USB를 제작하세요.
1단계: 파티션 분할¶
gparted로 루트파티션(nvme0n1p2)을 줄이고 btrfs 파티션 생성:
- 기존 파티션:
nvme0n1p2- 256GB - 신규 파티션:
nvme0n1p3- 3.5TB
2단계: btrfs 서브볼륨 생성¶
서브볼륨 생성
mount /dev/nvme0n1p3 /mnt
btrfs subvolume create /mnt/@ # (1)!
btrfs subvolume create /mnt/@home
umount /mnt
timeshift로 btrfs 스냅샷을 사용하려면 루트 서브볼륨명은 반드시
@여야 합니다.
3단계: 기존 데이터 마이그레이션¶
데이터 복사
# 새 btrfs 서브볼륨 마운트
mount -o subvol=@,discard=async /dev/nvme0n1p3 /mnt
mkdir -p /mnt/home
mount -o subvol=@home,discard=async /dev/nvme0n1p3 /mnt/home
# 기존 ext4 루트 마운트
mkdir /media/old_root
mount -o ro /dev/nvme0n1p2 /media/old_root
# 데이터 복사
rsync -avxHAX --delete --progress --exclude="/home/*" /media/old_root/ /mnt/
rsync -avxHAX --delete --progress /media/old_root/home/ /mnt/home/
4단계: chroot 진입¶
이하 작업은 chroot 환경에서 진행
chroot 환경 준비
# EFI 파티션 마운트
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
# 가상 파일시스템 연결 후 chroot
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev/pts /mnt/dev/pts
chroot /mnt
5단계: fstab 수정¶
/etc/fstab 수정
# NEW_BTRFS_UUID는 lsblk -f로 확인
# 기존 ext4 루트 항목은 주석 처리
UUID=[NEW_BTRFS_UUID] / btrfs defaults,subvol=@,discard=async 0 0
UUID=[NEW_BTRFS_UUID] /home btrfs defaults,subvol=@home,discard=async 0 0
6단계: Grub 부팅항목 생성¶
7단계: EFI 부팅항목 조정¶
chroot 외부에서 실행
exit # chroot 종료
# 현재 등록된 부팅항목 조회
efibootmgr -v
# 새 부팅 항목 수동 생성
efibootmgr --create --disk /dev/nvme0n1 --part 1 \
--label "Ubuntu (BTRFS)" \
--loader "\\EFI\\Ubuntu-BTRFS\\shimaa64.efi"
# 부팅순서 조정 (새 항목이 0001인 경우)
efibootmgr --bootorder 0001