LVM (logical volume manager) : 논리적 볼륨을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이자 프로그램
기존방식이 파일 시스템을 블록 장치에 직접 접근해서 읽고 쓰기를 했다면, LVM은 파일시스템이 LVM이 만든 가상의 블록장치에 읽고 쓰기를 하게 된다.
위의 그림처럼 LVM은 물리적 스토리지 이상의 추상적인 레이어를 생성해 논리적 스토리지(가상의 블록장치) 를 생성할 수 있게 해준다. 이런 방식을 사용하게 되면 갖는 이점으로는 유연성이 뛰어나다는 점이다. 용량을 확장(extend)시킬 수 있고 편의에 따라 장치 이름 지정, 디스크 스트라이핑, 미러 볼륨등등 RAID 구성도 할 수 있다.
LVM의 주요 용어로는
PV(physical volume) : LVM에서 블록 장치를 사용하려면 우선 PV로 초기화를 해야한다. 즉, 블록 장치 전체 또는
그 블록 장치를 이루고 있는 파티션들을 LVM에서 사용할 수 있게 변환하는 것이고 PV는 일정한 크기의 PE들로 구성돼있다.
PE(Physical Extent) : PV를 구성하는 일정한 크기의 블록으로 기본크기는 4MB이다.
VG(Volume group) : PV들의 집합으로 LV를 할당할 수 있는 공간이다. PV들로 초기화된 장치들은 VG로 통합되게 되고
사용자는 VG안에서 원하는대로 공간을 쪼개서 LV로 만들 수 있다.
LV(Logical volume) : 사용자가 최종적으로 다루게 되는 논리적인 스토리지이다. 생성된 LV는 파일 시스템 및 애플리케이션 등으로 사용된다. LV를 구성하는 LE들은 PV의 PE들과 맵핑하며 존재하게 된다.
LE와 PE가 맵핑 되면서 총 3가지 유형의 LV가 생성된다.
-1. 선형(Linear)LV
하나의 LV로 PV를 모으는 방법이다. 예를들어 두개의 60GB디스크(PV)를 가지고 120GB의 LV를 만드는 방식이고 LV만을 사용하는 사용자의 입장에서는 120GB의 단일 장치만 있게 되는 셈이다.
-2 스트라이프(Striped)된 LV
LV에 데이터를 기록하게되면, 파일 시스템은 PV에 데이터를 기록하게되는데(PE와 LE의 매핑대로), 스트라이프된 LV을 생성해서 데이터가 PV에 기록되는 방식을 바꿀수 있다.
대량의 순차적 읽기/쓰기 작업의 경우에 효율을 높일 수 있는 방법이다.
-3 미러(Mirrored)된 LV
이름 그대로 블록 장치에 저장된 데이터의 복사본을 다른 블록 장치에 저장하는 방식이다. 데이터가 하나의 PV에 저장될때, 이를 미러하고있는 PV에 동일한 데이터가 저장됩니다.
이를 통해 장치에 장애가 발생하게 될경우 데이터를 보호할 수 있게된다. 하나의 장치에 장애가 발생하게 되면, 선형(Linear)으로 저장되어있기에 다른 장치에서 쉽게 접근이 가능해지고, 어떤 부분이 미러를 써서 동기화되었는지에 대한 로그를 디스크에 저장하게 된다.
LE(Logical Extent) : LV를 구성하는 일정한 크기의 블록으로 기본 크기는 PE와 마찬가지로 4MB이다. 꼭 VG의 모든 공간을 다 써야되는건 아니고 각각의 LV들은 동일한 크기의 LE로 구성되며 PE들과 1:1로 맵핑이 된다.
Logilcal volume management는 디스크나 대용량 스토리지 장치를 유연하고 확장이 가능하게 다룰 수 있는 기술이며 이를 커널에 구현된 기능을 바로 LVM 라고 부른다.
전통적으로 저장 장치를 사용했던 방식은 물리 디스크를 파티션이라는 단위로 나누어서 이를 OS에 마운트하여 사용했는데, 마운트를 하려면 파티션을 특정 디렉토리와 일치시켜 주어야 했다.
LVM 은 이름처럼 파티션대신 볼륨이라는 단위로 저장 장치를 다룰 수 있으며, 물리 디스크를 볼륨 그룹으로 묶고 이것을 논리 볼륨으로 분할하여 관리한다. 스토리지의 확장이나 변경시 서비스의 변경을 할 수 있으며 특정 영역의 사용량이 많아져서 저장 공간이 부족할 경우에 유연하게 대응할 수 있다.
'리눅스' 카테고리의 다른 글
RPM , DNF (yum) (0) | 2021.03.01 |
---|---|
LVM - 실습 (2) | 2021.02.26 |
리눅스 부팅과정 및 네트워크 설정 (0) | 2021.02.24 |
아카이브 및 압축 (0) | 2021.02.23 |
RAID 이론 및 실습 (0) | 2021.02.22 |