1. 스왑 메모리란?

리눅스에서 메모리를 확인하는 free 명령어를 사용하면, 다음과 같은 결과를 확인할 수 있다.

free -h

크게보면 '메모리'와 '스왑'으로 나뉜다.
'메모리'는 물리메모리(RAM),
'스왑'은 가상메모리(HDD/SDD 등)를 의미한다.

'스왑'은 시스템의 물리 메모리가 부족할 때, 가용 메모리를 논리적으로 확장시키기 위한 메모리이다.

HDD/SDD에 데이터를 옮기는 swap in/out 과정을 거치다보니, 물리메모리에 비해 속도가 느리다.

2. 스왑 메모리 설정 방법(파일 방식)

스왑메모리를 설정하는 방법은 파일 방식과 파티션 방식이 있다.
아래는 파일 방식으로 스왑 메모리를 설정하는 방법이다.

1) 활성화 된 스왑메모리 확인

swapon --show

 

2) 전체 스왑메모리 비활성화(전체)

swapoff -a

 

3) 스왑메모리 파일 생성(크기 : 10G, 경로 : /, 파일명 : swapfile)

fallocate -l 10G /swapfile

 

4) 스왑메모리 권한 설정

chmod 600 /swapfile

 

5) 스왑 메모리 영역 적용

mkswap /swapfile

 

6) 스왑 메모리 활성화(전체)

swapon -a

 

7) 재부팅 상관없이 스왑메모리 설정 영구 적용

vi /etc/fstab

#해당 파일 맨 아래줄에 다음의 소스 추가
/swapfile none swap sw 0 0

 

번외)

# 스왑메모리파일 용량 변경 fallocate -l {변경용량} {기존스왑메모리파일 경로}
swapoff -a
fallocate -l 4G /swapfile
mkswap /swapfile
swapon -a

# 스왑 메모리 삭제
swapoff -a
rm -f /swapfile

 

참조: 
https://byungwoo.oopy.io/6971d74b-e13b-4e45-b855-ef891e29c260
http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=290

1. 리눅스 LVM(Logical Volume Manager)이란?

시스템 용량을 효율적이고 유연하게 관리하기 위해 리눅스 커널이 제공하는 저장장치관리 기능.


2. LVM 구성

LVM은 물리장치(물리디스크) > 파티션 > PV(Physical Volume) > VG(Volume Group) > LV(Logical Volume)의 순서대로
계층적인 구성요소들로 이루어진다.

▲ LVM 구성도

1) 물리장치 : 실제로 서버에 연결된 HDD, SSD 등의 물리디스크 저장장치
2) 파티션 : 물리디스크를 논리적으로 구역화한 것.
3) PV(Physical Volume) : 파티션들을 LVM에서 사용할 수 있게 변환(초기화) 한 것.
4) VG(Volume Group) : 하나 이상의 PV가 모여서 이루어진 집합.
5) LV(Logical Volume) : 사용자가 실제로(최종적으로) 사용하게 되는 논리적인 스토리지

 

3. LVM 용량증설 방법

리눅스 서버용량 증설시, 아래의 순서로 진행된다.

디스크 추가 -> 디스크 파티셔닝 -> PV생성 -> VG확장 -> LV확장 -> 파일시스템 resize



1) 물리디스크 추가 및 확인
물리디스크를 추가한 후, 리눅스 명령어 로 확인한다.
아래 캡쳐에서는 "/dev/xvdf"라는 물리디스크가 파티셔닝 되지 않을 것을 확인할 수 있다.

fdisk -l

 

2) 디스크 파티셔닝
추가한 물리디스크를 파티셔닝 한다.

fdisk /dev/xvdf  // 물리디스스크 /dev/xvdf를 파티셔닝한다
n                // 신규 파티션 생성
p                // 설정된 파티션 조회
t                // 파티션 시스템 id변경
8e               // 리눅스 LVM type Code로 변경
w                // 저장


3)  PV생성
기존 pv를 확인한 후, pv를 생성한다. pv생성 후 추가된 pv를 확인한다.

pvs
pvcreate /dev/xvdf1
pvs

 

 

4) VG확장
기존에 사용중인 VG에 새로 추가한 PV를 추가하여 확장한다.

vgs                             // 기존 vg확인
pvs                             // 추가할 pv확인
vgextend storage2 /dev/xvdf1    // storage2라는 vg에 /dev/xvdf1이라는 pv를 추가
vgs                             // 확장된 vg확인
pvs                             // 추가한 pv의 상태확인(vg)

 

5) LV확장
VG확장으로 생긴 여유용량을 LV에 추가하여 LV를 확장시킨다

lvs                                           // 기존 lv확인 
vgs                                           // vg확인
lvextend -l +100%FREE /dev/stroage2/stroage2  // lv확장, 여유용량 100%를 /dev/vg/lv에 추가
lvs                                           // lv확인

 

6) 파일시스템 resize
LVM 파일시스템을 resize하여 확장된 LV용량을 적용시킨다

df -h                             // 서버용량 확인
resize2fs /dev/storage2/storage2  // 파일시스템 resize
df -h                             // 서버용량 확인


3. 참고

- LVM 개념 소개 및 관리 방법
https://hoing.io/archives/214#LVM-2
https://tech.hostway.co.kr/2022/06/13/1116/

- 리눅스 LVM 디스크 증설 방법
https://nirsa.tistory.com/232
https://moonoostar.tistory.com/84
https://lifegoesonme.tistory.com/450
https://zunoxi.tistory.com/126

'OS > Linux' 카테고리의 다른 글

[Ubuntu] 스왑Swap 메모리 설정  (0) 2025.02.04

+ Recent posts