LVM, RAID란?

LVM과 RAID를 알아보자
윤여찬's avatar
Nov 13, 2024
LVM, RAID란?

LVM

LVM은 Logical volume(LV)을 효율적이고 유연하게 관리하기 위한 커널의 한부분이다.
notion image
LVM의 장점
  • 유연한 용량 조절
  • 크기 조절이 가능한 storage pool
  • 편의에 따른 장치 이름 지정
  • disk striping, mirror volume등을 제공

LVM의 구조

물리적 볼륨 - PV (Physical Volume)

  • 실제 디스크 장치를 분할한 파티션된 상태를의미한다.
  • PV는 일정한 크기의 PE들로 구성된다.
notion image

물리적 확장 - PE (Physical Extent)

  • PV를 구성하는 일정한 크기의 Block.
  • 보통 1PE는 4MB에 해당한다.
  • PE와 LE는 1:1로 대응한다.

볼륨 그룹 - VG (Volume Group)

  • LVM의 구성 단위인 PE가 모여서 생성되는 하나의 큰 덩어리이다.
  • 사용자는 VG를 원하는대로 쪼개서 LV로 만들게 된다.
notion image

논리적 볼륨 - LV (Logical Volume)

  • 사용자가 최종적으로 사용하는 단위로, VG에서 필요한 크기로 할당받아 LV를 생성한다.
  • 데이터를 유지한 상태에서도 디스크 확장 및 제거가 가능하다.
notion image

RAID

Redundant Array of Independent Disk (독립된 디스크의 복수 배열) 혹은 Redundant Array of Inexpensive Disk (저렴한 디스크의 복수 배열)이다. 말 그대로 RAID는 여러개의 디스크를 묶어 하나의 디스크 처럼 사용하는 기술 이다.
 

RAID 0

Striping(스트라이핑) 으로도 불리는 방식이다.
notion image
RAID 0를 구성하기 위해서는 최소 2개의 디스크가 필요하다.
RAID를 구성하는 모든 디스크에 데이터를 분할하여 저장한다.
전체 디스크를 모두 동시에 사용하기 때문에 성능은 단일 디스크의 성능의 N배 이다.
=== 마찬가지로 용량 역시 단일 디스크의 용량의 N배
하지만 하나의 디스크라도 문제가 발생 할 경우 전체 RAID가 깨지는 불상사가 발생
성능과 용량은 최대한으로 사용하는 대신, 안정성은 좋지 않다!

RAID 10 / 01

Nested RAID는 Standard RAID를 여러개 중첩하여 사용한다. 그렇기 때문에 즉, 복수의 Standard RAID를 또 RAID로 묶는다.
 
예를 들어 2개의 RAID 0를 RAID 1로 묶는다. (RAID 01) / 2개의 RAID 1을 RAID 0으로 묶는다. (RAID10)
notion image
notion image
극단적으로 RAID1과 RAID1을 묶는 경우도 있다고 한다…
notion image

RAID 10 (1+0)

데이터를 미러링(복제)한 후에 스트라이핑한다.
그림처럼 디스크가 4개가 있다면 각 두개의 디스크가 동일한 데이터로 미러링 된 쌍으로 만들어지는데 그 후에 각 쌍 간에 데이터를 스트라핑하여 배분하는 것이다.
장점
  • 각 미러링 된 디스크 중에 하나가 손상되어도 미러링 된 디스크가 그대로 유지 되니깐 안정적이다. 가용성이 좋다.
  • 고성능과 높은 내구성이 필요한 환경에 적합한 방식이다.

RAID 01 (0+1)

데이터를 먼저 스트라이핑한 후에 스트라이핑된 데이터를 미러링한다. 근데 치명적인 문제는 스트라이핑된 디스크 중 하나가 손상되면 해당 스트라이핑된 쌍 전체가 영향을 받는다…
그래서 두 개의 디스크가 손상된 것과 동일한 효과가 된다…
 
그럼… 대체 왜? 01을 쓰는거야?
 
  • RAID 01은 스트라이핑을 먼저 하고 미러링을 하니까, 처음에 데이터를 쪼개서 빠르게 저장한 후에 그걸 그대로 복사해 두기 떄문에 상대적으로 단순한 구조라서 어떤 상황에서는 구현하기 쉬울 수 있다...
  • RAID 01은 복잡한 장애 복구 기능이 적기 때문에, 정말 간단한 환경에서 저렴하게 RAID 구성을 할 때 유리할 수 있다…
그렇다 그냥 싸니깐? 그리고 구현하기 쉬우니깐? 그럴때 쓴다는거임…

그럼? 어떤 RAID가 제일 많이 쓰이는가?

RAID 구성에서 가장 중요한, 그러니까 가장 많이 쓰이고 효율적인 방식으로는 보통 RAID 1, RAID 5, 그리고 RAID 10이 꼽힌다…

RAID 1

데이터 안정성. RAID 1은 모든 데이터를 복사해 두는 방식이라, 하나의 디스크가 고장 나도 안전하게 데이터를 보호할 수 있다.
은행 거래 기록, 중요한 문서 저장소 등

RAID 5

균형 잡힌 성능과 안정성. RAID 5는 데이터를 나누어 저장하면서 패리티(오류 검출용 데이터)를 추가해 하나의 디스크가 고장 나도 복구가 가능하다… 동시에 여러 디스크에서 데이터를 읽고 쓸 수 있어서 속도도 나쁘지 않다는 장점이 있어서 제일 안전하다.
기업의 서버나 데이터 저장소에서 흔히 쓰임. 데이터 보관과 처리 속도 모두 중요할 때 적합하다.
총 이렇게 3가지가 흔히 쓰인다…
Share article

찬찬잉