내 잡다한 노트
LVM (Logical Volume Manager) 본문
LVM (Logical Volume Manager)란?
LVM은 Linux 시스템에서 디스크 파티션과 스토리지를 유연하게 관리하기 위한 논리적 볼륨 관리 기술입니다.
일반적인 파티션 방식보다 유연성이 뛰어나며, 스토리지 공간의 크기 조정, 스냅샷 생성, 여러 디스크의 통합 관리가 가능합니다.
리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분
LVM은 물리적 디스크의 용량을 초과해서 사용할 수는 없습니다.
논리적 이라는 용어가 붙은 이유는 데이터를 다양한 방식으로 관리할 수 있는 유연성을 강조한 것이다.
논리적으로 디스크를 여러 개의 볼륨으로 나누거나 동적으로 확장할 수 있다.
LVM의 주요 개념
- Physical Volume (PV)
- LVM에서 사용하는 기본 단위로, 물리적인 디스크나 파티션을 의미.
- 예: /dev/sdb, /dev/sdc1.
- Volume Group (VG)
- 여러 개의 Physical Volume을 결합하여 하나의 스토리지 풀로 관리.
- 예: vg01.
- Logical Volume (LV)
- Volume Group에서 할당된 공간으로, 실제로 파일 시스템을 생성하여 사용하는 단위.
- 예: /dev/vg01/lv01.
- Extent
- LVM에서 사용하는 고정 크기 블록 단위. VG와 LV의 크기는 Extent 단위로 할당됨.
LVM 구축 방법과 순서
- 필요한 디스크 준비
- LVM에 사용할 디스크나 파티션 확인.
- 예: /dev/sdb, /dev/sdc.
- Physical Volume (PV) 생성
- /dev/sdb와 /dev/sdc를 Physical Volume로 초기화.
sudo pvcreate /dev/sdb /dev/sdc
- /dev/sdb와 /dev/sdc를 Physical Volume로 초기화.
- Volume Group (VG) 생성
- PV로 생성된 디스크를 묶어 vg01이라는 Volume Group 생성.
sudo vgcreate vg01 /dev/sdb /dev/sdc
- PV로 생성된 디스크를 묶어 vg01이라는 Volume Group 생성.
- Logical Volume (LV) 생성
- vg01에서 50GB 크기의 Logical Volume lv01 생성.
- VG의 크기를 초과하지 않는 한 원하는 크기로 설정 가능.
- 전체 VG 크기를 사용할 경우 -l 100%FREE 옵션 사용.
sudo lvcreate -L 50G -n lv01 vg01
- 파일 시스템 생성
- Logical Volume에 파일 시스템을 생성 (ext4 형식).
sudo mkfs.ext4 /dev/vg01/lv01
- Logical Volume에 파일 시스템을 생성 (ext4 형식).
- 마운트 및 사용
- Logical Volume을 마운트할 디렉터리 생성:
sudo mkdir /mnt/lvm
- Logical Volume 마운트:
sudo mount /dev/vg01/lv01 /mnt/lvm
- 자동 마운트를 위해 /etc/fstab에 추가:
/dev/vg01/lv01 /mnt/lvm ext4 defaults 0 0
- Logical Volume을 마운트할 디렉터리 생성:
LVM 관리 명령어
- 현재 LVM 상태 확인
sudo pvs # Physical Volume 상태 확인sudo vgs # Volume Group 상태 확인 sudo lvs # Logical Volume 상태 확인
- Logical Volume 크기 조정
- 크기 확장:
sudo lvextend -L +10G /dev/vg01/lv01 sudo resize2fs /dev/vg01/lv01 # 파일 시스템 크기 조정
- 크기 축소(주의: 데이터 손실 가능):
sudo resize2fs /dev/vg01/lv01 sudo lvreduce -L -10G /dev/vg01/lv01
- 크기 확장:
- 새 디스크 추가
- 디스크를 추가하고 PV로 생성:
sudo pvcreate /dev/sdd
- 기존 Volume Group에 추가:
sudo vgextend vg01 /dev/sdd
- 디스크를 추가하고 PV로 생성:
- 스냅샷 생성
sudo lvcreate -L 1G -s -n snap01 /dev/vg01/lv01
- Logical Volume 제거
sudo lvremove /dev/vg01/lv01
LVM vs 일반 디스크 partitioning
LVM이 아닌 기존 방식의 경우, 디스크를 파티셔닝 한 후 OS 영역에 마운트하여 read/write를 수행한다 이 경우 저장 공간의 크기가 고정돼서 증설/축소가 어렵다.
이를 보완하기 위해 LVM을 구성할 수 있다.
LVM은 파티션 대신에 volume이라는 단위로 저장 장치를 다룬다.
스토리지의 확장, 변경에 유연하며, 크기를 변경할 때 기존 데이터의 이전이 필요 없다.
디스크를 확장시킬 때 방법을 정리하면,
- LVM 활용
- RAID 0 활용
LVM 관련 용어 및 구성
'DevOps > 리눅스' 카테고리의 다른 글
난 운영체제에 대해 잘 알고 있는가의 기준과 방향 (0) | 2024.11.05 |
---|---|
사용중인 FD의 개수 확인, 소켓 상태 현황 (0) | 2024.09.23 |
SSD Trim (0) | 2024.08.13 |
Root reserved space (0) | 2024.08.13 |
/proc , /sys (0) | 2024.08.13 |