컴터둥이

[Linux] LVM(Logical Volume Manager)의 개념 및 구성 방법 본문

Linux

[Linux] LVM(Logical Volume Manager)의 개념 및 구성 방법

현또다 2023. 10. 19. 14:47

▶ LVM 이란 ?  

- 말 그대로 논리적인 볼륜 관리자라는 뜻으로, 물리적인 디스크를 논리적인 디스크로 할당하여 유연하게 관리할 수 있음

- 여러 개의 물리적 디스크 -> 하나의 논리적 디스크 or 하나의 물리적 디스크 -> 여러 개의 논리적 디스크로 사용 가능

 

* LVM vs 일반 Disk partitioning

LVM 일반 Disk partitioning

- 저장 공간의 확장, 변경에 용이함
- 크기 변경 시 기존 데이터 이전할 필요 없음
- OS 영역에 직접 접근하여 read/write 수행해야 함
- 저장 공간의 크기가 고정되어서 증설/축소 어려움

▶ LVM 의 주요 용어  

1) PV(Physical Volume, 물리적 볼륨)

실제 물리적 디스크 장치를 분할한 파티션들을 LVM에서 사용할 수 있게 변환한 것

- LVM에서 물리적 디스크 장치를 사용하기 위해서는 PV로 초기화해야 함

 

2) VG (Volume Group, 볼륨 그룹)

- PV가 모여 생성되는 집합이자 LV를 할당할 수 있는 공간

- PV들로 VG를 생성하는 것 = LV로 할당할 수 있는 디스크 공간의 풀(pool)을 생성하는 것

 

3) LV (Logical Volume, 논리적 볼륨)

- 사용자가 최종적으로 다루게 되는 논리적인 스토리지 단위

 

▶ LVM 구성 방법  

1. fdisk 명령어를 이용하여 디스크 파티셔닝 진행

- fdisk : 파티션 테이블을 관리하는 명령어로 리눅스의 디스크파티션을 생성, 수정, 삭제할 수 있는 유틸리티

fdisk –l			# 모든 디스크의 파티션 설정 현황 확인 가능

fdisk /dev/sdb			# sdb 파티션 진행

# fdisk 파티션 설정 작업 명령어
m		# 파티션의 설정 도움말을 보여줌
n 		# 새로운 파티션 생성 (p를 입력하여 primary partition 선택)
t		# 파티션 type 변경 ( 8e : Linux LVM )
w / q		# w는 저장 / q는 저장하지 않고 나가기

* p(primary 파티션)최대 4개까지 생성 가능하며, e(extend 파티션)는 primary 파티션 하나 당 4개까지 확장 가능 !

lsblk		# 모든 스토리지 디바이스(마운트 되지 않은 블럭 장치 포함) 출력

 

2. PV(물리적 볼륨) 생성

pvcreate /dev/sdb1		# LVM에 사용될 파티션 생성 위해 물리디스크 초기화
pvs				# 현재 PV 정보 확인

3. VG(볼륨 그룹) 생성

vgcreate [그룹명] /dev/sdb1		# pv를 통해 볼륨 그룹(vg) 생성
vgs					# 생성된 VG 확인

4. LV(논리적 볼륨) 생성

lvcreate –L [필요 용량] –n [lv명] /dev/[그룹명]	# 원하는 용량을 지정하여 lv 생성
lvcreate –l 100%FREE –n [lv 이름] /dev/[그룹명]	# 용량 전체 지정 시 사용
lvs						# 생성된 LV 확인

5. 파일시스템 타입 지정 및 포맷

- 생성된 LV를 바탕으로 원하는 파일시스템 타입 지정 밋 포맷 진행 (xfs, ext4 가 가장 많이 쓰임)

mkfs.xfs [경로]		# 생성한 LVM을 xfs 파일 시스템으로 포맷
mkfs.ext4 [경로]	# 생성한 LVM을 ext4 파일 시스템으로 포맷
blkid			# uid, 파일 시스템 포맷 등 디바이스의 정보 확인

6. 자동 마운트(mount) 설정

- mountpoint 생성 후 수동 마운트 진행

mkdir /root/test
mount /dev/vgtest/lvtest /root/test

 mountpoint는 휘발적이어서 리부팅하면 사라지기 때문에, vi /etc/fstab 에서 추가 필요 !

★ /etc/fstab : 파일 시스템의 정보를 저장하는 파일 (리눅스 부팅 시 마운트 정보를 저장)

vi /etc/fstab
/dev/mapper/TEST01-test01	/root/test	xfs	defaults	0 0	# mapper 추가 시
/dev/TEST01/test01		/root/test	xfs	defaults	0 0	# mapper 추가 안할 시

7. 마운트 확인

- df 명령어를 통해 마운트된 파일시스템 확인