Skip to content

LVM을 사용한 swap 공간 할당 방법

chargpt / LVM 스왑공간 대화를 참고하세요

[!question] arch linux를 설치하는데 생각해보니 생각해보니 스왑공간을 위한 파티션을 생성을 안했어! 파티션을 새로 만들어야 할까, 아니면 이미 존재하는 LVM의 일정 부분을 스왑영역으로 할당해주어야 할까?

Arch Linux에서 스왑 공간을 설정하는 방법은 여러 가지가 있습니다. 이미 LVM(Logical Volume Manager)을 사용 중이라면, 새로운 파티션을 생성하지 않고 기존 LVM 내에서 스왑 공간을 할당하는 것이 더 효율적일 수 있습니다. 이 방식은 디스크 파티셔닝을 다시 할 필요가 없기 때문에 간편하며, 기존 볼륨을 재구성하는 데 적합합니다. LVM 내에서 스왑을 설정하는 방법은 다음과 같습니다:

LVM을 사용한 스왑 공간 할당 방법#

  1. 스왑용 LVM 논리 볼륨 생성
    먼저, LVM 내에서 스왑 공간을 위한 논리 볼륨을 생성합니다. 다음 명령을 사용하여 원하는 크기의 스왑 공간을 할당할 수 있습니다 (예: 2GB):
lvcreate -L 2G -n swap <볼륨그룹이름>
  1. 스왑 공간 형식화
    생성된 논리 볼륨을 스왑 공간으로 포맷합니다:
mkswap /dev/<볼륨그룹이름>/swap
  1. 스왑 활성화
    스왑 공간을 활성화합니다:
swapon /dev/<볼륨그룹이름>/swap
  1. /etc/fstab에 추가
    스왑 공간이 부팅 시 자동으로 활성화되도록 /etc/fstab 파일에 아래 내용을 추가합니다:
/dev/<볼륨그룹이름>/swap none swap defaults 0 0

스왑 파일을 사용하는 대안 방법#

만약 새로운 파티션을 만들거나 LVM을 건드리고 싶지 않다면, 스왑 파일을 만들어 사용할 수도 있습니다. 스왑 파일을 설정하는 과정은 다음과 같습니다:

  1. 스왑 파일 생성
    예를 들어, 2GB 크기의 스왑 파일을 생성합니다:
fallocate -l 2G /swapfile

또는 fallocate 명령을 지원하지 않는 시스템에서는 다음 명령을 사용할 수 있습니다:

dd if=/dev/zero of=/swapfile bs=1M count=2048
  1. 파일 권한 설정
    보안을 위해 스왑 파일의 권한을 제한합니다:
chmod 600 /swapfile
  1. 스왑 파일 형식화
    스왑 파일을 스왑 영역으로 포맷합니다:
mkswap /swapfile
  1. 스왑 활성화
    스왑 파일을 활성화합니다:
swapon /swapfile
  1. /etc/fstab에 추가
    스왑 파일이 부팅 시 자동으로 활성화되도록 /etc/fstab 파일에 아래 내용을 추가합니다:
/swapfile none swap defaults 0 0

결론:#

  • LVM을 이미 사용하고 있다면, 논리 볼륨을 활용하여 스왑 공간을 만드는 것이 더 효율적입니다.
  • 별도의 파티션을 만들 필요는 없으며, LVM 논리 볼륨 또는 스왑 파일을 사용하는 두 가지 방법 중 선택할 수 있습니다.

LVM을 사용한 방법이 성능 면에서 더 좋을 수 있지만, 스왑 파일을 사용하는 방법은 설정이 더 간단하고 유연합니다.

[!question] 내가 genfstab 명령어를 사용하여 자동으로 fstab 파일을 만들었는데, 그 결과물이 아래와 같아. 옳게 된 건지 확인해줘:

# /dev/mapper/volgroup0-lv_swap
UUID=e2ea3171-27e6-46d5-9c12-fab13226f1f1

당신이 제공한 fstab 항목은 스왑 파티션을 설정하기 위한 것으로 보이며, 대체로 옳게 구성된 것 같습니다. 하나씩 살펴보겠습니다:

UUID=e2ea3171-27e6-46d5-9c12-fab13226f1f1    none    swap    defaults    0 0
  • UUID=e2ea3171-27e6-46d5-9c12-fab13226f1f1: 스왑 파티션의 UUID가 지정되어 있습니다. 각 스토리지 장치와 파티션은 고유한 UUID를 가지고 있으며, 이를 통해 시스템이 부팅 시 해당 장치를 식별합니다.
  • none: 마운트 지점으로 none이 설정되어 있습니다. 이는 스왑 공간에는 마운트 지점이 필요 없다는 것을 의미합니다.
  • swap: 이 필드는 이 장치가 스왑으로 사용된다는 것을 나타냅니다.
  • defaults: 기본 마운트 옵션이 사용됩니다. 스왑 공간에는 특별한 마운트 옵션이 필요하지 않으므로 defaults로 설정해도 문제 없습니다.
  • 0 0: 마지막 두 필드는 덤프와 fsck 검사 옵션을 의미합니다. 스왑 파티션은 덤프 또는 파일 시스템 검사를 할 필요가 없기 때문에 두 값을 모두 0으로 설정하는 것이 맞습니다.

결론:#

  • fstab 항목은 정확하게 설정되어 있습니다. 스왑 영역이 부팅 시 자동으로 활성화되도록 설정되었습니다.

따라서, 문제 없이 올바르게 설정된 것으로 보입니다.