서버 관리 · 1 min read · Feb 05, 2026

Debian Wheezy: Xen 디스크 이미지 분할 및 크기 조정

배경

내 Xen 가상 서버 중 하나는 주말 동안 400G 디스크를 분할하고 크기를 조정해야 했고, 다운타임을 최소화하고 싶었습니다. 디스크에는 240G가 사용되었고, 그 중 235G는 /backup 디렉토리에 할당되었으며, 나머지 5G는 일반 Debian Linux 설치에 전용되었습니다. 디스크를 두 개의 디스크로 분할하고 싶었습니다 - Linux 시스템을 포함하는 20GB 디스크와 /backup으로 마운트할 300G 디스크입니다. 그런 다음 DRBD 설정을 적용하여 그 300G 백업 파티션을 별도의 2차 백업 머신에 복제할 수 있었습니다.

물리적 호스트에서 많은 데이터를 복사해야 하는 상황에 처하고 싶지 않았고, 그렇게 하는 동안 가상 머신이 다운되는 것도 원하지 않았습니다.

이미지 설정

가상 머신의 디스크 이미지는 /vm/domains/b1/disk.img에 위치하고 있으며, 우리는 걱정할 필요가 없는 accompanying swap.img가 있습니다.

문제:

losetup -a

모든 사용 중인 루프 장치를 찾기 위해. 제 경우에는 /dev/loop20이 첫 번째 무료 장치였습니다. 다음으로, 이미지를 위한 루프백 장치를 설정하고 마운트하겠습니다:

mkdir -p /mnt/loop-copy-from /mnt/loop-copy-to
losetup /dev/loop20 /vm/domains/b1/disk.img
mount /dev/loop20 /mnt/loop-copy-from

새로운 빈 스파스 이미지 생성

이제 /backup을 이동하지 않고, 대신 나머지 모든 것을 새로운 20G 이미지로 이동할 것입니다. 다음과 같이 20G의 스파스 이미지 파일을 생성하겠습니다:

dd if=/dev/zero of=/vm/domains/b1/disk-root.img bs=1k count=1 seek=$(((20*1024*1024)-1))

다음으로, 새로운 루프 장치를 설정하고 파일 시스템을 생성한 다음 이 새로운 이미지를 마운트해야 합니다.

losetup /dev/loop21 /vm/domains/b1/disk-root.img
mkfs.ext3 /dev/loop21
mount /dev/loop21 /mnt/loop-copy-to

루트 파일 시스템 복사

이제 /mnt/loop-copy-from에서 /mnt/loop-copy-to로 235G 백업 디렉토리를 제외한 모든 것을 복사하겠습니다:

rsync -arplogu --exclude "/backup" --stats --progress /mnt/loop-copy-from/ /mnt/loop-copy-to

기존 파일 시스템 정리

백업 디렉토리를 제외하고 /mnt/loop-copy-from의 모든 것을 제거하고 싶습니다:

cd /mnt/loop-copy-from; ls | grep -v 'backup' | xargs rm -rf

그런 다음 두 장치를 마운트 해제합니다:

umount /mnt/loop-copy-from
umount /mnt/loop-copy-to

기존 파일 시스템 축소

이제 /dev/loop20의 크기를 400G에서 300G로 축소해야 합니다:

e2fsck -f /dev/loop20
resize2fs /dev/loop20 300G

부트 데이터 복사

그런 다음 루프백 장치를 파괴하기 전에 부트 데이터를 복사합니다:

dd if=/dev/loop20 of=/dev/loop21 bs=1 count=512
losetup -d /dev/loop20
losetup -d /dev/loop21

Xen 구성 및 VM 부팅

이제 Xen VM 구성 파일을 편집합니다. 제 경우에는 /etc/xen/b1.cfg에서 다음을 변경합니다:

disk = [
  'file:/vm/domains/b1/disk.img,xvda2,w',
  'file:/vm/domains/b1/swap.img,xvda1,w',
]

다음과 같이:

disk = [
  'file:/vm/domains/b1/disk-root.img,xvda2,w',
  'file:/vm/domains/b1/disk.img,xvda3,w',
  'file:/vm/domains/b1/swap.img,xvda1,w',
]

마지막으로:

xm create b1.cfg

링크

IO Digital Sec

Debian Wheezy XEN + 게스트 설정

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.