몇년 전부터 회사에서도 

U2L 이 많이 진행되고있어

Redhat 리눅스를 많이 사용하는데

 

가장 많이 사용하게되는

디스크 볼륨구성 정리해봅니다. 

 

기존 UNIX 에서는 VxFS를

주로 사용했지만

 

리눅스에서는 기본 LVM 을

사용하고 있습니다.

 

 

 

처음엔 개념이 좀 헷갈리는데 

위의 그림만 보면 끝이예요 

 

/dev 아래 sd* 이름으로 생성된

물리적 디스크가 PV(Physical Volume)

VG는 Volume Group

LV 는 실제 마운트하는 Logical Volume

 


 

이제 서버에서 

pvs, vgs, lvs 

 

순서대로 명령어를 날려보자

한번에 이해가 될거다. 

 


 

디스크를 추가한 후

작업절차 

 

1. 파티션 작업 

# fdisk /dev/sdb
# n (신규 파티션)
# 엔터 (default)
# 엔터 (default)
# 엔터 (default)
# t (라벨 변경)
# 8e (Linux LVM)
# w (저장)

Linux LVM 으로 라벨변경은 

사실 안해도 문제는 없다. 

 

2. PV 생성

# pvcreate /dev/sdb1

디바이스 이름은

확인 후 맞게 변경하세요 

 

3. VG 생성

# vgcreate vg00 /dev/sdb1

pv가 여러개일 경우

동시에 써도 됨

 

이제 vgs 를 해보면

vg00 이라는 이름으로 

Volume Group 이 생긴걸 

확인할 수 있다. 

 

4. LV 생성

# lvcreate --size 50G --name DATA vg00

DATA 라는 이름의 LV를 

vg00 의 VG에서 만들었다. 

 

sdb 디스크를 PV로 만들고

vg00 이라는 VG 에 추가한 뒤

그 VG에서 DATA라는 LV를 만든거다. 

 


 

이제 DATA 라는 Logical Volume 의 

파일시스템을 생성하고 

마운트 하면 된다. 

 

# mkfs.ext4 /dev/vg00/DATA
# mkdir /DATA
# mount /dev/vg00/DATA /DATA

 

마운트 할 볼륨명이 

꼭 LV 이름과 같을 필요는 없다. 

 

추가로 부팅시 마운트되게 하려면

/etc/fstab 에 추가하는걸

잊지 말자. 

 


추가. VG extend, LV extend

 

# vgextend vg00 /dev/sdb2 /dev/sdc1

(해당 VG 남은용량을 DATA 에 모두 할당)
# lvextend -l +100%FREE /dev/vg00/DATA  
# resize2fs /DATA

(50GB 를 DATA에 추가)
# lvextend -L +50G /dev/vg00/DATA
# resize2fs /DATA

(DATA를 50G 로 만듬)
# lvextend -L 50G /dev/vg00/DATA
# resize2fs /DATA

볼륨을 확장하고 

lvs 로 봤을땐 늘어나 있지만 

실제 마운트된 볼륨은 그대로다 

 

이때 resize2fs 을 해주면

정상적으로 보이게 된다. 

 

마찬가지로 lvreduce 명령어를 통해

볼륨을 줄일 수 있으나 

umount 후 진행해야하고

 

그렇기 때문에 루트 볼륨을

줄이는건 온라인중 불가능하다. 

 

가급적 하지말자.. 

 

꼬이고 피곤하다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기