LVM 가이드 · 8 min read · Sep 22, 2025
LVM 초보자 가이드
버전 1.0
저자: Falko Timme
최종 업데이트: 2015-02-09
이 가이드는 Linux에서 LVM(논리 볼륨 관리)를 사용하는 방법을 보여줍니다. 또한 RAID1과 함께 LVM을 사용하는 방법을 추가 장에서 설명합니다. LVM은 다소 추상적인 주제이므로, 이 문서에는 다운로드하여 시작할 수 있는 Debian Etch VMware 이미지가 포함되어 있으며, 해당 Debian Etch 시스템에서 제가 여기서 실행하는 모든 명령을 실행하고 결과를 비교할 수 있습니다. 이러한 실용적인 접근 방식을 통해 LVM에 빠르게 익숙해질 수 있을 것입니다.
그러나 이 튜토리얼이 귀하에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 튜토리얼은 제가 읽은 두 개의 기사에서 영감을 받았습니다:
- http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html
- http://www.debian-administration.org/articles/410
이들은 훌륭한 기사이지만, LVM을 사용해본 적이 없다면 이해하기 어려울 수 있습니다. 그래서 제가 다운로드하여 VMware Server 또는 VMware Player에서 실행할 수 있는 Debian Etch VMware 이미지를 만들었습니다(방법은 https://www.howtoforge.com/import_vmware_images를 참조하세요).
이 가이드의 과정에서 필요한 모든 도구를 Debian Etch 시스템에 설치했습니다(다음 명령을 실행하여):
apt-get install lvm2 dmsetup mdadm reiserfsprogs xfsprogs따라서 이에 대해 걱정할 필요가 없습니다.
Debian Etch 시스템의 네트워크는 DHCP를 통해 구성되어 있으므로 IP 주소 충돌에 대해 걱정할 필요가 없습니다. 루트 비밀번호는 howtoforge입니다. PuTTY와 같은 SSH 클라이언트를 사용하여 해당 시스템에 연결할 수도 있습니다. Debian Etch 시스템의 IP 주소를 확인하려면 다음 명령을 실행하세요:
ifconfig시스템에는 여섯 개의 SCSI 하드 디스크가 있습니다: /dev/sda - /dev/sdf. /dev/sda는 Debian Etch 시스템 자체에 사용되며, /dev/sdb - /dev/sdf는 LVM 및 RAID에 사용됩니다. /dev/sdb - /dev/sdf 각각은 80GB의 디스크 공간을 가지고 있습니다. 처음에는 각 디스크가 25GB의 디스크 공간만 있는 것처럼 행동할 것이며(따라서 각 디스크에서 25GB만 사용), 튜토리얼 진행 중에 25GB 하드 디스크를 80GB 하드 디스크로 “교체”하여 LVM에서 작은 하드 디스크를 더 큰 하드 디스크로 교체하는 방법을 보여줄 것입니다.
기사 http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html에서는 250GB 및 800GB 하드 디스크를 사용하지만, pvmove와 같은 일부 명령은 이러한 하드 디스크 크기에서 오랜 시간이 걸리므로 25GB 및 80GB 하드 디스크를 사용하기로 결정했습니다(이것은 LVM이 작동하는 방식을 이해하는 데 충분합니다).
1.1 요약
이 Debian Etch VMware 이미지를 다운로드(~310MB)하고 다음과 같이 시작하세요. 비밀번호 howtoforge로 root로 로그인합니다.
2 LVM 레이아웃
기본적으로 LVM은 다음과 같습니다:
하나 이상의 물리적 볼륨(/dev/sdb1 - /dev/sde1)과 이러한 물리적 볼륨에서 하나 이상의 볼륨 그룹(예: fileserver)을 생성하고 각 볼륨 그룹에서 하나 이상의 논리 볼륨을 생성합니다. 여러 개의 물리적 볼륨을 사용하는 경우 각 논리 볼륨은 기본 물리적 볼륨 중 하나보다 클 수 있습니다(하지만 물론 논리 볼륨의 합계는 물리적 볼륨이 제공하는 총 공간을 초과할 수 없습니다).
논리 볼륨에 전체 공간을 할당하지 않고 일부 공간을 비워두는 것이 좋습니다. 그렇게 하면 필요할 경우 나중에 하나 이상의 논리 볼륨을 확장할 수 있습니다.
이 예제에서는 fileserver라는 볼륨 그룹을 만들고, /dev/fileserver/share, /dev/fileserver/backup 및 /dev/fileserver/media라는 논리 볼륨을 생성할 것입니다(현재는 물리적 볼륨이 제공하는 공간의 절반만 사용합니다 - 그렇게 하면 나중에 RAID1로 전환할 수 있습니다(이 튜토리얼에서도 설명됨)).
3 우리의 첫 번째 LVM 설정
하드 디스크에 대해 알아봅시다:
fdisk -l출력은 다음과 같습니다:
server1:~# fdisk -l
디스크 /dev/sda: 21.4 GB, 21474836480 바이트
255 heads, 63 sectors/track, 2610 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
디스크 /dev/sdb: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
디스크 /dev/sdb에는 유효한 파티션 테이블이 없습니다
디스크 /dev/sdc: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
디스크 /dev/sdc에는 유효한 파티션 테이블이 없습니다
디스크 /dev/sdd: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
디스크 /dev/sdd에는 유효한 파티션 테이블이 없습니다
디스크 /dev/sde: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
디스크 /dev/sde에는 유효한 파티션 테이블이 없습니다
디스크 /dev/sdf: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
디스크 /dev/sdf에는 유효한 파티션 테이블이 없습니다/dev/sdb - /dev/sdf에는 아직 파티션이 없습니다. 우리는 /dev/sdb1, /dev/sdc1, /dev/sdd1 및 /dev/sde1 파티션을 생성하고 현재는 /dev/sdf를 그대로 두겠습니다. 현재는 하드 디스크가 80GB가 아닌 25GB의 공간만 있는 것처럼 행동하므로, /dev/sdb1, /dev/sdc1, /dev/sdd1 및 /dev/sde1에 25GB를 할당합니다:
fdisk /dev/sdbserver1:~# fdisk /dev/sdb
이 디스크의 실린더 수는 10443으로 설정되어 있습니다.
그건 잘못된 것이 아니지만, 이는 1024보다 크며,
특정 설정에서는 다음과 같은 문제를 일으킬 수 있습니다:
- 부팅 시 실행되는 소프트웨어(예: 오래된 LILO 버전)
- 다른 OS에서 부팅 및 파티셔닝 소프트웨어(예: DOS FDISK, OS/2 FDISK)
명령(m은 도움말): <– m
명령 작업
a 토글 부팅 가능 플래그
b bsd 디스크 레이블 편집
c dos 호환성 플래그 토글
d 파티션 삭제
l 알려진 파티션 유형 나열
m 이 메뉴 인쇄
n 새 파티션 추가
o 새 빈 DOS 파티션 테이블 생성
p 파티션 테이블 인쇄
q 변경 사항을 저장하지 않고 종료
s 새 빈 Sun 디스크 레이블 생성
t 파티션의 시스템 ID 변경
u 표시/입력 단위 변경
v 파티션 테이블 확인
w 테이블을 디스크에 기록하고 종료
x 추가 기능(전문가 전용)
명령(m은 도움말): <– n
명령 작업
e 확장
p 기본 파티션(1-4)
<– p
파티션 번호(1-4): <– 1
첫 번째 실린더(1-10443, 기본값 1): <–
기본값 1 사용
마지막 실린더 또는 +크기 또는 +크기M 또는 +크기K(1-10443, 기본값 10443): <– +25000M
명령(m은 도움말): <– t
선택된 파티션 1
헥스 코드(코드 나열을 위해 L 입력): <– L
0 비어 있음 1e 숨겨진 W95 FAT1 80 구형 Minix be Solaris 부팅
1 FAT12 24 NEC DOS 81 Minix / 구형 Lin bf Solaris
2 XENIX 루트 39 Plan 9 82 Linux swap / So c1 DRDOS/sec(FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec(FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 숨겨진 C: c6 DRDOS/sec(FAT-
5 확장 41 PPC PReP 부팅 85 Linux 확장 c7 Syrinx
6 FAT16 42 SFS 86 NTFS 볼륨 세트 da 비 FS 데이터
7 HPFS/NTFS 4d QNX4.x 87 NTFS 볼륨 세트 db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux 평문 de Dell 유틸리티
9 AIX 부팅 가능 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 부팅 관리자 50 OnTrack DM 93 Amoeba e1 DOS 접근
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI(FAT-12/16/
11 숨겨진 FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq 진단 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 숨겨진 FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 숨겨진 FAT16 63 GNU HURD 또는 Sys ab Darwin 부팅 f2 DOS 보조
17 숨겨진 HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI 스왑 fe LANstep
1b 숨겨진 W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c 숨겨진 W95 FAT3 75 PC/IX
헥스 코드(코드 나열을 위해 L 입력): <– 8e
파티션 1의 시스템 유형이 8e(Linux LVM)로 변경되었습니다.
명령(m은 도움말): <– w
파티션 테이블이 변경되었습니다!
ioctl()를 호출하여 파티션 테이블을 다시 읽습니다.
디스크 동기화 중입니다.
이제 /dev/sdc - /dev/sde 하드 디스크에 대해 동일한 작업을 수행합니다:
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde그런 다음 다시 실행합니다:
fdisk -l출력은 다음과 같아야 합니다:
server1:~# fdisk -l
디스크 /dev/sda: 21.4 GB, 21474836480 바이트
255 heads, 63 sectors/track, 2610 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
디스크 /dev/sdb: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdb1 1 3040 24418768+ 8e Linux LVM
디스크 /dev/sdc: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdc1 1 3040 24418768+ 8e Linux LVM
디스크 /dev/sdd: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdd1 1 3040 24418768+ 8e Linux LVM
디스크 /dev/sde: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sde1 1 3040 24418768+ 8e Linux LVM
디스크 /dev/sdf: 85.8 GB, 85899345920 바이트
255 heads, 63 sectors/track, 10443 cylinders
단위 = 16065 * 512 = 8225280 바이트의 실린더
디스크 /dev/sdf에는 유효한 파티션 테이블이 없습니다이제 LVM을 위해 새로운 파티션을 준비합니다:
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
물리적 볼륨 "/dev/sdb1"이(가) 성공적으로 생성되었습니다.
물리적 볼륨 "/dev/sdc1"이(가) 성공적으로 생성되었습니다.
물리적 볼륨 "/dev/sdd1"이(가) 성공적으로 생성되었습니다.
물리적 볼륨 "/dev/sde1"이(가) 성공적으로 생성되었습니다.훈련 목적으로 마지막 작업을 되돌려 보겠습니다:
pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
물리적 볼륨 "/dev/sdb1"의 레이블이 성공적으로 지워졌습니다.
물리적 볼륨 "/dev/sdc1"의 레이블이 성공적으로 지워졌습니다.
물리적 볼륨 "/dev/sdd1"의 레이블이 성공적으로 지워졌습니다.
물리적 볼륨 "/dev/sde1"의 레이블이 성공적으로 지워졌습니다.그런 다음 다시 실행합니다:
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1다시:
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
물리적 볼륨 "/dev/sdb1"이(가) 성공적으로 생성되었습니다.
물리적 볼륨 "/dev/sdc1"이(가) 성공적으로 생성되었습니다.
물리적 볼륨 "/dev/sdd1"이(가) 성공적으로 생성되었습니다.
물리적 볼륨 "/dev/sde1"이(가) 성공적으로 생성되었습니다.이제 다음을 실행합니다:
pvdisplay물리적 볼륨의 현재 상태를 확인합니다:
server1:~# pvdisplay
--- NEW 물리적 볼륨 ---
PV 이름 /dev/sdb1
VG 이름
PV 크기 23.29 GB
할당 가능 여부 NO
PE 크기(KByte) 0
총 PE 0
여유 PE 0
할당된 PE 0
PV UUID G8lu2L-Hij1-NVde-sOKc-OoVI-fadg-Jd1vyU
--- NEW 물리적 볼륨 ---
PV 이름 /dev/sdc1
VG 이름
PV 크기 23.29 GB
할당 가능 여부 NO
PE 크기(KByte) 0
총 PE 0
여유 PE 0
할당된 PE 0
PV UUID 40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B
--- NEW 물리적 볼륨 ---
PV 이름 /dev/sdd1
VG 이름
PV 크기 23.29 GB
할당 가능 여부 NO
PE 크기(KByte) 0
총 PE 0
여유 PE 0
할당된 PE 0
PV UUID 4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2YJN5B
--- NEW 물리적 볼륨 ---
PV 이름 /dev/sde1
VG 이름
PV 크기 23.29 GB
할당 가능 여부 NO
PE 크기(KByte) 0
총 PE 0
여유 PE 0
할당된 PE 0
PV UUID 3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.