[AWS EC2] 55. LVM 볼륨 사용하기

2021. 10. 14. 10:40AWS

반응형

ㅇ LVM 볼륨이란?

    > Logical Volume을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이자 프로그램

    > 기존 방식: 파일시스템을 블록 장치에 직접 접근해서 읽기/쓰기 수행

       LVM 방식: 파일시스템이 LVM이 만든 가상의 블록 장치에 읽기/쓰기 수행

    > 기존 방식에 비해 유연한 용량 조절, 크기 조정이 가능한 스토리지 풀(Pool), 편의에 따른 장치 이름 지정, 디스크 스트라이핑, 미러 볼륨 등을 제공

 

ㅇ 사전작업

    > EC2 생성 시 LVM 볼륨으로 사용할 볼륨도 함께 생성

 

ㅇ LVM 생성

1. PV 생성

    ** PV(Physical Volume) 블록 장치 전체 또는 블록 장치를 이루는 파티션들을 LVM에서 사용할 수 있게 변환하는 것이며, PV는 일정한 크기의 PE(Physical Extent)들로 구성이 됩니다.

        (ex. /dev/sda1, /dev/sda2 등의 블록 스토리지를 LVM으로 쓰기위해 PV로 초기화)

 

    > 볼륨이 정상적으로 연결되었는지 확인(10G, 20G 하나씩 있으므로 정상)

        lsblk

 

    > 물리 볼륨 생성(xvdb를 LVM으로 사용 예정)

        pvcreate /dev/xvdb

 

    > 물리 볼륨 생성 및 정보 확인

        pvs

 

2. VG 생성

    ** VG(Volume Group) PV들의 집합으로 LV를 할당할 수 있는 공간

 

    > 볼륨 그룹 생성(볼룸 그룹명: test)

        vgcreate test /dev/xvdb

 

    > 볼륨 그룹 생성 및 정보 확인

        vgs

 

3. LV 생성

    ** LV(Logical Volume) 사용자가 최종적으로 다루게 되는 논리적인 스토리지이며,  LV를 구성하는 LE들은 PV의 PE들과 맵핑하며 존재

 

    > 볼륨 그룹에서 파티션 생성(lv1에 10G 할당)

        lvcreate -n lv1 -L 10G test

 

    > 남은 용량을 전부 lv2로 할당

        lvcreate -l 100%FREE -n lv2 test

 

    > lsblk 명령어를 통해 /dev/mapper/ 경로에 논리 볼륨이 생성된 것을 확인할 수 있지만, 실제 위치는 /dev/test/ 에 존재

        ls /dev/mapper/

        ls /dev/test/

 

4. Mount

    ** Mount 실제로 디바이스를 사용할 수 있도록 파일시스템과 디렉토리를 할당하는 것

    > lv1과 lv2 모두 ext4 파일시스템으로 생성

        mkfs.ext4 /dev/test/lv1

        mkfs.ext4 /dev/test/lv2

 

    > LV를 마운트할 디렉토리 생성

        mkdir -p /data/lv1

        mkdir -p /data/lv2

        ls /data

 

    > 마운트한 디렉토리와 연결

        mount /dev/test/lv1 /data/lv1

        mount /dev/test/lv2 /data/lv2

        lsblk

 

ㅇ 재부팅 후에도 볼륨 상태 유지하고 싶을 경우

    > blkid 명령어를 통해 LV의 UUID와 기타 정보 획득

        blkid /dev/test/lv1

        blkid /dev/test/lv2

 

    > /etc/fstab 경로에 앞서 얻은 UUID 및 정보 기입

        vi /etc/fstab

 

    > 재부팅 이후 정상 연결 확인

        lsblk

        df -hT

반응형