RHEL 9 SWAP 확장

 

[Prolog]

RHEL 9 에서 SWAP 메모리를 확장하는 방법에 대해 설명합니다. SWAP 메모리는 메모리가 부족할 때 디스크를 메모리처럼 사용하는 영역입니다. 물리 메모리 증설이 불가한 상황에서 메모리 여유 공간이 부족하다면 프로세스 동작에 문제가 있을 수 있기 때문에 SWAP 메모리 확장을 통해 문제를 해결할 수 있습니다.

본문에서는 아래와 같은 3가지 방법으로 진행합니다.

  1. 파티션으로 확장
  2. LV 으로 확장
  3. Swapfile 로 확장

 

 

  1. 파티션으로 확장

기존 사용하던 디스크에 새로운 파티션을 생성해 사용할 수 있거나, 디스크를 새로 하나 장착하여 사용할 경우에 해당하는 방법입니다. 아래 설명에서는 디스크를 새로 하나 장착하여 진행합니다.

 

 

1.1. 디스크 추가 및 파티션 설정

 

디스크를 새로 하나 장착합니다.(/dev/sdg)
# lsblk

 

파티션을 설정합니다.(Hex code : 82 Linux swap)
# fdisk /dev/sdg

 

# lsblk

 

 

1.2. mkswap(swap 영역으로 셋업)

 

확장 전 swap 크기를 확인합니다.

# free -m
swap 2G

 

Swap 으로 사용할 파티션을 swap 영역으로 셋업합니다.

# mkswap /dev/sdg1

 

셋업한 swap 영역을 활성화시킵니다. 활성화를 시켜야 swap 확장이 완료됩니다.

# swapon /dev/sdg1

 

확장 후 swap 크기를 확인합니다.

# free -m
swap 2G -> 7G(2G + 5G)

 

 

1.3. /etc/fstab 등록

 

재부팅 후에도 /dev/sg1 파티션이 swap 영역으로 잡힐 수 있게 /etc/fstab 에 등록합니다.

# vi /etc/fstab

 

 

  1. LV 으로 확장

SWAP 을 LVM 으로 관리하는 경우에 기존 사용하던 VG 의 여유 용량이 있거나, 디스크를 새로 하나 장착하여 VG 를 확장한 후 기존 swap LV 를 확장하는 경우에 해당하는 방법입니다.
아래 설명에서는 디스크를 새로 하나 장착하고 VG 를 확장한 후 기존 swap LV 를 확장하여 진행합니다.

 

2.1. VG 확장, LV 확장

 

VG 를 확장 한 후 swap LV 를 확장합니다. (디스크 추가, 파티션 설정 부분은 설명 생략 – /dev/sdh)

확장하기에 앞서 기존 정보를 확인합니다.
확장할 VG : rhel
# vgs

 

확장할 LV : swap
# lvs

 

PV 를 생성합니다.
# pvcreate /dev/sdh1

 

VG 를 확장합니다.
# vgextend rhel /dev/sdh1

 

VG 확장 후 여유 공간을 확인합니다.
# vgs

 

Swap LV 를 확장합니다.
2G -> 7G(2G + 5G)
# lvextend -l +100%FREE /dev/rhel/swap

 

LV 확장 후 용량을 확인합니다.
# lvs

 

 

2.2. mkswap(swap 영역 다시 셋업)

 

확장 전 swap 크기를 확인합니다.
# free -m
swap 7G => “1. 파티션으로 확장” 이 후

확장한 LV 를 swap 영역으로 다시 셋업하기 전 swap 을 비활성화해야 합니다.
※ 주의할 점은 swap 을 비활성화 할 때, swap 영역을 사용하고 있던 용량만큼 메모리 공간이 있어야 합니다.
# swapoff /dev/rhel/swap

 

확장한 LV 를 swap 영역으로 다시 셋업합니다.
# mkswap /dev/rhel/swap

 

다시 셋업한 swap 영역을 활성화시킵니다. 활성화를 시켜야 swap 확장이 완료됩니다.
# swapon /dev/rhel/swap

 

확장 후 swap 크기를 확인합니다.
# free -m
7G -> 12G(7G  + 5G)

 

 

  1. Swap file 로 확장

Swap file 을 생성하여 swap 을 확장하는 경우에 해당하는 방법입니다.
아래 설명은 디스크를 새로 하나 장착하고 임의의 디렉토리에 마운트한 후, swapfile 을 생성하여 swap 을 확장합니다.

 

 

3.1. Swap file 생성

 

마운트한 디렉토리로 이동 후 swapfile 을 생성합니다. (디스크 추가, 마운트 부분 설명 생략 – /dev/sdi)
# cd /newswap
# dd if=/dev/zero of=/swapfile bs=1M count=5120
1MB 데이터 블록을 5120개 복사하여 5G 데이터를 처리

 

 

3.2. mkswap(swap 영역으로 셋업)

 

확장 전 swap 크기를 확인합니다.
# free -m
swap 12G => “2. LV 으로 확장” 이 후

 

swap 영역으로 셋업합니다.
# mkswap /swapfile

 

Swapfile 권한을 수정해줍니다.
# chmod 0600 /swapfile

 

셋업한 swap 영역을 활성화시킵니다. 활성화를 시켜야 swap 확장이 완료됩니다.
# swapon /swapfile

 

확장 후 swap 크기를 확인합니다.
# free -m
12G -> 17G(12G + 5G)
rhel

 

 

3.3. /etc/fstab 등록

 

재부팅 후에도 /swapfile 로 swap 영역이 잡힐 수 있게 /etc/fstab 에 등록합니다.
# vi /etc/fstab
swap

 

 

  1. 의견

메모리를 사용하는 것보다 디스크에 접근을 해야하기 때문에 성능적인 부분에서 약간 떨어질 수 있지만 시스템을 안정적으로 운영하기 위해 swap 확장은 충분히 고려할 수 있는 부분이라고 생각됩니다. 여러 Swap 확장 방법을 시스템에 설정된 swap 환경을 고려해서 적용하는 것이 중요할 것 같습니다.

 

 

자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의:  info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr

 

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다