H E E 2022. 1. 3. 14:48
728x90

진행한 OS

 

LVM이란?

 - Logical Volume Manager의 줄임말로, 직역하면 논리 볼륨 관리자라는 뜻이 된다.

 - 한 개 혹은 여러 개의 물리적인 디스크를 하나의 놀리적인 파일 시스템으로 구성하여 여러 개의 물리적인 디스크를 하나의 파일 시스템으로 사용하는 것 뿐만 아니라 합쳐진 것은 다시 원하는대로 여러 개의 파일 시스템으로 나눌 수도 있다.

 

LVM 용어

 1. PV (Physical Volume)

  블록 장치(ex.하드디스크) 전체 또는 블록 장치를 이루고 있는 파티션들을 LVM에서 사용할 수 있게 변환한 것이다.

  PV는 일정한 크기의 PE(Physical Extent)들로 구성된다.

 

 2. LV (Logical Volume)

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

 

 3. VG (Volume Group)

  PV들의 집합으로 LV를 할당할 수 있는 공간이다.

  PV들로 VG를 생성하는 과정은 LV로 할당할 수 있는 디스크 공간의 풀(Pool)을 생성하는 것으로 보면 된다.

  사용자는 VG 안에서 원하는대로 공간을 쪼개서 LV로 만들 수 있다.

 


LVM 적용하기

 

# 파티션 설정 현황을 확인하기
fdisk -l

# 포스팅에서 사용할 것은 xvdb 이다.

 

 

# 파티션을 생성하자
fdisk /dev/xvdb

# 아래 빨간 네모는 입력해야 하는 옵션이고,
# enter는 말 그대로 enter로 넘기면 된다. (default 값)

 

 

# 추가가 된 것을 확인하기 위해 아래 명령어를 입력한다.
fdisk -l

 

 

# pvcreate를 이용하여 pv를 생성한다.
pvcreate /dev/xvdb1

# 생성한 pv를 pvscan 혹은 pvdisplay로 확인한다.
pvscan
pvdisplay

 

 

# vgcreate를 이용하여 pv들을 묶어 vg를 생성한다.
# 사용방법
vgcreate [vg이름] [pv 생성시 사용한 경로]

# ex
vgcreate vgData /dev/xvdb1

# 생성한 vg를 vgscan 혹은 vgdisplay로 확인한다.
vgscan
vgdisplay

 

 

# lvcreate를 이용하여 LV를 생성한다.
lvcreate -l 100%FREE -n lvData vgData

# 생성한 lv를 lvdisplay로 확인한다.
lvdisplay

 

 

# mkfs를 이용하여 생성한 LV를 파일시스템 ext4로 포맷한다.
mkfs.ext4 /dev/vgData/lvData

# xfs로 포맷할경우
mkfs.xfs /dev/vgData/lvData

 

 

# lvData가 clean인지 확인한다.
fsck -y /dev/vgData/lvData

 

 

# LV를 mount 한다.
mount [lv경로] [마운트 할 위치]

# ex
mount /dev/vgData/lvData /home

# mount 후 확인
df -h
# 확인이 되지 않으면 서버 재부팅 후 확인한다.

 

 

# 부팅 시에도 mount를 유지하기 위해 /etc/fstab 설정
vi /etc/fstab

[파일시스템장치] [마운트 포인트] [파일시스템종류] [옵션] [덤프] [파일점검옵션]

# ex - ext4 포맷일경우
/dev/vgData/lvData /home                        ext4    defaults        0 0
# ex - xfs 포맷일경우
/dev/vgData/lvData /home                        xfs    defaults        0 0

# 작성 후 저장
:wq

 


LVM으로 구성된 디스크 확장

 

기존 파일 시스템 목록

 

 

자신의 파일 시스템 경로를 복사하여 마운트 포인트와 포맷 형식을 확인한다.

 

 

# 마운트 포인트가 해당하고 있는 LV가 어느 것인지 확인한다.
lvdisplay

 

 

# 마운트한 디스크가 어떤 형태인지 확인한다.
fdisk -l

# 미리 준비해 놓은 10GB 디스크로 확장을 준비한 상태 (파란색 박스: xvdc)

 

 

# fdisk에서 xvdc 디스크의 파티션을 설정해준 뒤
# 디스크 타입을 Linux에서 Linux LVM으로 변경 후 저장한다.
fdisk /dev/xvdc

 

 

# pvcreate를 이용하여 pv를 생성한다.
pvcreate /dev/xvdc1

# 생성한 pv를 pvscan 혹은 pvdisplay로 확인한다.
pvscan
pvdisplay

 

 

# 현재 vg가 어떤 구성으로 설정 되어 있는지 확인한다.
vgdisplay

 

 

# 위에서 확인한 디스크가 위치한 vg에 디스크를 증설하기 위해
# 디스크를 추가합니다(xvdc1)
vgxtend vgData /dev/xvdc1

 

 

# vg에 정상적으로 디스크가 추가 됐는지 확인한다.
vgdisplay

 

 

# lv에 해당 디스크의 남은 공간을 추가해준다.
# LVM 디스크 경로는 df -h 명령어로 확인할 수 있다.
# lvextend -l +100%FREE [LVM디스크경로]

# ex
lvextend -l +100%FREE /dev/vgData/lvData

 


resize 시키기

 - 본인이 설정한 포맷 형식대로 맞춰서 진행한다.

# ext4 포맷인 경우
resize2fs /dev/vgData/lvData

# xfs 포맷인 경우
xfs_growfs /dev/vgData/lvData

xfs 포맷이 아닌데 xfs 형식으로 진행해서 되지 않는다.

ext4 포맷이라 resize2fs로 진행하니 잘 된다.

 

 

# 정상적으로 resizing이 됐다면 디스크 용량이 확장됐는지 확인한다.
df -h

 

728x90
반응형