22일차

장민우·2024년 4월 25일

논리 볼륨(Logical Volume)관리


논리 볼륨은 일반적인 스토리지 관리 방식보다 유연한 스토리지 관리 기능을 제공한다.

  • 물리볼륨(Physical Volueme, PV) : LVM에서 디스크를 관리하기 위한 기본적인 단위

  • 볼륨그룹(Volume Group, VG) : 1개 이상의 PV로 구성된 PV의 집합. LV에 디스크 용량을 제공.

  • 논리볼륨(Logical Volume, LV) : LVM에서 데이터를 저장할 때 사용하는 볼륨

    • 장치 파일 이름 형식 : /dev/VG_NAME/LV_NAME
      /dev/mapper/VG_NAME-LV_NAME


  • PE(Physical Extent) : PV에서 사용되는 기본 데이터 저장 단위. 기본값 4MB
    $vgdisplay - 볼륨그룹 상태확인 명령어
  • LE(Logical Extent) : LV에서 사용되는 기본 데이터 저장 단위.(일반적으로 PE와 LE는 1:1로 매핑됨)
    $lvdisplay - 논리볼륩 상태확인 명령어

    PE와 LE는 1:1로 매핑되기 때문에
    PE(4MB)가 256개있기 때문에 LV Size 1GB가 된다.
  • LVM 디스크 작업 순서(LV구성)
    (1) PV 생성(pvcreate)
    (2) VG 생성(vgcreate)
    (3) LV 생성(lvcreate)

  • LVM 디스크 제거 순서(LV 삭제)
    (1)LV 제거 (lvremove)
    (2)VG 제거 (vgremove)
    (3)LV 제거 (pvremove)

  • LVM으로 디스크 작업 순서(LV 구성)

(1) 새로운 디스크 추가(기본적으로 Power OFF 상태에서 디스크 추가 후 부팅)

(2) 파티셔닝 - fdisk (System ID를 8e "Linux LVM"으로 변경)

(2-1) 파티션 정보 강제 갱신 $ partprobe

(3) *LV 생성 과정*
(3-1)$pvcreate DEVICE

(3-2)$vgcreate VG_NAME PV_DEVICE...


-s SIZE : PE SIZE 지정

(3-3)$ lvcreate -n LV_NAME -L 용량 VG_NAME

LE개수 지정하여 LV 생성
$lvcreate -n LV_NAME -l LE_NUM VG_NAME

(4) 파일시스템 초기화 - mkfs

(5) 마운트(시스템에서 파티션을 사용하여 데이터를 저장할 수 있도록연결하는 과정)


  • 삭제
    $pvremove physical-volume1 physical-volume2 ... - 물리 볼륨 삭제.
    $vgremove volume-group-name - 볼륨 그룹 삭제.
    $lvremove logical-volume-path - 논리 볼륨 삭제.

ex)삭제 과정

확장


  • 주의 : 볼륨그룹의 여유 공간이 있어야 함.

(1)논리 볼륨 확장 - 디스크의 용량은 늘어나지만, 파일시스템 초기설정의 용량으로 남아있는다. (파일시스템 확장 필요.)
$lvextend - L CAPACITY LV_DEVICE

  • 숫자만 입력하는 경우(절대용량) : 해당 숫자 만큼의 절댁값으로 용량/LE개수 지정
  • "+숫자" 입력하는 경우(상대용량) : 현재 용량 + 숫자 만큼의 용량/LE개수를 추가하여 용량 확장

$lvextend -l LE_NUM LV_DEVICE

-l +100%FREE : VG에 남은 용량 전체(100%)를 추가하여 LV 확장


(2) 파일시스템 확장

EXT 계열 파일시스템 확장
$resize2fs LV_DEVICE

XFS 파일시스템 확장
$xfs_growfs LV_DEVICE

$blikid LV_DEVICE - blikid 명령어로 파일시스템 타입을 확인할 수 있다.

LV 및 파일시스템 한번에 확장
$lvextend -L CAPACITY LV_DEVICE -r
$lvextend -l LE_NUM LV_DEVICE -r

  • 볼륨그룹 확장
    $vgextend VG_NAME PV_DEVICE



    def-h

    lsblk

  • 볼륨그룹 축소
    (1)볼륨그룹에서 PV 제거 전 데이터를 옮기기
    $pvmove 데이터를_옮겨야_하는_PV

(2)PV를 볼륨그룹으로부터 제거
$vgreduce VG_NAME PV_DEVICE

만약 pv에 여분의 용량이 남아있지 않는다면 sde2의 데이터가 옮겨지지 않고 에러가 난다.

(3)PV제거
$pvremove PV_DEVICE
업로드중..

0개의 댓글