[42Seoul] LVM, RAID

sejin3319·2022년 6월 29일
0

42Seoul

목록 보기
2/3
post-thumbnail

리눅스에서 하드 디스크 관리

리눅스에서는 디스크를 효율적으로 관리하고 사용하는 방법

  • LVM(Logical Volume Manager)
  • RAID(Redundant Array of Independent Disk)

두 가지 방법 모두 여러개의 디스크를 묶어 하나의 디스크 처럼 사용하는 기술

  • H/W 구현 - RAID
  • OS 구현 - LVM

LVM(Logical Volume Manager) 란

LVM은 독립적으로 구성된 디스크 파티션을 하나로 연결하여 한 파티션처럼 사용할 수 있도록 해주어 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이다.

Partition

디스크의 공간을 논리적으로 분할한 공간
한 개의 물리적인 디스크 저장장치를 여러 독립적인 공간으로 구분한다.

  • 주 파티션 :
    • Max 4개
    • 4개 이상 필요할 경우 확장/논리 추가
    • 부팅 가능한 파티션
  • 확장 파티션 :
    • 논리적 파티션으로 세분화 시킬 수 있는 공간
    • 주 파티션에서 1개만 생성 가능
    • 주 파티션을 사용해 확장 (주 파티션:3 확장:1)
  • 논리 파티션 :
    • 확장 파티션 안에서 생성
    • 데이터 저장 가능
    • Max 12개 물리 디스크가 아니라 가상 디스크로 사용
    • 파티션 번호는 5번 이후 사용
  • 스왑 파티션
    • 리눅스에서 하드디스크의 일부를 메모리처럼 사용 (window에서는 Paging)
    • 주 파티션 또는 논리 파티션 내에 생성
    • 프로그램 실행 시 부족한 메모리 용량을 하드디스크로 대신

Volume

볼륨이란 단일 파일 시스템이 있는 접근 가능한 단일 저장소 영역
파티션과 마찬가지로 데이터 저장 단위 이지만 두 가지는 다르다.

볼륨은 하드디스크, SSD, RAID 같은 물리적 공간을 의미한다.

많이들 파티션과 볼륨을 혼용하지만

  • 파티션 : 물리 공간에서 나뉜 각각의 저장공간
  • 볼륨 : 파티션을 포함한 물리 저장공간 모두를 아우른다.

Windows OS에서 볼륨과 파티션의 차이점은 무엇입니까? - https://www.minitool.com/partition-disk/volume-vs-partition.html

LVM 사용 이유

LVM 파티션을 논리적으로 개념인 볼륨으로 나눠서 더 유동적으로 디스크의 용량을 관리할 수 있다.

LVM 없는 경우

LVM이 없는 경우에 물리 디스크를 파티션이라는 단위로 나누어서 이를 OS mount 하여 사용 하였다.

이 경우 특정 파티션(ex) /home이 가득 찼다면
1. 추가 디스크 장착
2. 추가된 디스크에 파티션 생성 및 포맷
3. 새로운 마운트 포인트(/home2) 를 만들고 추가한 파티션을 마운트
4. 기존 home 데이타를 home2 에 복사 또는 이동
5. 기존 home 파티션을 언마운트(umount)
6. home2 를 home 으로 마운트

이러한 번거로운 작업을 수행해야 된다.

LVM 사용

LVM은 물리 디스크를 볼륨 그룹으로 묶고 이것을 논리 볼륨을 분할하여, 저장공간의 확장이나 변경시
1. 추가 디스크 장착
2. 추가된 디스크에 파티션을 만들어서 물리 볼륨(PV) 생성
3. 물리 볼륨을 볼륨 그룹(VG)에 추가. 여기서는 vg_data 볼륨 그룹으로 추가합니다.
4. /home 이 사용하는 논리 볼륨인 lv_home의 볼륨 사이즈를 증가
기존 데이터의 삭제나 이동 없이 서비스가 구동중인 상태에서 이렇게 유연하게 대응할 수 있다.

LVM 관련 용어

  • PV(physical volum) : /dev/sdb1, /dev/sdb2 같은 실제 하드디스크의 파티션을 의미 (하드 디스크, ssd)

  • VG(volume group) : 여러 개의 PV를 그룹으로 묶은 것을 뜻한다. 예를 들어 /dev/sdb1, /dev/sdb2가 GRP1이라는 그룹을 만들 때 GRP1을 VG라고 함

  • LV(logical volume) : VG를 다시 적절한 크기의 파티션으로 나눌 때 각 파티션을 LV라고 함

  • PE(physical extent) : PV가 가진 일정한 블록을 의미

  • LE(logical extent) : LV가 가진 일정한 블록을 의미

LVM 동작 방식

1. n개의 물리디스크와 파티션들이 존재

2. PV를 하나의 VG로 묶어준다

3. VG로 묶인 PV는 하나의 디스크 처럼 사용 할 수 있다.


물리적 디스크 1, 2는 VG1에서 사용자가 원하는 크기대로 분할하여 LV1, 2를 만들었다.


LVM 관련 명령어 : https://lascrea.tistory.com/1?category=810911
이미지 및 참고 : https://kit2013.tistory.com/199

0개의 댓글