6장. 디스크 관리와 사용자별 공간 할당 (9) - LVM(Logical Volume Manage)

728x90
반응형

출처 : https://www.youtube.com/watch?v=eb2cDW-zXlI&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=42

 

LVM(Logical Volume Manage) 개념

 

LVM의 주요 기능

  • 논리 디스크 관리자
  • 여러 개의 하드 디스크를 합쳐서 1개의 파티션으로 구성한 후 다시 필요에 따라 다시 나눌 수 있다.
  • ex) 2TB 용량의 하드 디스크 2개를 합친 후에 다시 1TB와 3TB로 나눠서 사용할 수 있다.

 

용어 : LVM을 이해하려면 3가지 새로운 용어를 알아야 한다.

  • 물리 볼륨 (Physical Volume) : /dev/sda1, /dev/sdb1 등의 파티션
  • 볼륨 그룹 (Volume Group) : 물리 볼륨을 합쳐서 1개의 물리 그룹으로 만드는 것
  • 논리 볼륨 (Logical Volume) : 볼륨 그룹을 1개 이상으로 나눠서 논리 그룹으로 나눈 것

 

위 그림을 보면 물리 볼륨 2TB와 3TB, 2개의 디스크를 합쳐서 5TB의 볼륨 그룹으로 만들었다. 그리고 5TB의 볼륨 그룹을 다시 1TB, 3TB, 1TB의 논리 볼륨으로 분할해 각각 /lvm1, /lvm2, /lvm3 디렉토리에 마운트했다.

 

즉, LVM은 여러 개의 디스크(물리 볼륨)을 묶어서 1개의 볼륨 그룹으로 만든 후 다시 필요한 용량의 파티션(논리 볼륨)으로 나눠서 사용하는 방식이다.

 

 

LVM 구현

실습 목표

  • LVM을 구현한다.
  • 관련 명령어 pvcreate, vgcreate, lvcreate 를 익힌다.

 

실습

 

  1. fdisk를 진행할 때, 파일 시스템 유형을 8e(Linux LVM)으로 진행한다.
  2. pvcreate 명령을 입력해 /dev/sdb1과 /dev/sdc1을 물리 볼륨으로 만든다.
  3. vgcreate 명령을 입력해 물리 볼륨들(/dev/sdb1, /dev/sdc1)을 하나의 볼륨 그룹(/dev/myVG)으로 만든다.
  4. lvcreate 명령을 입력해 볼륨 그룹을 각각의 논리 볼륨(/dev/myVG/myLG1~3)으로 만든다.
  5. 각 논리 볼륨의 파일 시스템을 생성한다(=formating).
  6. 논리 볼륨들을 각 디렉토리에 마운트 한다.
  7. /etc/fstab에 등록한다.

 

 

server 가상 머신을 '설정 완료' 단계로 초기화하고 Edit Virtual Machine Settings로 들어가 3GB, 2GB 하드 디스크를 1개씩 생성한다.

 

가성 머신 초기화 방법은 아래글 참고.

 

Snapshot을 활용한 가상머신 초기화

출처 : https://www.youtube.com/watch?v=m7yJ7xyfSsI 해당 실습을 진행하기에 앞서 VMware player는 완전히 종료되어있어야 한다. VMware workstation을 실행한다. File -> Open 메뉴를 클릭한 다음 우리가 초기화시킬 가

zangwoo.tistory.com

 

부팅하고 root 사용자로 로그인한다.

 

새로 장착한 SCSI 하드디스크 2개(/dev/sdb, /dev/sdc)에 파티셔닝을 진행한다.

 

fdisk /dev/sdb -> /dev/sdb SCSI 하드 디스크 partitioning
fdisk /dev/sdc -> /dev/sdc SCSI 하드 디스크 partitioning

 

파일 시스템 유형을 8e(Linux LVM)으로 지정해준다. /dev/sdb와 /dev/sdc 둘 다 동일하게 설정해주면 된다.

Command : n -> 새로운 파티션 분할
Select : p -> Primary 파티션 선택
Partition number (1-4) : 1 -> 파티션 번호 1번 선택(디폴트가 1번으로 되어있으므로 그냥 enter 해도 됨)
First sector : Enter -> 시작 섹터 번호 입력 (디폴트 값)
Last sector : Enter -> 마지막 섹터 번호 입력 (디폴트 값)
Command : t -> 파일 시스템 유형 선택
Hex Code : 8e -> Linux LVM 파일 시스템 선택
Command : p -> 설정된 내용 확인 (Type이 Linux LVM 인지 확인)
Command : w -> 저장

 

 

ls -l /dev/sd* 명령을 입력하면 /dev/sdb1과 /dev/sdc1이 잘 만들어진 것을 확인할 수 있다.

 

 

pvcreate 명령을 입력해 /dev/sdb1과 /dev/sdc1을 물리 볼륨으로 만든다.

pvcreate /dev/sdb1
pvcreate /dev/sdc1

 

 

vgcreate 명령을 사용해 새로 생성한 물리 볼륨 2개(/dev/sdb1, /dev/sdc1)을 묶어서 볼륨 그룹(myVG)을 만든다.

 

vgdisplay 명령을 입력하면 우리가 만든 볼륨 그룹의 정보를 볼 수 있다. 보면 2개의 물리 볼륨(Cur PV)으로 묶인 5GB(2GB + 3GB) 용량을 가진 볼륨 그룹이라는 것을 확인할 수 있다.

vgcreate myVG /dev/sdb1 /dev/sdc1
vgdisplay

 

 

lvcreate 명령을 입력해 볼륨 그룹(myVG)을 3개의 논리 볼륨(myLG1~3)으로 나눈다. 볼륨 그룹을 3개의 파티션으로 나누는 개념이다.

lvcreate --size 1G --name myLG1 myVG -> myLG1이라는 1GB 용량의 논리 볼륨 생성
lvcreate --size 3G --name myLG2 myVG -> myLG2라는 3GB 용량의 논리 볼륨 생성
lvcreate --extents 100%FREE --name myLG3 myVG -> 남은 용량으로 myLG3 논리 볼륨 생성

 

ls -l 명령으로 볼륨 그룹 안을 확인한다. 우리가 만든 3개의 논리 볼륨으로 구성되어있다.

ls -l /dev/myVG

 

 

각 논리 볼륨의 파일 시스템을 생성한다.

mkfs.ext4 /dev/myVG/myLG1
mkfs.ext4 /dev/myVG/myLG2
mkfs.ext4 /dev/myVG/myLG3

 

 

새로운 디렉토리를 3개(/lvm1, /lvm2, /lvm3)를 생성하고 각 논리 볼륨들을 해당 디렉토리에 마운트한다.

mkdir /lvm1 /lvm2/ lvm3
mount /dev/myVG/myLG1 /lvm1
mount /dev/myVG/myLG2 /lvm2
mount /dev/myVG/myLG3 /lvm3

 

 

적당한 파일을 아무거나 하나씩 복사한다.

 

 

df 명령을 통해 논리 볼륨과 각 논리 볼륨의 여유 공간을 확인한다.

 

 

부팅을 해도 현 상태가 유지되도록 만들기 위해 /etc/fstab 파일을 수정한다.

gedit /etc/fstab

/dev/myVG/myLG1	/lvm1	ext4	defaults	0	0
/dev/myVG/myLG2	/lvm2	ext4	defaults	0	0
/dev/myVG/myLG3	/lvm3	ext4	defaults	0	0

 

 

재부팅을 하고 다시 확인해보면 재부팅하기 전과 동일한 환경이 구성된다.

728x90
반응형